mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
parent
5b79711ece
commit
0ed8e6f98e
2 changed files with 17 additions and 24 deletions
|
@ -8,7 +8,6 @@ use style::computed_values::image_rendering::T as ImageRendering;
|
||||||
use style::computed_values::mix_blend_mode::T as MixBlendMode;
|
use style::computed_values::mix_blend_mode::T as MixBlendMode;
|
||||||
use style::computed_values::transform_style::T as TransformStyle;
|
use style::computed_values::transform_style::T as TransformStyle;
|
||||||
use style::values::computed::{BorderStyle, Filter};
|
use style::values::computed::{BorderStyle, Filter};
|
||||||
use style::values::generics::effects::Filter as GenericFilter;
|
|
||||||
use style::values::specified::border::BorderImageRepeatKeyword;
|
use style::values::specified::border::BorderImageRepeatKeyword;
|
||||||
use style::values::RGBA;
|
use style::values::RGBA;
|
||||||
use webrender_api as wr;
|
use webrender_api as wr;
|
||||||
|
@ -40,19 +39,19 @@ impl ToLayout for Filter {
|
||||||
type Type = wr::FilterOp;
|
type Type = wr::FilterOp;
|
||||||
fn to_layout(&self) -> Self::Type {
|
fn to_layout(&self) -> Self::Type {
|
||||||
match *self {
|
match *self {
|
||||||
GenericFilter::Blur(radius) => wr::FilterOp::Blur(radius.px()),
|
Filter::Blur(radius) => wr::FilterOp::Blur(radius.px()),
|
||||||
GenericFilter::Brightness(amount) => wr::FilterOp::Brightness(amount.0),
|
Filter::Brightness(amount) => wr::FilterOp::Brightness(amount.0),
|
||||||
GenericFilter::Contrast(amount) => wr::FilterOp::Contrast(amount.0),
|
Filter::Contrast(amount) => wr::FilterOp::Contrast(amount.0),
|
||||||
GenericFilter::Grayscale(amount) => wr::FilterOp::Grayscale(amount.0),
|
Filter::Grayscale(amount) => wr::FilterOp::Grayscale(amount.0),
|
||||||
GenericFilter::HueRotate(angle) => wr::FilterOp::HueRotate(angle.radians()),
|
Filter::HueRotate(angle) => wr::FilterOp::HueRotate(angle.radians()),
|
||||||
GenericFilter::Invert(amount) => wr::FilterOp::Invert(amount.0),
|
Filter::Invert(amount) => wr::FilterOp::Invert(amount.0),
|
||||||
GenericFilter::Opacity(amount) => wr::FilterOp::Opacity(amount.0.into(), amount.0),
|
Filter::Opacity(amount) => wr::FilterOp::Opacity(amount.0.into(), amount.0),
|
||||||
GenericFilter::Saturate(amount) => wr::FilterOp::Saturate(amount.0),
|
Filter::Saturate(amount) => wr::FilterOp::Saturate(amount.0),
|
||||||
GenericFilter::Sepia(amount) => wr::FilterOp::Sepia(amount.0),
|
Filter::Sepia(amount) => wr::FilterOp::Sepia(amount.0),
|
||||||
// Statically check that DropShadow is impossible.
|
// Statically check that DropShadow is impossible.
|
||||||
GenericFilter::DropShadow(ref shadow) => match *shadow {},
|
Filter::DropShadow(ref shadow) => match *shadow {},
|
||||||
// Statically check that Url is impossible.
|
// Statically check that Url is impossible.
|
||||||
GenericFilter::Url(ref url) => match *url {},
|
Filter::Url(ref url) => match *url {},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,12 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
// FIXME(rust-lang/rust#26264): Remove GenericEndingShape and GenericGradientItem.
|
|
||||||
|
|
||||||
use crate::display_list::ToLayout;
|
use crate::display_list::ToLayout;
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
use euclid::{Point2D, Size2D, Vector2D};
|
use euclid::{Point2D, Size2D, Vector2D};
|
||||||
use style::properties::ComputedValues;
|
use style::properties::ComputedValues;
|
||||||
use style::values::computed::image::{EndingShape, LineDirection};
|
use style::values::computed::image::{EndingShape, LineDirection};
|
||||||
use style::values::computed::{Angle, GradientItem, LengthPercentage, Percentage, Position};
|
use style::values::computed::{Angle, GradientItem, LengthPercentage, Percentage, Position};
|
||||||
use style::values::generics::image::EndingShape as GenericEndingShape;
|
|
||||||
use style::values::generics::image::GradientItem as GenericGradientItem;
|
|
||||||
use style::values::generics::image::{Circle, ColorStop, Ellipse, ShapeExtent};
|
use style::values::generics::image::{Circle, ColorStop, Ellipse, ShapeExtent};
|
||||||
use style::values::specified::position::{X, Y};
|
use style::values::specified::position::{X, Y};
|
||||||
use webrender_api::{ExtendMode, Gradient, GradientBuilder, GradientStop, RadialGradient};
|
use webrender_api::{ExtendMode, Gradient, GradientBuilder, GradientStop, RadialGradient};
|
||||||
|
@ -92,11 +88,11 @@ fn convert_gradient_stops(
|
||||||
let mut stop_items = gradient_items
|
let mut stop_items = gradient_items
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|item| match *item {
|
.filter_map(|item| match *item {
|
||||||
GenericGradientItem::SimpleColorStop(color) => Some(ColorStop {
|
GradientItem::SimpleColorStop(color) => Some(ColorStop {
|
||||||
color,
|
color,
|
||||||
position: None,
|
position: None,
|
||||||
}),
|
}),
|
||||||
GenericGradientItem::ComplexColorStop { color, position } => Some(ColorStop {
|
GradientItem::ComplexColorStop { color, position } => Some(ColorStop {
|
||||||
color,
|
color,
|
||||||
position: Some(position),
|
position: Some(position),
|
||||||
}),
|
}),
|
||||||
|
@ -301,17 +297,15 @@ pub fn radial(
|
||||||
center.vertical.to_used_value(size.height),
|
center.vertical.to_used_value(size.height),
|
||||||
);
|
);
|
||||||
let radius = match shape {
|
let radius = match shape {
|
||||||
GenericEndingShape::Circle(Circle::Radius(length)) => {
|
EndingShape::Circle(Circle::Radius(length)) => {
|
||||||
let length = Au::from(length);
|
let length = Au::from(length);
|
||||||
Size2D::new(length, length)
|
Size2D::new(length, length)
|
||||||
},
|
},
|
||||||
GenericEndingShape::Circle(Circle::Extent(extent)) => {
|
EndingShape::Circle(Circle::Extent(extent)) => circle_size_keyword(extent, &size, ¢er),
|
||||||
circle_size_keyword(extent, &size, ¢er)
|
EndingShape::Ellipse(Ellipse::Radii(x, y)) => {
|
||||||
},
|
|
||||||
GenericEndingShape::Ellipse(Ellipse::Radii(x, y)) => {
|
|
||||||
Size2D::new(x.to_used_value(size.width), y.to_used_value(size.height))
|
Size2D::new(x.to_used_value(size.width), y.to_used_value(size.height))
|
||||||
},
|
},
|
||||||
GenericEndingShape::Ellipse(Ellipse::Extent(extent)) => {
|
EndingShape::Ellipse(Ellipse::Extent(extent)) => {
|
||||||
ellipse_size_keyword(extent, &size, ¢er)
|
ellipse_size_keyword(extent, &size, ¢er)
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue