Changeset a2f173b in mainline for uspace/lib/ui/src/pbutton.c


Ignore:
Timestamp:
2020-10-21T21:49:13Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
58a67050
Parents:
172188a
Message:

Improve close button event routing

Button event processing routine is the best place to determine whether
the event goes to the button or not. It can also 'grab' button release
events simply by claiming them.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/src/pbutton.c

    r172188a ra2f173b  
    350350 * @param pbutton Push button
    351351 * @param pos_event Position event
    352  */
    353 void ui_pbutton_pos_event(ui_pbutton_t *pbutton, pos_event_t *event)
     352 * @return @c ui_claimed iff the event is claimed
     353 */
     354ui_evclaim_t ui_pbutton_pos_event(ui_pbutton_t *pbutton, pos_event_t *event)
    354355{
    355356        gfx_coord2_t pos;
     
    363364        switch (event->type) {
    364365        case POS_PRESS:
    365                 if (inside)
     366                if (inside) {
    366367                        ui_pbutton_press(pbutton);
     368                        return ui_claimed;
     369                }
    367370                break;
    368371        case POS_RELEASE:
    369                 ui_pbutton_release(pbutton);
     372                if (pbutton->held) {
     373                        ui_pbutton_release(pbutton);
     374                        return ui_claimed;
     375                }
    370376                break;
    371377        case POS_UPDATE:
    372378                if (inside && !pbutton->inside) {
    373379                        ui_pbutton_enter(pbutton);
     380                        return ui_claimed;
    374381                } else if (!inside && pbutton->inside) {
    375382                        ui_pbutton_leave(pbutton);
     
    377384                break;
    378385        }
     386
     387        return ui_unclaimed;
    379388}
    380389
Note: See TracChangeset for help on using the changeset viewer.