Changeset cd62879 in mainline for uspace/lib/ui/src/menu.c
- Timestamp:
- 2021-04-01T16:23:35Z (4 years ago)
- Children:
- 379cd75f
- Parents:
- bfb055b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/src/menu.c
rbfb055b rcd62879 292 292 * @param menu Menu 293 293 * @param spos Starting position (top-left corner) 294 * @param ppos Press position 295 */ 296 void ui_menu_press(ui_menu_t *menu, gfx_coord2_t *spos, gfx_coord2_t *ppos) 294 * @param event Position event 295 * @return ui_claimed iff the event was claimed 296 */ 297 ui_evclaim_t ui_menu_pos_event(ui_menu_t *menu, gfx_coord2_t *spos, 298 pos_event_t *event) 297 299 { 298 300 ui_menu_geom_t geom; 299 301 ui_menu_entry_t *mentry; 300 302 gfx_coord2_t pos; 303 gfx_coord2_t epos; 304 ui_evclaim_t claimed; 301 305 302 306 ui_menu_get_geom(menu, spos, &geom); 307 epos.x = event->hpos; 308 epos.y = event->vpos; 303 309 304 310 pos = geom.entries_rect.p0; … … 306 312 mentry = ui_menu_entry_first(menu); 307 313 while (mentry != NULL) { 308 ui_menu_entry_press(mentry, &pos, ppos); 314 claimed = ui_menu_entry_pos_event(mentry, &pos, event); 315 if (claimed == ui_claimed) 316 return ui_claimed; 309 317 310 318 pos.y += ui_menu_entry_height(mentry); 311 319 mentry = ui_menu_entry_next(mentry); 312 320 } 321 322 if (gfx_pix_inside_rect(&epos, &geom.outer_rect)) 323 return ui_claimed; 324 325 return ui_unclaimed; 313 326 } 314 327
Note:
See TracChangeset
for help on using the changeset viewer.