mirror of
https://github.com/maoakeEnterprise/amazing.git
synced 2026-11-01 15:42:03 +01:00
starting to understand mlx
This commit is contained in:
1 parent
30e48ece22
commit
aa4f454bb4
4 files changed
+66
-35
No files matched your search
+38
-18
@@ -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)
|
||||
Reference in new issue
Block a user