From 03c91fce743e2046905a24c6c801470a8c255626 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 8 May 2020 21:11:23 +0200 Subject: [PATCH] LibGUI: Highlight interactive area of hovered CheckBox and RadioButton This is consistent what we do for regular Buttons and gives a pleasant visual cue when you're over a clickable area. --- Libraries/LibGUI/CheckBox.cpp | 3 +++ Libraries/LibGUI/RadioButton.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/Libraries/LibGUI/CheckBox.cpp b/Libraries/LibGUI/CheckBox.cpp index ac17312354..4917be86d3 100644 --- a/Libraries/LibGUI/CheckBox.cpp +++ b/Libraries/LibGUI/CheckBox.cpp @@ -75,6 +75,9 @@ void CheckBox::paint_event(PaintEvent& event) if (fill_with_background_color()) painter.fill_rect(rect(), palette().window()); + if (is_enabled() && is_hovered()) + painter.fill_rect(rect(), palette().hover_highlight()); + Gfx::Rect box_rect { 0, height() / 2 - s_box_height / 2 - 1, s_box_width, s_box_height diff --git a/Libraries/LibGUI/RadioButton.cpp b/Libraries/LibGUI/RadioButton.cpp index 8d00f8105f..ce0ec5127c 100644 --- a/Libraries/LibGUI/RadioButton.cpp +++ b/Libraries/LibGUI/RadioButton.cpp @@ -52,6 +52,12 @@ void RadioButton::paint_event(PaintEvent& event) Painter painter(*this); painter.add_clip_rect(event.rect()); + if (fill_with_background_color()) + painter.fill_rect(rect(), palette().window()); + + if (is_enabled() && is_hovered()) + painter.fill_rect(rect(), palette().hover_highlight()); + Gfx::Rect circle_rect { { 2, 0 }, circle_size() }; circle_rect.center_vertically_within(rect());