comparison examples/example-gridmenu/example-gridmenu.c @ 492:c7b18475f640

ui: gridmenu -> mlk_gridmenu
author David Demelier <markand@malikania.fr>
date Tue, 28 Feb 2023 13:18:23 +0100
parents f2d3c5a97884
children 8d5a266a1774
comparison
equal deleted inserted replaced
491:734b598534c4 492:c7b18475f640
57 } 57 }
58 58
59 static void 59 static void
60 handle(struct mlk_state *st, const union mlk_event *ev) 60 handle(struct mlk_state *st, const union mlk_event *ev)
61 { 61 {
62 struct gridmenu *menu = st->data; 62 struct mlk_gridmenu *menu = st->data;
63 63
64 switch (ev->type) { 64 switch (ev->type) {
65 case MLK_EVENT_QUIT: 65 case MLK_EVENT_QUIT:
66 mlk_game_quit(); 66 mlk_game_quit();
67 break; 67 break;
68 default: 68 default:
69 if (gridmenu_handle(st->data, ev)) 69 if (mlk_gridmenu_handle(st->data, ev))
70 mlk_tracef("selected index: %zu (%s)", menu->selected, menu->items[menu->selected]); 70 mlk_tracef("selected index: %zu (%s)", menu->selected, menu->items[menu->selected]);
71 break; 71 break;
72 } 72 }
73 } 73 }
74 74
75 static void 75 static void
76 draw(struct mlk_state *st) 76 draw(struct mlk_state *st)
77 { 77 {
78 mlk_painter_set_color(0x4f8fbaff); 78 mlk_painter_set_color(0x4f8fbaff);
79 mlk_painter_clear(); 79 mlk_painter_clear();
80 gridmenu_draw(st->data); 80 mlk_gridmenu_draw(st->data);
81 mlk_painter_present(); 81 mlk_painter_present();
82 } 82 }
83 83
84 static void 84 static void
85 run(void) 85 run(void)
102 "Destruction", 102 "Destruction",
103 "Résurrection", 103 "Résurrection",
104 "Double tour" 104 "Double tour"
105 }; 105 };
106 106
107 struct gridmenu menu = {0}; 107 struct mlk_gridmenu menu = {0};
108 struct mlk_state state = { 108 struct mlk_state state = {
109 .data = &menu, 109 .data = &menu,
110 .handle = handle, 110 .handle = handle,
111 .draw = draw, 111 .draw = draw,
112 }; 112 };
113 113
114 gridmenu_init(&menu, 3, 2, items, MLK_UTIL_SIZE(items)); 114 mlk_gridmenu_init(&menu, 3, 2, items, MLK_UTIL_SIZE(items));
115 gridmenu_resize(&menu, 0, 0, 300, 100); 115 mlk_gridmenu_resize(&menu, 0, 0, 300, 100);
116 116
117 mlk_align(MLK_ALIGN_CENTER, &menu.x, &menu.y, menu.w, menu.h, 0, 0, mlk_window.w, mlk_window.h); 117 mlk_align(MLK_ALIGN_CENTER, &menu.x, &menu.y, menu.w, menu.h, 0, 0, mlk_window.w, mlk_window.h);
118 118
119 mlk_game_init(states, MLK_UTIL_SIZE(states)); 119 mlk_game_init(states, MLK_UTIL_SIZE(states));
120 mlk_game_push(&state); 120 mlk_game_push(&state);