mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Auto merge of #6796 - glennw:transform-translate-fix, r=pcwalton
Change transforms to use LengthOrPercentage. This simplifies an upcoming PR to support serializing transform values for css style declarations. Related to issue #6643. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6796) <!-- Reviewable:end -->
This commit is contained in:
commit
a409699a0b
5 changed files with 36 additions and 183 deletions
|
@ -18,7 +18,7 @@ use fragment::{CoordinateSystem, Fragment, IframeFragmentInfo, ImageFragmentInfo
|
|||
use fragment::{ScannedTextFragmentInfo, SpecificFragmentInfo};
|
||||
use inline::InlineFlow;
|
||||
use list_item::ListItemFlow;
|
||||
use model::{self, MaybeAuto, ToGfxMatrix, ToAu};
|
||||
use model::{self, MaybeAuto, ToGfxMatrix};
|
||||
use table_cell::CollapsedBordersForCell;
|
||||
|
||||
use canvas_traits::{CanvasMsg, FromLayoutMsg};
|
||||
|
@ -1176,8 +1176,8 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
Matrix4::create_scale(sx, sy, sz)
|
||||
}
|
||||
&transform::ComputedOperation::Translate(tx, ty, tz) => {
|
||||
let tx = tx.to_au(border_box.size.width).to_f32_px();
|
||||
let ty = ty.to_au(border_box.size.height).to_f32_px();
|
||||
let tx = model::specified(tx, border_box.size.width).to_f32_px();
|
||||
let ty = model::specified(ty, border_box.size.height).to_f32_px();
|
||||
let tz = tz.to_f32_px();
|
||||
Matrix4::create_translation(tx, ty, tz)
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ use std::cmp::{max, min};
|
|||
use std::fmt;
|
||||
use style::computed_values::transform::ComputedMatrix;
|
||||
use style::properties::ComputedValues;
|
||||
use style::values::computed::{LengthAndPercentage, LengthOrPercentageOrAuto};
|
||||
use style::values::computed::LengthOrPercentageOrAuto;
|
||||
use style::values::computed::{LengthOrPercentageOrNone, LengthOrPercentage};
|
||||
use util::geometry::Au;
|
||||
use util::logical_geometry::LogicalMargin;
|
||||
|
@ -439,15 +439,3 @@ impl ToGfxMatrix for ComputedMatrix {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub trait ToAu {
|
||||
fn to_au(&self, containing_size: Au) -> Au;
|
||||
}
|
||||
|
||||
impl ToAu for LengthAndPercentage {
|
||||
#[inline]
|
||||
fn to_au(&self, containing_size: Au) -> Au {
|
||||
self.length + Au::from_f32_px(self.percentage * containing_size.to_f32_px())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue