aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/logical_geometry.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/style/logical_geometry.rs')
-rw-r--r--components/style/logical_geometry.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/components/style/logical_geometry.rs b/components/style/logical_geometry.rs
index e9748128f55..bb7eb053b8e 100644
--- a/components/style/logical_geometry.rs
+++ b/components/style/logical_geometry.rs
@@ -10,6 +10,7 @@ use euclid::side_offsets::SideOffsets2D;
use std::cmp::{max, min};
use std::fmt::{self, Debug, Error, Formatter};
use std::ops::{Add, Sub};
+use unicode_bidi as bidi;
pub enum BlockFlowDirection {
TopToBottom,
@@ -131,9 +132,13 @@ impl WritingMode {
#[inline]
/// The default bidirectional embedding level for this writing mode.
///
- /// Returns 0 if the mode is LTR, or 1 otherwise.
- pub fn to_bidi_level(&self) -> u8 {
- !self.is_bidi_ltr() as u8
+ /// Returns bidi level 0 if the mode is LTR, or 1 otherwise.
+ pub fn to_bidi_level(&self) -> bidi::Level {
+ if self.is_bidi_ltr() {
+ bidi::Level::ltr()
+ } else {
+ bidi::Level::rtl()
+ }
}
}