mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:28:11 +00:00
LibWeb: Implement SVG opacity properties
This implements the stop-opacity, fill-opacity, and stroke-opacity properties (in CSS). This replaces the existing more ad-hoc fill-opacity attribute handling.
This commit is contained in:
parent
120e5b6b6f
commit
00cda96e2d
13 changed files with 141 additions and 29 deletions
|
@ -23,10 +23,14 @@ public:
|
|||
Gfx::Color fill_color() const { return state().fill_color; }
|
||||
Gfx::Color stroke_color() const { return state().stroke_color; }
|
||||
float stroke_width() const { return state().stroke_width; }
|
||||
float fill_opacity() const { return state().fill_opacity; }
|
||||
float stroke_opacity() const { return state().stroke_opacity; }
|
||||
|
||||
void set_fill_color(Gfx::Color color) { state().fill_color = color; }
|
||||
void set_stroke_color(Gfx::Color color) { state().stroke_color = color; }
|
||||
void set_stroke_width(float width) { state().stroke_width = width; }
|
||||
void set_fill_opacity(float opacity) { state().fill_opacity = opacity; }
|
||||
void set_stroke_opacity(float opacity) { state().stroke_opacity = opacity; }
|
||||
|
||||
CSSPixelPoint svg_element_position() const { return m_svg_element_bounds.top_left(); }
|
||||
CSSPixelSize svg_element_size() const { return m_svg_element_bounds.size(); }
|
||||
|
@ -38,7 +42,9 @@ private:
|
|||
struct State {
|
||||
Gfx::Color fill_color { Gfx::Color::Transparent };
|
||||
Gfx::Color stroke_color { Gfx::Color::Transparent };
|
||||
float stroke_width { 1.0 };
|
||||
float stroke_width { 1.0f };
|
||||
float fill_opacity { 1.0f };
|
||||
float stroke_opacity { 1.0f };
|
||||
};
|
||||
|
||||
State const& state() const { return m_states.last(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue