Changeset 282c86d in mainline for uspace/lib/ui/src/entry.c


Ignore:
Timestamp:
2021-07-21T16:12:49Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a106037
Parents:
c9722c1
Message:

Selecting entry text by dragging the mouse

File:
1 edited

Legend:

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

    rc9722c1 r282c86d  
    767767                pos.y = event->vpos;
    768768
     769                /* Change cursor shape when pointer is entering/leaving */
    769770                if (gfx_pix_inside_rect(&pos, &entry->rect)) {
    770771                        if (!entry->pointer_inside) {
     
    780781                        }
    781782                }
     783
     784                if (entry->held) {
     785                        /*
     786                         * Selecting using mouse drag: Change pos,
     787                         * keep sel_start
     788                         */
     789                        entry->pos = ui_entry_find_pos(entry, &pos);
     790                        ui_entry_paint(entry);
     791                }
    782792        }
    783793
     
    787797
    788798                if (gfx_pix_inside_rect(&pos, &entry->rect)) {
     799                        /* Clicked inside - activate, set position */
     800                        entry->held = true;
    789801                        entry->pos = ui_entry_find_pos(entry, &pos);
    790802                        entry->sel_start = entry->pos;
     
    796808                        return ui_claimed;
    797809                } else {
     810                        /* Clicked outside - deactivate */
    798811                        ui_entry_deactivate(entry);
    799812                }
     813        }
     814
     815        if (event->type == POS_RELEASE) {
     816                entry->held = false;
    800817        }
    801818
Note: See TracChangeset for help on using the changeset viewer.