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

LibGUI: Add Gfx::ColorRole to Variant

For Theme Editor. :^)
This commit is contained in:
Karol Kosek 2021-09-05 21:38:36 +02:00 committed by Ali Mohammad Pur
parent c1ede97543
commit 759d6df87d
2 changed files with 29 additions and 0 deletions

View file

@ -46,6 +46,8 @@ const char* to_string(Variant::Type type)
return "Font";
case Variant::Type::TextAlignment:
return "TextAlignment";
case Variant::Type::ColorRole:
return "ColorRole";
}
VERIFY_NOT_REACHED();
}
@ -85,6 +87,12 @@ Variant::Variant(Gfx::TextAlignment value)
m_value.as_text_alignment = value;
}
Variant::Variant(Gfx::ColorRole value)
: m_type(Type::ColorRole)
{
m_value.as_color_role = value;
}
Variant::Variant(i32 value)
: m_type(Type::Int32)
{
@ -320,6 +328,9 @@ void Variant::copy_from(const Variant& other)
case Type::TextAlignment:
m_value.as_text_alignment = other.m_value.as_text_alignment;
break;
case Type::ColorRole:
m_value.as_color_role = other.m_value.as_color_role;
break;
case Type::Invalid:
break;
}
@ -360,6 +371,8 @@ bool Variant::operator==(const Variant& other) const
return &as_font() == &other.as_font();
case Type::TextAlignment:
return m_value.as_text_alignment == other.m_value.as_text_alignment;
case Type::ColorRole:
return m_value.as_color_role == other.m_value.as_color_role;
case Type::Invalid:
return true;
}
@ -398,6 +411,7 @@ bool Variant::operator<(const Variant& other) const
case Type::Rect:
case Type::Font:
case Type::TextAlignment:
case Type::ColorRole:
// FIXME: Figure out how to compare these.
VERIFY_NOT_REACHED();
case Type::Invalid:
@ -454,6 +468,9 @@ String Variant::to_string() const
}
return "";
}
case Type::ColorRole: {
return String::formatted("Gfx::ColorRole::{}", Gfx::to_string(m_value.as_color_role));
}
case Type::Invalid:
return "[null]";
}