starting to understand mlx

This commit is contained in:
Maoake Teriierooiterai committed 2026-03-27 13:46:31 +01:00
1 parent 30e48ece22
commit aa4f454bb4
4 files changed
+65 -34

No files matched your search

+2
View File
@@ -31,3 +31,5 @@ run_test_maze_gen:
PYTHONPATH=src uv run pytest tests/test_MazeGenerator.py
run_test:
uv run pytest
mlx:
uv run python3 test_mlx.py
+4 -4
View File
@@ -1,8 +1,8 @@
WIDTH=11
HEIGHT=11
ENTRY=4,3
WIDTH=20
HEIGHT=20
ENTRY=2,3
EXIT=2,1
OUTPUT_FILE=maze.txt
PERFECT=False
PERFECT=True
GENERATOR=DFS
SOLVER=AStar
+22 -13
View File
@@ -1,15 +1,24 @@
BD1553D3913
C3AD54386AA
BAC5396C7AA
82956C5396E
A86D553AC53
C295552C512
9283B9693AA
AAAAC456AAA
AC2C553D2C2
83C3D3C3E96
C454547C547
D39513D55513953913D3
96E96C55396AC3EAAC3A
AD16D13BAC3C3C5683C6
C5693AAAC383C553AA93
953AAAC696EC13BAEC2A
AD46C2956913AA8693AA
83D156A93AAAEAC56AAA
AC3C57AEC6AC56957AEA
87C3956F956FFF853C52
A956C53FC5157FABC556
AC5517AFFFAFFFC43D13
E953C3A93FAFD513C56A
96BC52AAAFAFFFAC513A
83C556C6AD4395693EC2
AC539393C53A857AC53A
AB92AAAC556AE954796A
AAAAAC6B9156947956BA
C2AEA9546C55693A9786
96C56C5555793AC6A96B
C55555555556C6D54456
4,3
2,3
2,1
EENWWNNEEESESWSEESSEEESSSSWSWWNWNWWWNNWSSSESWWNWNNNENNNNNW
NEESWSWSWWNN
+37 -17
View File
@@ -1,26 +1,46 @@
from mlx import Mlx
mlx = Mlx()
mlx_ptr = mlx.mlx_init()
win_ptr = mlx.mlx_new_window(mlx_ptr, 800, 600, "Image")
class App:
def __init__(self):
self.mlx = Mlx()
# créer image
img_ptr = mlx.mlx_new_image(mlx_ptr, 800, 600)
self.mlx_ptr = self.mlx.mlx_init()
self.win_ptr = self.mlx.mlx_new_window(self.mlx_ptr, 800, 600, "Image")
# récupérer buffer
data, bpp, size_line, endian = mlx.mlx_get_data_addr(img_ptr)
self.img_ptr = self.mlx.mlx_new_image(self.mlx_ptr, 800, 600)
# dessiner dans le buffer
for y in range(600):
(self.data,
self.bpp,
self.size_line,
self.endian) = self.mlx.mlx_get_data_addr(self.img_ptr)
for y in range(300):
for x in range(800):
index = y * size_line + x * (bpp // 8)
data[index] = 0 # B
data[index + 1] = 0 # G
data[index + 2] = 255 # R
data[index + 3] = 0 # A
index = y * self.size_line + x * (self.bpp // 8)
self.data[index] = 255
self.data[index + 1] = 50
self.data[index + 2] = 120
self.data[index + 3] = 100
# afficher image
mlx.mlx_put_image_to_window(mlx_ptr, win_ptr, img_ptr, 0, 0)
for y in range(300, 600):
for x in range(800):
index = y * self.size_line + x * (self.bpp // 8)
self.data[index] = 150
self.data[index + 1] = 50
self.data[index + 2] = 120
self.data[index + 3] = 100
mlx.mlx_loop(mlx_ptr)
# Hook fermeture fenêtre
self.mlx.mlx_hook(self.win_ptr, 33, 0, self.close_window, self)
self.mlx.mlx_put_image_to_window(self.mlx_ptr, self.win_ptr,
self.img_ptr, 0, 0)
def close_window(self, poop):
print("Closing window")
self.mlx.mlx_loop_exit(self.mlx_ptr)
app = App()
app.mlx.mlx_loop(app.mlx_ptr)