mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Use the Separator trait for the filter property
This commit is contained in:
parent
813883e1bd
commit
395f6be0a6
13 changed files with 66 additions and 131 deletions
|
@ -10,12 +10,8 @@ use values::computed::{Angle, Number};
|
|||
use values::computed::color::Color;
|
||||
use values::computed::length::Length;
|
||||
use values::generics::effects::Filter as GenericFilter;
|
||||
use values::generics::effects::FilterList as GenericFilterList;
|
||||
use values::generics::effects::SimpleShadow as GenericSimpleShadow;
|
||||
|
||||
/// A computed value for the `filter` property.
|
||||
pub type FilterList = GenericFilterList<Filter>;
|
||||
|
||||
/// A computed value for a single `filter`.
|
||||
#[cfg(feature = "gecko")]
|
||||
pub type Filter = GenericFilter<Angle, Number, Length, SimpleShadow>;
|
||||
|
@ -26,16 +22,3 @@ pub type Filter = GenericFilter<Angle, Number, Length, Impossible>;
|
|||
|
||||
/// A computed value for the `drop-shadow()` filter.
|
||||
pub type SimpleShadow = GenericSimpleShadow<Color, Length, Length>;
|
||||
|
||||
impl FilterList {
|
||||
/// Returns the resulting opacity of this filter pipeline.
|
||||
pub fn opacity(&self) -> Number {
|
||||
let mut opacity = 0.;
|
||||
for filter in &*self.0 {
|
||||
if let GenericFilter::Opacity(factor) = *filter {
|
||||
opacity *= factor
|
||||
}
|
||||
}
|
||||
opacity
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue