소스 검색

LibGfx: Add to_string() functions for MetricRole and PathRole

Sam Atkins 3 년 전
부모
커밋
31ce4d04b6
1개의 변경된 파일32개의 추가작업 그리고 0개의 파일을 삭제
  1. 32 0
      Userland/Libraries/LibGfx/SystemTheme.h

+ 32 - 0
Userland/Libraries/LibGfx/SystemTheme.h

@@ -143,6 +143,22 @@ enum class MetricRole {
         __Count,
 };
 
+inline const char* to_string(MetricRole role)
+{
+    switch (role) {
+    case MetricRole::NoRole:
+        return "NoRole";
+#undef __ENUMERATE_METRIC_ROLE
+#define __ENUMERATE_METRIC_ROLE(role) \
+    case MetricRole::role:            \
+        return #role;
+        ENUMERATE_METRIC_ROLES(__ENUMERATE_METRIC_ROLE)
+#undef __ENUMERATE_METRIC_ROLE
+    default:
+        VERIFY_NOT_REACHED();
+    }
+}
+
 enum class PathRole {
     NoRole,
 
@@ -154,6 +170,22 @@ enum class PathRole {
         __Count,
 };
 
+inline const char* to_string(PathRole role)
+{
+    switch (role) {
+    case PathRole::NoRole:
+        return "NoRole";
+#undef __ENUMERATE_PATH_ROLE
+#define __ENUMERATE_PATH_ROLE(role) \
+    case PathRole::role:            \
+        return #role;
+        ENUMERATE_PATH_ROLES(__ENUMERATE_PATH_ROLE)
+#undef __ENUMERATE_PATH_ROLE
+    default:
+        VERIFY_NOT_REACHED();
+    }
+}
+
 struct SystemTheme {
     RGBA32 color[(int)ColorRole::__Count];
     int metric[(int)MetricRole::__Count];