mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +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::transform_style::T as TransformStyle;
|
||||
use style::values::computed::{BorderStyle, Filter};
|
||||
use style::values::generics::effects::Filter as GenericFilter;
|
||||
use style::values::specified::border::BorderImageRepeatKeyword;
|
||||
use style::values::RGBA;
|
||||
use webrender_api as wr;
|
||||
|
@ -40,19 +39,19 @@ impl ToLayout for Filter {
|
|||
type Type = wr::FilterOp;
|
||||
fn to_layout(&self) -> Self::Type {
|
||||
match *self {
|
||||
GenericFilter::Blur(radius) => wr::FilterOp::Blur(radius.px()),
|
||||
GenericFilter::Brightness(amount) => wr::FilterOp::Brightness(amount.0),
|
||||
GenericFilter::Contrast(amount) => wr::FilterOp::Contrast(amount.0),
|
||||
GenericFilter::Grayscale(amount) => wr::FilterOp::Grayscale(amount.0),
|
||||
GenericFilter::HueRotate(angle) => wr::FilterOp::HueRotate(angle.radians()),
|
||||
GenericFilter::Invert(amount) => wr::FilterOp::Invert(amount.0),
|
||||
GenericFilter::Opacity(amount) => wr::FilterOp::Opacity(amount.0.into(), amount.0),
|
||||
GenericFilter::Saturate(amount) => wr::FilterOp::Saturate(amount.0),
|
||||
GenericFilter::Sepia(amount) => wr::FilterOp::Sepia(amount.0),
|
||||
Filter::Blur(radius) => wr::FilterOp::Blur(radius.px()),
|
||||
Filter::Brightness(amount) => wr::FilterOp::Brightness(amount.0),
|
||||
Filter::Contrast(amount) => wr::FilterOp::Contrast(amount.0),
|
||||
Filter::Grayscale(amount) => wr::FilterOp::Grayscale(amount.0),
|
||||
Filter::HueRotate(angle) => wr::FilterOp::HueRotate(angle.radians()),
|
||||
Filter::Invert(amount) => wr::FilterOp::Invert(amount.0),
|
||||
Filter::Opacity(amount) => wr::FilterOp::Opacity(amount.0.into(), amount.0),
|
||||
Filter::Saturate(amount) => wr::FilterOp::Saturate(amount.0),
|
||||
Filter::Sepia(amount) => wr::FilterOp::Sepia(amount.0),
|
||||
// Statically check that DropShadow is impossible.
|
||||
GenericFilter::DropShadow(ref shadow) => match *shadow {},
|
||||
Filter::DropShadow(ref shadow) => match *shadow {},
|
||||
// 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
|
||||
* 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 app_units::Au;
|
||||
use euclid::{Point2D, Size2D, Vector2D};
|
||||
use style::properties::ComputedValues;
|
||||
use style::values::computed::image::{EndingShape, LineDirection};
|
||||
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::specified::position::{X, Y};
|
||||
use webrender_api::{ExtendMode, Gradient, GradientBuilder, GradientStop, RadialGradient};
|
||||
|
@ -92,11 +88,11 @@ fn convert_gradient_stops(
|
|||
let mut stop_items = gradient_items
|
||||
.iter()
|
||||
.filter_map(|item| match *item {
|
||||
GenericGradientItem::SimpleColorStop(color) => Some(ColorStop {
|
||||
GradientItem::SimpleColorStop(color) => Some(ColorStop {
|
||||
color,
|
||||
position: None,
|
||||
}),
|
||||
GenericGradientItem::ComplexColorStop { color, position } => Some(ColorStop {
|
||||
GradientItem::ComplexColorStop { color, position } => Some(ColorStop {
|
||||
color,
|
||||
position: Some(position),
|
||||
}),
|
||||
|
@ -301,17 +297,15 @@ pub fn radial(
|
|||
center.vertical.to_used_value(size.height),
|
||||
);
|
||||
let radius = match shape {
|
||||
GenericEndingShape::Circle(Circle::Radius(length)) => {
|
||||
EndingShape::Circle(Circle::Radius(length)) => {
|
||||
let length = Au::from(length);
|
||||
Size2D::new(length, length)
|
||||
},
|
||||
GenericEndingShape::Circle(Circle::Extent(extent)) => {
|
||||
circle_size_keyword(extent, &size, ¢er)
|
||||
},
|
||||
GenericEndingShape::Ellipse(Ellipse::Radii(x, y)) => {
|
||||
EndingShape::Circle(Circle::Extent(extent)) => circle_size_keyword(extent, &size, ¢er),
|
||||
EndingShape::Ellipse(Ellipse::Radii(x, y)) => {
|
||||
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)
|
||||
},
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue