Changeset faca61b8 in mainline for uspace/app/uidemo/uidemo.c


Ignore:
Timestamp:
2020-10-15T10:05:42Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8ef48ece
Parents:
4ed00d3
git-author:
Jiri Svoboda <jiri@…> (2020-10-14 19:05:34)
git-committer:
Jiri Svoboda <jiri@…> (2020-10-15 10:05:42)
Message:

Push button needs to handle position events itself

Also, release event should release the button regardless if it is
positioned inside or outside.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/uidemo/uidemo.c

    r4ed00d3 rfaca61b8  
    8181{
    8282        ui_demo_t *demo = (ui_demo_t *) arg;
    83         gfx_rect_t rect1;
    84         gfx_rect_t rect2;
    85         gfx_coord2_t pos;
    86 
    87         rect1.p0.x = 20;
    88         rect1.p0.y = 50;
    89         rect1.p1.x = 100;
    90         rect1.p1.y = 80;
    91 
    92         rect2.p0.x = 120;
    93         rect2.p0.y = 50;
    94         rect2.p1.x = 200;
    95         rect2.p1.y = 80;
    96 
    97         pos.x = event->hpos;
    98         pos.y = event->vpos;
    99 
    100         if (event->type == POS_PRESS) {
    101                 printf("Button press\n");
    102 
    103                 if (gfx_pix_inside_rect(&pos, &rect1)) {
    104                         printf("Press button 1\n");
    105                         ui_pbutton_press(demo->pb1);
    106                         (void) ui_pbutton_paint(demo->pb1);
    107                 }
    108                 if (gfx_pix_inside_rect(&pos, &rect2)) {
    109                         printf("Press button 2\n");
    110                         ui_pbutton_press(demo->pb2);
    111                         (void) ui_pbutton_paint(demo->pb2);
    112                 }
    113         }
    114 
    115         if (event->type == POS_RELEASE) {
    116                 printf("Button release\n");
    117                 if (gfx_pix_inside_rect(&pos, &rect1)) {
    118                         printf("Release button 1\n");
    119                         ui_pbutton_release(demo->pb1);
    120                         (void) ui_pbutton_paint(demo->pb1);
    121                 }
    122                 if (gfx_pix_inside_rect(&pos, &rect2)) {
    123                         printf("Release button 2\n");
    124                         ui_pbutton_release(demo->pb2);
    125                         (void) ui_pbutton_paint(demo->pb2);
    126                 }
    127         }
     83
     84        ui_pbutton_pos_event(demo->pb1, event);
     85        ui_pbutton_pos_event(demo->pb2, event);
    12886}
    12987
Note: See TracChangeset for help on using the changeset viewer.