From cfe1c132cb042bc9a31ea660a0d49c6518ec6903 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 25 Oct 2020 15:30:37 +0100 Subject: [PATCH] WindowServer: Raise menu item icons slightly when hovered :^) Same effect as LibGUI toolbar buttons. --- Services/WindowServer/Menu.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Services/WindowServer/Menu.cpp b/Services/WindowServer/Menu.cpp index b2b2807cbe..5f1ae2eb01 100644 --- a/Services/WindowServer/Menu.cpp +++ b/Services/WindowServer/Menu.cpp @@ -246,6 +246,15 @@ void Menu::draw() } else if (item.icon()) { Gfx::IntRect icon_rect { item.rect().x() + 3, 0, s_item_icon_width, s_item_icon_width }; icon_rect.center_vertically_within(text_rect); + + if (&item == hovered_item() && item.is_enabled()) { + auto shadow_color = palette.threed_shadow1(); + shadow_color = palette.menu_selection().darkened(); + painter.blit_filtered(icon_rect.location(), *item.icon(), item.icon()->rect(), [&shadow_color](auto) { + return shadow_color; + }); + icon_rect.move_by(-1, -1); + } painter.blit(icon_rect.location(), *item.icon(), item.icon()->rect()); } auto& previous_font = painter.font();