mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:27:35 +00:00
WindowServer+LibGUI: Handle mouse wheel deltas in the mouse event stream.
The wheel events will end up in GWidget::mousewheel_event(GMouseEvent&) on the client-side. This patch also implements basic wheel scrolling in GScrollableWidget via this mechanism. :^)
This commit is contained in:
parent
dae8eb6454
commit
dab9901235
13 changed files with 58 additions and 25 deletions
|
@ -95,6 +95,7 @@ void WSWindow::handle_mouse_event(const WSMouseEvent& event)
|
|||
case WSEvent::MouseMove: server_message.type = WSAPI_ServerMessage::Type::MouseMove; break;
|
||||
case WSEvent::MouseDown: server_message.type = WSAPI_ServerMessage::Type::MouseDown; break;
|
||||
case WSEvent::MouseUp: server_message.type = WSAPI_ServerMessage::Type::MouseUp; break;
|
||||
case WSEvent::MouseWheel: server_message.type = WSAPI_ServerMessage::Type::MouseWheel; break;
|
||||
default: ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
|
@ -102,6 +103,7 @@ void WSWindow::handle_mouse_event(const WSMouseEvent& event)
|
|||
server_message.mouse.button = to_api(event.button());
|
||||
server_message.mouse.buttons = event.buttons();
|
||||
server_message.mouse.modifiers = event.modifiers();
|
||||
server_message.mouse.wheel_delta = event.wheel_delta();
|
||||
|
||||
m_client->post_message(server_message);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue