summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Kosek <krkk@krkk.ct8.pl>2021-09-09 22:16:25 +0200
committerAndreas Kling <kling@serenityos.org>2021-09-16 16:52:55 +0200
commit6f4333fca728caf7140c487176b8ea5671b63860 (patch)
tree7d3814446b1e4e341355bd609afc1f6f1713a394
parent220b7dd77905b7d573ded093cf88d2dc51f57c69 (diff)
downloadserenity-6f4333fca728caf7140c487176b8ea5671b63860.zip
LibGfx: Add support for enumerating by Metric and Path roles
For Theme Editor.
-rw-r--r--Userland/Libraries/LibGfx/SystemTheme.h38
1 files changed, 27 insertions, 11 deletions
diff --git a/Userland/Libraries/LibGfx/SystemTheme.h b/Userland/Libraries/LibGfx/SystemTheme.h
index 58dd20f775..98b60fc007 100644
--- a/Userland/Libraries/LibGfx/SystemTheme.h
+++ b/Userland/Libraries/LibGfx/SystemTheme.h
@@ -89,6 +89,19 @@ namespace Gfx {
C(Window) \
C(WindowText)
+#define ENUMERATE_METRIC_ROLES(C) \
+ C(TitleHeight) \
+ C(TitleButtonWidth) \
+ C(TitleButtonHeight)
+
+#define ENUMERATE_PATH_ROLES(C) \
+ C(TitleButtonIcons) \
+ C(InactiveWindowShadow) \
+ C(ActiveWindowShadow) \
+ C(TaskbarShadow) \
+ C(MenuShadow) \
+ C(TooltipShadow)
+
enum class ColorRole {
NoRole,
@@ -121,21 +134,24 @@ inline const char* to_string(ColorRole role)
enum class MetricRole {
NoRole,
- TitleHeight,
- TitleButtonWidth,
- TitleButtonHeight,
- __Count,
+
+#undef __ENUMERATE_METRIC_ROLE
+#define __ENUMERATE_METRIC_ROLE(role) role,
+ ENUMERATE_METRIC_ROLES(__ENUMERATE_METRIC_ROLE)
+#undef __ENUMERATE_METRIC_ROLE
+
+ __Count,
};
enum class PathRole {
NoRole,
- TitleButtonIcons,
- InactiveWindowShadow,
- ActiveWindowShadow,
- TaskbarShadow,
- MenuShadow,
- TooltipShadow,
- __Count,
+
+#undef __ENUMERATE_PATH_ROLE
+#define __ENUMERATE_PATH_ROLE(role) role,
+ ENUMERATE_PATH_ROLES(__ENUMERATE_PATH_ROLE)
+#undef __ENUMERATE_PATH_ROLE
+
+ __Count,
};
struct SystemTheme {