mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
stylo: support corner linear-gradients
This commit is contained in:
parent
04c5d05727
commit
66c8cd9cf3
1 changed files with 26 additions and 4 deletions
|
@ -1162,6 +1162,7 @@ fn static_assert() {
|
||||||
use gecko_bindings::structs::nsStyleCoord;
|
use gecko_bindings::structs::nsStyleCoord;
|
||||||
use values::computed::Image;
|
use values::computed::Image;
|
||||||
use values::specified::AngleOrCorner;
|
use values::specified::AngleOrCorner;
|
||||||
|
use values::specified::{HorizontalDirection, VerticalDirection};
|
||||||
use cssparser::Color as CSSColor;
|
use cssparser::Color as CSSColor;
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@ -1198,10 +1199,31 @@ fn static_assert() {
|
||||||
stop_count as u32)
|
stop_count as u32)
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: figure out what gecko does in the `corner` case.
|
match gradient.angle_or_corner {
|
||||||
if let AngleOrCorner::Angle(angle) = gradient.angle_or_corner {
|
AngleOrCorner::Angle(angle) => {
|
||||||
unsafe {
|
unsafe {
|
||||||
(*gecko_gradient).mAngle.set(angle);
|
(*gecko_gradient).mAngle.set(angle);
|
||||||
|
(*gecko_gradient).mBgPosX.set_value(CoordDataValue::None);
|
||||||
|
(*gecko_gradient).mBgPosY.set_value(CoordDataValue::None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AngleOrCorner::Corner(horiz, vert) => {
|
||||||
|
let percent_x = match horiz {
|
||||||
|
HorizontalDirection::Left => 0.0,
|
||||||
|
HorizontalDirection::Right => 1.0,
|
||||||
|
};
|
||||||
|
let percent_y = match vert {
|
||||||
|
VerticalDirection::Top => 0.0,
|
||||||
|
VerticalDirection::Bottom => 1.0,
|
||||||
|
};
|
||||||
|
|
||||||
|
unsafe {
|
||||||
|
(*gecko_gradient).mAngle.set_value(CoordDataValue::None);
|
||||||
|
(*gecko_gradient).mBgPosX
|
||||||
|
.set_value(CoordDataValue::Percent(percent_x));
|
||||||
|
(*gecko_gradient).mBgPosY
|
||||||
|
.set_value(CoordDataValue::Percent(percent_y));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue