Mercurial > molko
comparison libmlk-ui/mlk/ui/gridmenu.c @ 450:b26dd49f69ff
core: event -> mlk_event (and friends)
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 18 Feb 2023 13:37:11 +0100 |
parents | 773a082f0b91 |
children | c4f31658104d |
comparison
equal
deleted
inserted
replaced
449:f2f0e73ea9da | 450:b26dd49f69ff |
---|---|
152 } | 152 } |
153 } | 153 } |
154 } | 154 } |
155 | 155 |
156 static int | 156 static int |
157 handle_keydown(struct gridmenu *menu, const struct event_key *key) | 157 handle_keydown(struct gridmenu *menu, const struct mlk_event_key *key) |
158 { | 158 { |
159 assert(key->type == EVENT_KEYDOWN); | 159 assert(key->type == MLK_EVENT_KEYDOWN); |
160 | 160 |
161 const struct index idx = get_index(menu); | 161 const struct index idx = get_index(menu); |
162 int validate = 0; | 162 int validate = 0; |
163 | 163 |
164 switch (key->key) { | 164 switch (key->key) { |
165 case KEY_UP: | 165 case MLK_KEY_UP: |
166 if (idx.row > 0) | 166 if (idx.row > 0) |
167 menu->selected -= menu->ncols; | 167 menu->selected -= menu->ncols; |
168 break; | 168 break; |
169 case KEY_RIGHT: | 169 case MLK_KEY_RIGHT: |
170 if (menu->selected + 1U < menu->itemsz) | 170 if (menu->selected + 1U < menu->itemsz) |
171 menu->selected += 1; | 171 menu->selected += 1; |
172 break; | 172 break; |
173 case KEY_DOWN: | 173 case MLK_KEY_DOWN: |
174 if (idx.row + 1U < menu->itemsz / menu->ncols) | 174 if (idx.row + 1U < menu->itemsz / menu->ncols) |
175 menu->selected += menu->ncols; | 175 menu->selected += menu->ncols; |
176 else | 176 else |
177 menu->selected = menu->itemsz - 1; | 177 menu->selected = menu->itemsz - 1; |
178 break; | 178 break; |
179 case KEY_LEFT: | 179 case MLK_KEY_LEFT: |
180 if (idx.col > 0) | 180 if (idx.col > 0) |
181 menu->selected -= 1; | 181 menu->selected -= 1; |
182 break; | 182 break; |
183 case KEY_ENTER: | 183 case MLK_KEY_ENTER: |
184 validate = 1; | 184 validate = 1; |
185 break; | 185 break; |
186 default: | 186 default: |
187 break; | 187 break; |
188 } | 188 } |
189 | 189 |
190 return validate; | 190 return validate; |
191 } | 191 } |
192 | 192 |
193 static int | 193 static int |
194 handle_clickdown(struct gridmenu *menu, const struct event_click *click) | 194 handle_clickdown(struct gridmenu *menu, const struct mlk_event_click *click) |
195 { | 195 { |
196 assert(click->type == EVENT_CLICKDOWN); | 196 assert(click->type == MLK_EVENT_CLICKDOWN); |
197 | 197 |
198 const struct theme *theme = THEME(menu); | 198 const struct theme *theme = THEME(menu); |
199 size_t pagesz, pagenr, selected, c = 0, r = 0; | 199 size_t pagesz, pagenr, selected, c = 0, r = 0; |
200 int x, y; | 200 int x, y; |
201 | 201 |
256 | 256 |
257 geometry(menu); | 257 geometry(menu); |
258 } | 258 } |
259 | 259 |
260 int | 260 int |
261 gridmenu_handle(struct gridmenu *menu, const union event *ev) | 261 gridmenu_handle(struct gridmenu *menu, const union mlk_event *ev) |
262 { | 262 { |
263 assert(menu); | 263 assert(menu); |
264 assert(ev); | 264 assert(ev); |
265 | 265 |
266 switch (ev->type) { | 266 switch (ev->type) { |
267 case EVENT_KEYDOWN: | 267 case MLK_EVENT_KEYDOWN: |
268 return handle_keydown(menu, &ev->key); | 268 return handle_keydown(menu, &ev->key); |
269 break; | 269 break; |
270 case EVENT_CLICKDOWN: | 270 case MLK_EVENT_CLICKDOWN: |
271 return handle_clickdown(menu, &ev->click); | 271 return handle_clickdown(menu, &ev->click); |
272 break; | 272 break; |
273 default: | 273 default: |
274 break; | 274 break; |
275 } | 275 } |