Changeset 8965860c in mainline for uspace/lib/ui/src/window.c


Ignore:
Timestamp:
2022-03-23T18:35:16Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7ca7215
Parents:
d4ea1f6
Message:

Clickmatic

A class that periodically generates when held, after initial delay.
This is quite similar to the typematic feature found in PC keyboards.
We use it to automatically scroll when scrollbar button or through
is held.

File:
1 edited

Legend:

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

    rd4ea1f6 r8965860c  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2022 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    766766{
    767767        ui_window_t *window = (ui_window_t *) arg;
    768 
     768        ui_t *ui = window->ui;
     769
     770        ui_lock(ui);
    769771        ui_window_send_close(window);
     772        ui_unlock(ui);
    770773}
    771774
     
    774777{
    775778        ui_window_t *window = (ui_window_t *) arg;
     779
     780        ui_lock(window->ui);
    776781
    777782        if (window->wdecor != NULL) {
     
    781786
    782787        ui_window_send_focus(window);
     788        ui_unlock(window->ui);
    783789}
    784790
     
    788794        ui_window_t *window = (ui_window_t *) arg;
    789795
    790         (void) window;
     796        ui_lock(window->ui);
    791797        ui_window_send_kbd(window, kbd_event);
     798        ui_unlock(window->ui);
    792799}
    793800
     
    801808                return;
    802809
     810        ui_lock(window->ui);
    803811        ui_wdecor_pos_event(window->wdecor, event);
    804812        ui_window_send_pos(window, event);
     813        ui_unlock(window->ui);
    805814}
    806815
     
    817826                return;
    818827
     828        ui_lock(window->ui);
    819829        (void) ui_window_resize(window, rect);
    820830        (void) ui_window_paint(window);
     831        ui_unlock(window->ui);
    821832}
    822833
     
    825836{
    826837        ui_window_t *window = (ui_window_t *) arg;
     838
     839        ui_lock(window->ui);
    827840
    828841        if (window->wdecor != NULL) {
     
    832845
    833846        ui_window_send_unfocus(window);
     847        ui_unlock(window->ui);
    834848}
    835849
Note: See TracChangeset for help on using the changeset viewer.