Skip to content

Commit

Permalink
Added recognition of positioned offsets
Browse files Browse the repository at this point in the history
  top, bottom, right, and left
  • Loading branch information
Isabelle Carter committed Dec 16, 2013
1 parent 5302d87 commit 708bf47
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/components/main/layout/box.rs
Expand Up @@ -85,6 +85,9 @@ pub struct Box {

/// Info specific to the kind of box. Keep this enum small.
specific: SpecificBoxInfo,

/// positioned box offsets
position_offsets: Slot<SideOffsets2D<Au>>,
}

/// Info specific to the kind of box. Keep this enum small.
Expand Down Expand Up @@ -254,6 +257,7 @@ impl Box {
padding: Slot::init(Zero::zero()),
margin: Slot::init(Zero::zero()),
specific: specific,
position_offsets: Slot::init(Zero::zero()),
}
}

Expand All @@ -276,6 +280,7 @@ impl Box {
padding: Slot::init(self.padding.get()),
margin: Slot::init(self.margin.get()),
specific: specific,
position_offsets: Slot::init(Zero::zero())
}
}

Expand Down Expand Up @@ -334,6 +339,14 @@ impl Box {
style.Border.border_left_style)))
}

pub fn compute_positioned_offset(&self, style: &ComputedValues) {
self.position_offsets.set(SideOffsets2D::new(
MaybeAuto::from_style(style.PositionOffsets.top, Au::new(0)).specified_or_zero(),
MaybeAuto::from_style(style.PositionOffsets.right, Au::new(0)).specified_or_zero(),
MaybeAuto::from_style(style.PositionOffsets.bottom, Au::new(0)).specified_or_zero(),
MaybeAuto::from_style(style.PositionOffsets.left, Au::new(0)).specified_or_zero()));
}

/// Populates the box model padding parameters from the given computed style.
pub fn compute_padding(&self, style: &ComputedValues, containing_block_width: Au) {
let padding = SideOffsets2D::new(self.compute_padding_length(style.Padding.padding_top,
Expand Down
8 changes: 8 additions & 0 deletions src/components/style/properties.rs.mako
Expand Up @@ -223,6 +223,13 @@ pub mod longhands {
</%self:longhand>
% endfor

${new_style_struct("PositionOffsets")}

% for side in ["top", "right", "bottom", "left"]:
${predefined_type(side, "LengthOrPercentageOrAuto",
"computed::LPA_Auto")}
% endfor

// CSS 2.1, Section 9 - Visual formatting model

${new_style_struct("Box")}
Expand Down Expand Up @@ -279,6 +286,7 @@ pub mod longhands {
"computed::LPN_None",
"parse_non_negative")}


<%self:single_component_value name="line-height">
#[deriving(Clone)]
pub enum SpecifiedValue {
Expand Down

5 comments on commit 708bf47

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saw approval from metajack
at ibnc@708bf47

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merging ibnc/servo/positioned_box_offsets = 708bf47 into auto

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ibnc/servo/positioned_box_offsets = 708bf47 merged ok, testing candidate = 1593d2f

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fast-forwarding master to auto = 1593d2f

Please sign in to comment.