aboutsummaryrefslogtreecommitdiffstats
path: root/components/style
diff options
context:
space:
mode:
Diffstat (limited to 'components/style')
-rw-r--r--components/style/logical_geometry.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/components/style/logical_geometry.rs b/components/style/logical_geometry.rs
index 94dcd3881db..242a061b0da 100644
--- a/components/style/logical_geometry.rs
+++ b/components/style/logical_geometry.rs
@@ -213,6 +213,13 @@ impl Debug for DebugWritingMode {
}
+// Used to specify the logical direction.
+#[derive(Debug, Clone, Copy, PartialEq)]
+pub enum Direction {
+ Inline,
+ Block
+}
+
/// A 2D size in flow-relative dimensions
#[derive(PartialEq, Eq, Clone, Copy)]
#[cfg_attr(feature = "servo", derive(Serialize))]
@@ -764,6 +771,16 @@ impl<T: Copy + Add<T, Output=T>> LogicalMargin<T> {
}
#[inline]
+ pub fn start_end(&self, direction: Direction) -> T {
+ match direction {
+ Direction::Inline =>
+ self.inline_start + self.inline_end,
+ Direction::Block =>
+ self.block_start + self.block_end
+ }
+ }
+
+ #[inline]
pub fn top_bottom(&self, mode: WritingMode) -> T {
self.debug_writing_mode.check(mode);
if mode.is_vertical() {