Browse Source

LibGUI: Brighten buttons when hovering over them :^)

Andreas Kling 5 years ago
parent
commit
add93bf593
1 changed files with 7 additions and 3 deletions
  1. 7 3
      Libraries/LibGUI/Button.cpp

+ 7 - 3
Libraries/LibGUI/Button.cpp

@@ -64,10 +64,14 @@ void Button::paint_event(PaintEvent& event)
     if (is_being_pressed() || is_checked())
     if (is_being_pressed() || is_checked())
         painter.translate(1, 1);
         painter.translate(1, 1);
     if (m_icon) {
     if (m_icon) {
-        if (is_enabled())
-            painter.blit(icon_location, *m_icon, m_icon->rect());
-        else
+        if (is_enabled()) {
+            if (is_hovered())
+                painter.blit_brightened(icon_location, *m_icon, m_icon->rect());
+            else
+                painter.blit(icon_location, *m_icon, m_icon->rect());
+        } else {
             painter.blit_dimmed(icon_location, *m_icon, m_icon->rect());
             painter.blit_dimmed(icon_location, *m_icon, m_icon->rect());
+        }
     }
     }
     auto& font = is_checked() ? Gfx::Font::default_bold_font() : this->font();
     auto& font = is_checked() ? Gfx::Font::default_bold_font() : this->font();
     if (m_icon && !text().is_empty()) {
     if (m_icon && !text().is_empty()) {