mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
WindowServer: Rename WSEvent subclasses WSFooEvent for consistency.
Add a WSWindowInvalidationEvent that carries a rect instead of having an awkward single-purpose rect in WSEvent. Flesh out WSKeyEvent a bit more.
This commit is contained in:
parent
aefbbeb3cb
commit
51595603bd
8 changed files with 72 additions and 81 deletions
|
@ -55,32 +55,36 @@ void WSWindow::event(WSEvent& event)
|
|||
switch (event.type()) {
|
||||
case WSEvent::Paint:
|
||||
gui_event.type = GUI_Event::Type::Paint;
|
||||
gui_event.paint.rect = static_cast<PaintEvent&>(event).rect();
|
||||
gui_event.paint.rect = static_cast<WSPaintEvent&>(event).rect();
|
||||
break;
|
||||
case WSEvent::MouseMove:
|
||||
gui_event.type = GUI_Event::Type::MouseMove;
|
||||
gui_event.mouse.position = static_cast<MouseEvent&>(event).position();
|
||||
gui_event.mouse.position = static_cast<WSMouseEvent&>(event).position();
|
||||
gui_event.mouse.button = GUI_MouseButton::NoButton;
|
||||
gui_event.mouse.buttons = static_cast<MouseEvent&>(event).buttons();
|
||||
gui_event.mouse.buttons = static_cast<WSMouseEvent&>(event).buttons();
|
||||
break;
|
||||
case WSEvent::MouseDown:
|
||||
gui_event.type = GUI_Event::Type::MouseDown;
|
||||
gui_event.mouse.position = static_cast<MouseEvent&>(event).position();
|
||||
gui_event.mouse.button = to_api(static_cast<MouseEvent&>(event).button());
|
||||
gui_event.mouse.buttons = static_cast<MouseEvent&>(event).buttons();
|
||||
gui_event.mouse.position = static_cast<WSMouseEvent&>(event).position();
|
||||
gui_event.mouse.button = to_api(static_cast<WSMouseEvent&>(event).button());
|
||||
gui_event.mouse.buttons = static_cast<WSMouseEvent&>(event).buttons();
|
||||
break;
|
||||
case WSEvent::MouseUp:
|
||||
gui_event.type = GUI_Event::Type::MouseUp;
|
||||
gui_event.mouse.position = static_cast<MouseEvent&>(event).position();
|
||||
gui_event.mouse.button = to_api(static_cast<MouseEvent&>(event).button());
|
||||
gui_event.mouse.buttons = static_cast<MouseEvent&>(event).buttons();
|
||||
gui_event.mouse.position = static_cast<WSMouseEvent&>(event).position();
|
||||
gui_event.mouse.button = to_api(static_cast<WSMouseEvent&>(event).button());
|
||||
gui_event.mouse.buttons = static_cast<WSMouseEvent&>(event).buttons();
|
||||
break;
|
||||
case WSEvent::KeyDown:
|
||||
gui_event.type = GUI_Event::Type::KeyDown;
|
||||
gui_event.key.character = static_cast<KeyEvent&>(event).text()[0];
|
||||
gui_event.key.character = static_cast<WSKeyEvent&>(event).character();
|
||||
gui_event.key.key = static_cast<WSKeyEvent&>(event).key();
|
||||
gui_event.key.alt = static_cast<WSKeyEvent&>(event).alt();
|
||||
gui_event.key.ctrl = static_cast<WSKeyEvent&>(event).ctrl();
|
||||
gui_event.key.shift = static_cast<WSKeyEvent&>(event).shift();
|
||||
break;
|
||||
case WSEvent::WM_Invalidate:
|
||||
WSWindowManager::the().invalidate(*this, event.rect());
|
||||
WSWindowManager::the().invalidate(*this, static_cast<WSWindowInvalidationEvent&>(event).rect());
|
||||
return;
|
||||
case WSEvent::WindowActivated:
|
||||
gui_event.type = GUI_Event::Type::WindowActivated;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue