Changeset d92b8e8f in mainline for uspace/lib/ui/src


Ignore:
Timestamp:
2024-03-04T14:12:26Z (16 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
e229148
Parents:
ee3b28a9
git-author:
Jiri Svoboda <jiri@…> (2024-03-03 18:12:02)
git-committer:
Jiri Svoboda <jiri@…> (2024-03-04 14:12:26)
Message:

Start menu support for passing input device ID (multiseat)

Location:
uspace/lib/ui/src
Files:
2 edited

Legend:

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

    ree3b28a9 rd92b8e8f  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    578578        ui_menu_t *menu = (ui_menu_t *)arg;
    579579
     580        menu->idev_id = ui_popup_get_idev_id(menu->popup);
    580581        ui_menu_kbd_event(menu, event);
    581582}
     
    592593        gfx_coord2_t spos;
    593594
     595        menu->idev_id = ui_popup_get_idev_id(menu->popup);
     596
    594597        spos.x = 0;
    595598        spos.y = 0;
     
    641644}
    642645
     646/** Get ID of last device that input event.
     647 *
     648 * @param menu Menu
     649 * @return Input device ID
     650 */
     651sysarg_t ui_menu_get_idev_id(ui_menu_t *menu)
     652{
     653        return menu->idev_id;
     654}
     655
    643656/** @}
    644657 */
  • uspace/lib/ui/src/popup.c

    ree3b28a9 rd92b8e8f  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    190190}
    191191
     192/** Get ID of device that sent the last position event.
     193 *
     194 * @param popup Popup window
     195 * @return Input device ID
     196 */
     197sysarg_t ui_popup_get_idev_id(ui_popup_t *popup)
     198{
     199        return popup->idev_id;
     200}
     201
    192202/** Handle close event in popup window.
    193203 *
     
    214224        ui_popup_t *popup = (ui_popup_t *)arg;
    215225
     226        /* Remember ID of device that sent the last event */
     227        popup->idev_id = event->kbd_id;
     228
    216229        if (popup->cb != NULL && popup->cb->kbd != NULL)
    217230                popup->cb->kbd(popup, popup->arg, event);
     
    229242        ui_popup_t *popup = (ui_popup_t *)arg;
    230243
     244        /* Remember ID of device that sent the last event */
     245        popup->idev_id = event->pos_id;
     246
    231247        if (popup->cb != NULL && popup->cb->pos != NULL)
    232248                popup->cb->pos(popup, popup->arg, event);
Note: See TracChangeset for help on using the changeset viewer.