mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-05 05:56:53 +03:00
GVariant: Add to_bool(), to_int() and to_color().
This commit is contained in:
parent
4df360be8c
commit
0f4050903d
Notes:
sideshowbarker
2024-07-19 14:44:05 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/0f4050903d4
@ -60,12 +60,40 @@ public:
|
|||||||
return m_value.as_bool;
|
return m_value.as_bool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool to_bool() const
|
||||||
|
{
|
||||||
|
if (type() == Type::Bool)
|
||||||
|
return as_bool();
|
||||||
|
if (type() == Type::String)
|
||||||
|
return !!m_value.as_string;
|
||||||
|
if (type() == Type::Int)
|
||||||
|
return m_value.as_int != 0;
|
||||||
|
if (type() == Type::Rect)
|
||||||
|
return !as_rect().is_null();
|
||||||
|
if (type() == Type::Size)
|
||||||
|
return !as_size().is_null();
|
||||||
|
if (type() == Type::Point)
|
||||||
|
return !as_point().is_null();
|
||||||
|
return is_valid();
|
||||||
|
}
|
||||||
|
|
||||||
int as_int() const
|
int as_int() const
|
||||||
{
|
{
|
||||||
ASSERT(type() == Type::Int);
|
ASSERT(type() == Type::Int);
|
||||||
return m_value.as_int;
|
return m_value.as_int;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int to_int() const
|
||||||
|
{
|
||||||
|
if (is_int())
|
||||||
|
return as_int();
|
||||||
|
if (is_bool())
|
||||||
|
return as_bool() ? 1 : 0;
|
||||||
|
if (is_float())
|
||||||
|
return (int)as_float();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
float as_float() const
|
float as_float() const
|
||||||
{
|
{
|
||||||
ASSERT(type() == Type::Float);
|
ASSERT(type() == Type::Float);
|
||||||
@ -111,6 +139,13 @@ public:
|
|||||||
return Color::from_rgba(m_value.as_color);
|
return Color::from_rgba(m_value.as_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Color to_color() const
|
||||||
|
{
|
||||||
|
if (is_color())
|
||||||
|
return as_color();
|
||||||
|
return Color();
|
||||||
|
}
|
||||||
|
|
||||||
Color to_color(Color default_value) const
|
Color to_color(Color default_value) const
|
||||||
{
|
{
|
||||||
if (type() == Type::Color)
|
if (type() == Type::Color)
|
||||||
|
@ -61,6 +61,8 @@ public:
|
|||||||
operator WSAPI_Point() const;
|
operator WSAPI_Point() const;
|
||||||
String to_string() const { return String::format("[%d,%d]", x(), y()); }
|
String to_string() const { return String::format("[%d,%d]", x(), y()); }
|
||||||
|
|
||||||
|
bool is_null() const { return !m_x && !m_y; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_x { 0 };
|
int m_x { 0 };
|
||||||
int m_y { 0 };
|
int m_y { 0 };
|
||||||
|
Loading…
Reference in New Issue
Block a user