1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 07:17:34 +00:00

LibGfx: Add support for enumerating by Metric and Path roles

For Theme Editor.
This commit is contained in:
Karol Kosek 2021-09-09 22:16:25 +02:00 committed by Andreas Kling
parent 220b7dd779
commit 6f4333fca7

View file

@ -89,6 +89,19 @@ namespace Gfx {
C(Window) \ C(Window) \
C(WindowText) 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 { enum class ColorRole {
NoRole, NoRole,
@ -121,21 +134,24 @@ inline const char* to_string(ColorRole role)
enum class MetricRole { enum class MetricRole {
NoRole, NoRole,
TitleHeight,
TitleButtonWidth, #undef __ENUMERATE_METRIC_ROLE
TitleButtonHeight, #define __ENUMERATE_METRIC_ROLE(role) role,
__Count, ENUMERATE_METRIC_ROLES(__ENUMERATE_METRIC_ROLE)
#undef __ENUMERATE_METRIC_ROLE
__Count,
}; };
enum class PathRole { enum class PathRole {
NoRole, NoRole,
TitleButtonIcons,
InactiveWindowShadow, #undef __ENUMERATE_PATH_ROLE
ActiveWindowShadow, #define __ENUMERATE_PATH_ROLE(role) role,
TaskbarShadow, ENUMERATE_PATH_ROLES(__ENUMERATE_PATH_ROLE)
MenuShadow, #undef __ENUMERATE_PATH_ROLE
TooltipShadow,
__Count, __Count,
}; };
struct SystemTheme { struct SystemTheme {