summaryrefslogtreecommitdiff
path: root/Userland/Libraries
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-03-30 23:30:50 +0200
committerAndreas Kling <kling@serenityos.org>2021-03-30 23:43:24 +0200
commit0cd60a28ba0496e829f00b1e9f6d0c4052c637f4 (patch)
tree7c6d592cd953d0b963bd0ebeffdd58c320e57c3c /Userland/Libraries
parent9bbc1c9c930157ba89eb0c3554a67bf4bd6fe7cb (diff)
downloadserenity-0cd60a28ba0496e829f00b1e9f6d0c4052c637f4.zip
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. :^)
Diffstat (limited to 'Userland/Libraries')
-rw-r--r--Userland/Libraries/LibGUI/Widget.cpp2
-rw-r--r--Userland/Libraries/LibGUI/Window.cpp4
-rw-r--r--Userland/Libraries/LibGUI/Window.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/Userland/Libraries/LibGUI/Widget.cpp b/Userland/Libraries/LibGUI/Widget.cpp
index 86bf5c8b9f..0a4b406949 100644
--- a/Userland/Libraries/LibGUI/Widget.cpp
+++ b/Userland/Libraries/LibGUI/Widget.cpp
@@ -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);
}
diff --git a/Userland/Libraries/LibGUI/Window.cpp b/Userland/Libraries/LibGUI/Window.cpp
index 23332112b1..e0ddab3d25 100644
--- a/Userland/Libraries/LibGUI/Window.cpp
+++ b/Userland/Libraries/LibGUI/Window.cpp
@@ -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
diff --git a/Userland/Libraries/LibGUI/Window.h b/Userland/Libraries/LibGUI/Window.h
index 306788d8e7..06bea7ef55 100644
--- a/Userland/Libraries/LibGUI/Window.h
+++ b/Userland/Libraries/LibGUI/Window.h
@@ -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 }); }