mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Support offset- logical properties
This commit is contained in:
parent
2289ad53dd
commit
1bd6e5ff9b
3 changed files with 22 additions and 5 deletions
|
@ -563,13 +563,15 @@
|
|||
side = maybe_side[0]
|
||||
elif len(maybe_size) == 1:
|
||||
size = maybe_size[0]
|
||||
def phys_ident(side, phy_side):
|
||||
return to_rust_ident(name.replace(side, phy_side).replace("offset-", ""))
|
||||
%>
|
||||
% if side is not None:
|
||||
use logical_geometry::PhysicalSide;
|
||||
match wm.${to_rust_ident(side)}_physical_side() {
|
||||
% for phy_side in PHYSICAL_SIDES:
|
||||
PhysicalSide::${phy_side.title()} => {
|
||||
${caller.inner(physical_ident=to_rust_ident(name.replace(side, phy_side)))}
|
||||
${caller.inner(physical_ident=phys_ident(side, phy_side))}
|
||||
}
|
||||
% endfor
|
||||
}
|
||||
|
@ -581,9 +583,9 @@
|
|||
physical_size = ("width", "height")
|
||||
%>
|
||||
if wm.is_vertical() {
|
||||
${caller.inner(physical_ident=to_rust_ident(name.replace(size, physical_size[1])))}
|
||||
${caller.inner(physical_ident=phys_ident(size, physical_size[1]))}
|
||||
} else {
|
||||
${caller.inner(physical_ident=to_rust_ident(name.replace(size, physical_size[0])))}
|
||||
${caller.inner(physical_ident=phys_ident(size, physical_size[0]))}
|
||||
}
|
||||
% else:
|
||||
<% raise Exception("Don't know what to do with logical property %s" % name) %>
|
||||
|
|
|
@ -3,15 +3,22 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
<%namespace name="helpers" file="/helpers.mako.rs" />
|
||||
<% from data import ALL_SIZES %>
|
||||
<% from data import ALL_SIZES, PHYSICAL_SIDES, LOGICAL_SIDES %>
|
||||
|
||||
<% data.new_style_struct("Position", inherited=False) %>
|
||||
|
||||
% for side in ["top", "right", "bottom", "left"]:
|
||||
// "top" / "left" / "bottom" / "right"
|
||||
% for side in PHYSICAL_SIDES:
|
||||
${helpers.predefined_type(side, "LengthOrPercentageOrAuto",
|
||||
"computed::LengthOrPercentageOrAuto::Auto",
|
||||
animatable=True)}
|
||||
% endfor
|
||||
// offset-* logical properties, map to "top" / "left" / "bottom" / "right"
|
||||
% for side in LOGICAL_SIDES:
|
||||
${helpers.predefined_type("offset-" + side, "LengthOrPercentageOrAuto",
|
||||
"computed::LengthOrPercentageOrAuto::Auto",
|
||||
animatable=True, logical=True)}
|
||||
% endfor
|
||||
|
||||
<%helpers:longhand name="z-index" animatable="True">
|
||||
use values::NoViewportPercentage;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue