From a79bac428b7857b9db2d0641daf3b7f2e3deb91f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 24 Dec 2019 20:57:54 +0100 Subject: LibGUI+LibDraw: Add "Palette" concept for scoped color theming GApplication now has a palette. This palette contains all the system theme colors by default, and is inherited by a new top-level GWidget. New child widgets inherit their parents palette. It is possible to override the GApplication palette, and the palette of any GWidget. The Palette object contains a bunch of colors, each corresponding to a ColorRole. Each role has a convenience getter as well. Each GWidget now has a background_role() and foreground_role(), which are then looked up in their current palette when painting. This means that you no longer alter the background color of a widget by setting it directly, rather you alter either its background role, or the widget's palette. --- Applications/FontEditor/GlyphMapWidget.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Applications/FontEditor') diff --git a/Applications/FontEditor/GlyphMapWidget.cpp b/Applications/FontEditor/GlyphMapWidget.cpp index e8b88ae62d..1e65cf8d77 100644 --- a/Applications/FontEditor/GlyphMapWidget.cpp +++ b/Applications/FontEditor/GlyphMapWidget.cpp @@ -1,4 +1,5 @@ #include "GlyphMapWidget.h" +#include #include GlyphMapWidget::GlyphMapWidget(Font& mutable_font, GWidget* parent) @@ -74,7 +75,7 @@ void GlyphMapWidget::paint_event(GPaintEvent& event) font().max_glyph_width(), font().glyph_height()); if (glyph == m_selected_glyph) { - painter.fill_rect(outer_rect, SystemColor::Selection); + painter.fill_rect(outer_rect, palette().selection()); painter.draw_glyph(inner_rect.location(), glyph, Color::White); } else { painter.draw_glyph(inner_rect.location(), glyph, Color::Black); -- cgit v1.2.3