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
+66 -35

No files matched your search

+38 -18
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):
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
(self.data,
self.bpp,
self.size_line,
self.endian) = self.mlx.mlx_get_data_addr(self.img_ptr)
# afficher image
mlx.mlx_put_image_to_window(mlx_ptr, win_ptr, img_ptr, 0, 0)
for y in range(300):
for x in range(800):
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
mlx.mlx_loop(mlx_ptr)
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
# 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)