mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update webrender
This commit is contained in:
parent
482923cec2
commit
5413328be2
20 changed files with 138 additions and 122 deletions
|
@ -181,18 +181,18 @@ pub fn image_width(
|
|||
)
|
||||
}
|
||||
|
||||
fn resolve_percentage(value: NumberOrPercentage, length: u32) -> u32 {
|
||||
fn resolve_percentage(value: NumberOrPercentage, length: i32) -> i32 {
|
||||
match value {
|
||||
NumberOrPercentage::Percentage(p) => (p.0 * length as f32).round() as u32,
|
||||
NumberOrPercentage::Number(n) => n.round() as u32,
|
||||
NumberOrPercentage::Percentage(p) => (p.0 * length as f32).round() as i32,
|
||||
NumberOrPercentage::Number(n) => n.round() as i32,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn image_slice(
|
||||
border_image_slice: &StyleRect<NumberOrPercentage>,
|
||||
width: u32,
|
||||
height: u32,
|
||||
) -> SideOffsets2D<u32> {
|
||||
width: i32,
|
||||
height: i32,
|
||||
) -> SideOffsets2D<i32> {
|
||||
SideOffsets2D::new(
|
||||
resolve_percentage(border_image_slice.0, height),
|
||||
resolve_percentage(border_image_slice.1, width),
|
||||
|
|
|
@ -1459,9 +1459,9 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
|
||||
let details = BorderDetails::NinePatch(NinePatchBorder {
|
||||
source,
|
||||
width,
|
||||
height,
|
||||
slice: border::image_slice(border_image_slice, width, height),
|
||||
width: width as i32,
|
||||
height: height as i32,
|
||||
slice: border::image_slice(border_image_slice, width as i32, height as i32),
|
||||
fill: border_image_fill,
|
||||
repeat_horizontal: border_image_repeat.0.to_layout(),
|
||||
repeat_vertical: border_image_repeat.1.to_layout(),
|
||||
|
|
|
@ -104,37 +104,43 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
|||
|
||||
match *self {
|
||||
DisplayItem::Rectangle(ref item) => {
|
||||
builder.push_item(SpecificDisplayItem::Rectangle(item.item), &self.prim_info());
|
||||
builder.push_item(
|
||||
&SpecificDisplayItem::Rectangle(item.item),
|
||||
&self.prim_info(),
|
||||
);
|
||||
},
|
||||
DisplayItem::Text(ref item) => {
|
||||
builder.push_item(SpecificDisplayItem::Text(item.item), &self.prim_info());
|
||||
builder.push_item(&SpecificDisplayItem::Text(item.item), &self.prim_info());
|
||||
builder.push_iter(item.data.iter());
|
||||
},
|
||||
DisplayItem::Image(ref item) => {
|
||||
builder.push_item(SpecificDisplayItem::Image(item.item), &self.prim_info());
|
||||
builder.push_item(&SpecificDisplayItem::Image(item.item), &self.prim_info());
|
||||
},
|
||||
DisplayItem::Border(ref item) => {
|
||||
if !item.data.is_empty() {
|
||||
builder.push_stops(item.data.as_ref());
|
||||
}
|
||||
builder.push_item(SpecificDisplayItem::Border(item.item), &self.prim_info());
|
||||
builder.push_item(&SpecificDisplayItem::Border(item.item), &self.prim_info());
|
||||
},
|
||||
DisplayItem::Gradient(ref item) => {
|
||||
builder.push_stops(item.data.as_ref());
|
||||
builder.push_item(SpecificDisplayItem::Gradient(item.item), &self.prim_info());
|
||||
builder.push_item(&SpecificDisplayItem::Gradient(item.item), &self.prim_info());
|
||||
},
|
||||
DisplayItem::RadialGradient(ref item) => {
|
||||
builder.push_stops(item.data.as_ref());
|
||||
builder.push_item(
|
||||
SpecificDisplayItem::RadialGradient(item.item),
|
||||
&SpecificDisplayItem::RadialGradient(item.item),
|
||||
&self.prim_info(),
|
||||
);
|
||||
},
|
||||
DisplayItem::Line(ref item) => {
|
||||
builder.push_item(SpecificDisplayItem::Line(item.item), &self.prim_info());
|
||||
builder.push_item(&SpecificDisplayItem::Line(item.item), &self.prim_info());
|
||||
},
|
||||
DisplayItem::BoxShadow(ref item) => {
|
||||
builder.push_item(SpecificDisplayItem::BoxShadow(item.item), &self.prim_info());
|
||||
builder.push_item(
|
||||
&SpecificDisplayItem::BoxShadow(item.item),
|
||||
&self.prim_info(),
|
||||
);
|
||||
},
|
||||
DisplayItem::PushTextShadow(ref item) => {
|
||||
builder.push_shadow(&self.prim_info(), item.shadow);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue