1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:07:45 +00:00

LibWeb: Make border-radius attibutes accessible

This commit is contained in:
Tobias Christiansen 2021-05-14 22:31:03 +02:00 committed by Andreas Kling
parent 0c261a1c95
commit 499934a848
2 changed files with 29 additions and 0 deletions

View file

@ -67,6 +67,11 @@ public:
const BorderData& border_right() const { return m_noninherited.border_right; } const BorderData& border_right() const { return m_noninherited.border_right; }
const BorderData& border_bottom() const { return m_noninherited.border_bottom; } const BorderData& border_bottom() const { return m_noninherited.border_bottom; }
const CSS::Length& border_bottom_left_radius() const { return m_noninherited.border_bottom_left_radius; }
const CSS::Length& border_bottom_right_radius() const { return m_noninherited.border_bottom_right_radius; }
const CSS::Length& border_top_left_radius() const { return m_noninherited.border_top_left_radius; }
const CSS::Length& border_top_right_radius() const { return m_noninherited.border_top_right_radius; }
CSS::Overflow overflow_x() const { return m_noninherited.overflow_x; } CSS::Overflow overflow_x() const { return m_noninherited.overflow_x; }
CSS::Overflow overflow_y() const { return m_noninherited.overflow_y; } CSS::Overflow overflow_y() const { return m_noninherited.overflow_y; }
@ -114,6 +119,10 @@ protected:
BorderData border_top; BorderData border_top;
BorderData border_right; BorderData border_right;
BorderData border_bottom; BorderData border_bottom;
Length border_bottom_left_radius;
Length border_bottom_right_radius;
Length border_top_left_radius;
Length border_top_right_radius;
Color background_color { InitialValues::background_color() }; Color background_color { InitialValues::background_color() };
CSS::Repeat background_repeat_x { InitialValues::background_repeat() }; CSS::Repeat background_repeat_x { InitialValues::background_repeat() };
CSS::Repeat background_repeat_y { InitialValues::background_repeat() }; CSS::Repeat background_repeat_y { InitialValues::background_repeat() };
@ -154,6 +163,10 @@ public:
void set_overflow_y(CSS::Overflow value) { m_noninherited.overflow_y = value; } void set_overflow_y(CSS::Overflow value) { m_noninherited.overflow_y = value; }
void set_list_style_type(CSS::ListStyleType value) { m_inherited.list_style_type = value; } void set_list_style_type(CSS::ListStyleType value) { m_inherited.list_style_type = value; }
void set_display(CSS::Display value) { m_noninherited.display = value; } void set_display(CSS::Display value) { m_noninherited.display = value; }
void set_border_bottom_left_radius(CSS::Length value) { m_noninherited.border_bottom_left_radius = value; }
void set_border_bottom_right_radius(CSS::Length value) { m_noninherited.border_bottom_right_radius = value; }
void set_border_top_left_radius(CSS::Length value) { m_noninherited.border_top_left_radius = value; }
void set_border_top_right_radius(CSS::Length value) { m_noninherited.border_top_right_radius = value; }
BorderData& border_left() { return m_noninherited.border_left; } BorderData& border_left() { return m_noninherited.border_left; }
BorderData& border_top() { return m_noninherited.border_top; } BorderData& border_top() { return m_noninherited.border_top; }
BorderData& border_right() { return m_noninherited.border_right; } BorderData& border_right() { return m_noninherited.border_right; }

View file

@ -226,6 +226,22 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& specified_style)
m_background_image = static_ptr_cast<CSS::ImageStyleValue>(bgimage.value()); m_background_image = static_ptr_cast<CSS::ImageStyleValue>(bgimage.value());
} }
auto border_bottom_left_radius = specified_style.property(CSS::PropertyID::BorderBottomLeftRadius);
if (border_bottom_left_radius.has_value())
computed_values.set_border_bottom_left_radius(border_bottom_left_radius.value()->to_length());
auto border_bottom_right_radius = specified_style.property(CSS::PropertyID::BorderBottomRightRadius);
if (border_bottom_right_radius.has_value())
computed_values.set_border_bottom_right_radius(border_bottom_right_radius.value()->to_length());
auto border_top_left_radius = specified_style.property(CSS::PropertyID::BorderTopLeftRadius);
if (border_top_left_radius.has_value())
computed_values.set_border_top_left_radius(border_top_left_radius.value()->to_length());
auto border_top_right_radius = specified_style.property(CSS::PropertyID::BorderTopRightRadius);
if (border_top_right_radius.has_value())
computed_values.set_border_top_right_radius(border_top_right_radius.value()->to_length());
auto background_repeat_x = specified_style.background_repeat_x(); auto background_repeat_x = specified_style.background_repeat_x();
if (background_repeat_x.has_value()) if (background_repeat_x.has_value())
computed_values.set_background_repeat_x(background_repeat_x.value()); computed_values.set_background_repeat_x(background_repeat_x.value());