Change the correct pointer's shape when resizing window
commitb0ae23fe23288a6b5e26debedde1069676c9544e
authorJiri Svoboda <jiri@wiwaxia>
Tue, 17 Jan 2023 18:21:02 +0000 (17 19:21 +0100)
committerJiri Svoboda <jiri@wiwaxia>
Tue, 17 Jan 2023 15:21:13 +0000 (17 16:21 +0100)
tree513d9f879d2d0747bd7ac5101f7a0d8185fb0aae
parent46a47c0ecde5eec9824d8b22b70d9238a2b3a58e
Change the correct pointer's shape when resizing window

The request to resize a window originates from the client. The display
server forces the cursor to a double-arrow shape regardless of whether
it is over the window or not, until the resize is done. This is to
make sure the cursor keeps that shape even if it moves outside of
the current boundaries of the window. With multiple pointers we need
to know which one to change. This is done by passing the pos_id from
button press event that starts the resize all the way to
ds_window_start_resize(). Then it needs to be stored in the window
structure for use when it is time to restore the cursor.
15 files changed:
uspace/lib/display/include/disp_srv.h
uspace/lib/display/include/display.h
uspace/lib/display/src/disp_srv.c
uspace/lib/display/src/display.c
uspace/lib/display/test/display.c
uspace/lib/ui/include/types/ui/wdecor.h
uspace/lib/ui/private/wdecor.h
uspace/lib/ui/src/wdecor.c
uspace/lib/ui/src/window.c
uspace/lib/ui/test/wdecor.c
uspace/srv/hid/display/dsops.c
uspace/srv/hid/display/test/window.c
uspace/srv/hid/display/types/display/window.h
uspace/srv/hid/display/window.c
uspace/srv/hid/display/window.h