mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
LibGfx: Factor out #rrggbb Color parsing into its own helper function
This commit is contained in:
@@ -262,12 +262,8 @@ Optional<Color> Color::from_named_css_color_string(StringView string)
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<Color> Color::from_string(StringView string)
|
static Optional<Color> hex_string_to_color(StringView string)
|
||||||
{
|
{
|
||||||
if (string.is_empty())
|
|
||||||
return {};
|
|
||||||
|
|
||||||
if (string[0] == '#') {
|
|
||||||
auto hex_nibble_to_u8 = [](char nibble) -> Optional<u8> {
|
auto hex_nibble_to_u8 = [](char nibble) -> Optional<u8> {
|
||||||
if (!isxdigit(nibble))
|
if (!isxdigit(nibble))
|
||||||
return {};
|
return {};
|
||||||
@@ -315,7 +311,15 @@ Optional<Color> Color::from_string(StringView string)
|
|||||||
return {};
|
return {};
|
||||||
|
|
||||||
return Color(r.value(), g.value(), b.value(), a.value());
|
return Color(r.value(), g.value(), b.value(), a.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Optional<Color> Color::from_string(StringView string)
|
||||||
|
{
|
||||||
|
if (string.is_empty())
|
||||||
|
return {};
|
||||||
|
|
||||||
|
if (string[0] == '#')
|
||||||
|
return hex_string_to_color(string);
|
||||||
|
|
||||||
if (string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(')'))
|
if (string.starts_with("rgb("sv, CaseSensitivity::CaseInsensitive) && string.ends_with(')'))
|
||||||
return parse_rgb_color(string);
|
return parse_rgb_color(string);
|
||||||
|
|||||||
Reference in New Issue
Block a user