summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGfx/ClassicStylePainter.cpp
diff options
context:
space:
mode:
authorthankyouverycool <66646555+thankyouverycool@users.noreply.github.com>2022-01-24 14:22:02 -0500
committerAndreas Kling <kling@serenityos.org>2022-01-26 23:19:54 +0100
commitf77ac3a73cfc07fc6fda5f9493f4a1ac41426449 (patch)
treebc9e0f766d43d7515828d68a1b5a963070573df5 /Userland/Libraries/LibGfx/ClassicStylePainter.cpp
parentaefe3ef539dbdddcbe5d3a74ffb7c2b53b469027 (diff)
downloadserenity-f77ac3a73cfc07fc6fda5f9493f4a1ac41426449.zip
LibGUI: Allow Buttons to set themselves as default
Several apps were implementing this behavior ad hoc. This provides a standard API as well as a comfy visual cue for default return key behavior.
Diffstat (limited to 'Userland/Libraries/LibGfx/ClassicStylePainter.cpp')
-rw-r--r--Userland/Libraries/LibGfx/ClassicStylePainter.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Userland/Libraries/LibGfx/ClassicStylePainter.cpp b/Userland/Libraries/LibGfx/ClassicStylePainter.cpp
index 28a03ee78d..557e784acc 100644
--- a/Userland/Libraries/LibGfx/ClassicStylePainter.cpp
+++ b/Userland/Libraries/LibGfx/ClassicStylePainter.cpp
@@ -93,7 +93,7 @@ void ClassicStylePainter::paint_tab_button(Painter& painter, IntRect const& rect
}
}
-static void paint_button_new(Painter& painter, IntRect const& a_rect, Palette const& palette, ButtonStyle style, bool pressed, bool checked, bool hovered, bool enabled, bool focused)
+static void paint_button_new(Painter& painter, IntRect const& a_rect, Palette const& palette, ButtonStyle style, bool pressed, bool checked, bool hovered, bool enabled, bool focused, bool default_button)
{
Color button_color = palette.button();
Color highlight_color = palette.threed_highlight();
@@ -111,7 +111,7 @@ static void paint_button_new(Painter& painter, IntRect const& a_rect, Palette co
PainterStateSaver saver(painter);
auto rect = a_rect;
- if (focused) {
+ if (focused || default_button) {
painter.draw_rect(a_rect, palette.threed_shadow2());
rect.shrink(2, 2);
}
@@ -165,10 +165,10 @@ static void paint_button_new(Painter& painter, IntRect const& a_rect, Palette co
}
}
-void ClassicStylePainter::paint_button(Painter& painter, IntRect const& rect, Palette const& palette, ButtonStyle button_style, bool pressed, bool hovered, bool checked, bool enabled, bool focused)
+void ClassicStylePainter::paint_button(Painter& painter, IntRect const& rect, Palette const& palette, ButtonStyle button_style, bool pressed, bool hovered, bool checked, bool enabled, bool focused, bool default_button)
{
if (button_style == ButtonStyle::Normal || button_style == ButtonStyle::ThickCap)
- return paint_button_new(painter, rect, palette, button_style, pressed, checked, hovered, enabled, focused);
+ return paint_button_new(painter, rect, palette, button_style, pressed, checked, hovered, enabled, focused, default_button);
if (button_style == ButtonStyle::Coolbar && !enabled)
return;