mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:37:36 +00:00
LibWeb: Resolve backdrop filter length in apply_style()
Instead of resolving lengths used in the backdrop-filter during painting, we can do that earlier in apply_style(). This change moves us a bit closer to the point when the stacking context tree will be completely separated from the layout tree :)
This commit is contained in:
parent
6528f6db26
commit
7803dcfcf9
7 changed files with 74 additions and 37 deletions
|
@ -23,18 +23,6 @@ float Filter::Blur::resolved_radius(Layout::Node const& node) const
|
|||
return sigma * 2;
|
||||
}
|
||||
|
||||
Filter::DropShadow::Resolved Filter::DropShadow::resolved(Layout::Node const& node) const
|
||||
{
|
||||
// The default value for omitted values is missing length values set to 0
|
||||
// and the missing used color is taken from the color property.
|
||||
return Resolved {
|
||||
offset_x.to_px(node).to_double(),
|
||||
offset_y.to_px(node).to_double(),
|
||||
radius.has_value() ? radius->to_px(node).to_double() : 0.0,
|
||||
color.has_value() ? *color : node.computed_values().color()
|
||||
};
|
||||
}
|
||||
|
||||
float Filter::HueRotate::angle_degrees() const
|
||||
{
|
||||
// Default value when omitted is 0deg.
|
||||
|
|
|
@ -29,13 +29,6 @@ struct DropShadow {
|
|||
Length offset_y;
|
||||
Optional<Length> radius {};
|
||||
Optional<Color> color {};
|
||||
struct Resolved {
|
||||
double offset_x;
|
||||
double offset_y;
|
||||
double radius;
|
||||
Color color;
|
||||
};
|
||||
Resolved resolved(Layout::Node const&) const;
|
||||
bool operator==(DropShadow const&) const = default;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue