mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:47:45 +00:00
WindowServer+LibGUI: Plumb mouse/enter/leave events to applet windows
Since applet windows live in the applet area window, the AppletManager has to keep track of which applet is hovered and send the appropriate enter/leave events to the applet windows. This makes applet tooltips work again. :^)
This commit is contained in:
parent
9bbc1c9c93
commit
0cd60a28ba
9 changed files with 44 additions and 13 deletions
|
@ -599,7 +599,7 @@ Gfx::IntRect Widget::window_relative_rect() const
|
|||
Gfx::IntRect Widget::screen_relative_rect() const
|
||||
{
|
||||
auto window_position = window()->window_type() == WindowType::MenuApplet
|
||||
? window()->rect_in_menubar().location()
|
||||
? window()->applet_rect_on_screen().location()
|
||||
: window()->rect().location();
|
||||
return window_relative_rect().translated(window_position);
|
||||
}
|
||||
|
|
|
@ -235,10 +235,10 @@ String Window::title() const
|
|||
return WindowServerConnection::the().send_sync<Messages::WindowServer::GetWindowTitle>(m_window_id)->title();
|
||||
}
|
||||
|
||||
Gfx::IntRect Window::rect_in_menubar() const
|
||||
Gfx::IntRect Window::applet_rect_on_screen() const
|
||||
{
|
||||
VERIFY(m_window_type == WindowType::MenuApplet);
|
||||
return WindowServerConnection::the().send_sync<Messages::WindowServer::GetWindowRectInMenubar>(m_window_id)->rect();
|
||||
return WindowServerConnection::the().send_sync<Messages::WindowServer::GetAppletRectOnScreen>(m_window_id)->rect();
|
||||
}
|
||||
|
||||
Gfx::IntRect Window::rect() const
|
||||
|
|
|
@ -101,7 +101,7 @@ public:
|
|||
int height() const { return rect().height(); }
|
||||
|
||||
Gfx::IntRect rect() const;
|
||||
Gfx::IntRect rect_in_menubar() const;
|
||||
Gfx::IntRect applet_rect_on_screen() const;
|
||||
Gfx::IntSize size() const { return rect().size(); }
|
||||
void set_rect(const Gfx::IntRect&);
|
||||
void set_rect(int x, int y, int width, int height) { set_rect({ x, y, width, height }); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue