Changeset cd62879 in mainline for uspace/lib/ui/src/menubar.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/menubar.c
rbfb055b rcd62879 267 267 * 268 268 * @param mbar Menu bar 269 * @param p pos Press position269 * @param pos_event Position event 270 270 * @return @c ui_claimed iff the event is claimed 271 271 */ 272 static ui_evclaim_t ui_menu_bar_press(ui_menu_bar_t *mbar, gfx_coord2_t *ppos)272 ui_evclaim_t ui_menu_bar_pos_event(ui_menu_bar_t *mbar, pos_event_t *event) 273 273 { 274 274 gfx_coord2_t pos; … … 279 279 gfx_coord_t width; 280 280 gfx_coord_t hpad; 281 gfx_coord2_t ppos; 282 ui_evclaim_t claimed; 283 284 ppos.x = event->hpos; 285 ppos.y = event->vpos; 281 286 282 287 if (mbar->res->textmode) { … … 298 303 299 304 /* Check if press is inside menu bar entry */ 300 if (gfx_pix_inside_rect(ppos, &rect)) { 305 if (event->type == POS_PRESS && 306 gfx_pix_inside_rect(&ppos, &rect)) { 301 307 ui_menu_bar_select(mbar, &pos, menu); 302 308 return ui_claimed; … … 310 316 ui_menu_get_rect(menu, &spos, &rect); 311 317 312 /* Check if press is inside open menu */ 313 if (gfx_pix_inside_rect(ppos, &rect)) { 314 ui_menu_press(menu, &spos, ppos); 318 claimed = ui_menu_pos_event(menu, &spos, event); 319 if (claimed == ui_claimed) 315 320 return ui_claimed; 316 }317 321 } 318 322 319 323 pos.x += width; 320 324 menu = ui_menu_next(menu); 321 }322 323 return ui_unclaimed;324 }325 326 /** Handle menu bar position event.327 *328 * @param mbar Menu bar329 * @param pos_event Position event330 * @return @c ui_claimed iff the event is claimed331 */332 ui_evclaim_t ui_menu_bar_pos_event(ui_menu_bar_t *mbar, pos_event_t *event)333 {334 gfx_coord2_t pos;335 336 pos.x = event->hpos;337 pos.y = event->vpos;338 339 switch (event->type) {340 case POS_PRESS:341 return ui_menu_bar_press(mbar, &pos);342 default:343 break;344 325 } 345 326
Note:
See TracChangeset
for help on using the changeset viewer.