Mercurial > molko
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); |