From 4e7e1cc79ec777772a261e5810b84dd7be4e53e3 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Thu, 23 Feb 2023 13:45:34 -0700 Subject: [PATCH] Alignment is based on text direction by default now --- src/buffer.rs | 10 +++++----- src/buffer_line.rs | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/buffer.rs b/src/buffer.rs index ba189f1..81f3997 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -303,7 +303,7 @@ pub struct Buffer<'a> { /// True if a redraw is requires. Set to false after processing redraw: bool, wrap: Wrap, - align: Align, + align: Option, } impl<'a> Buffer<'a> { @@ -320,7 +320,7 @@ impl<'a> Buffer<'a> { scroll: 0, redraw: false, wrap: Wrap::Word, - align: Align::Justified, + align: None, }; buffer.set_text("", Attrs::new()); buffer @@ -523,14 +523,14 @@ impl<'a> Buffer<'a> { } /// Get the current [`Align`] - pub fn align(&self) -> Align { + pub fn align(&self) -> Option { self.align } /// Set the current [`Wrap`] pub fn set_align(&mut self, align: Align) { - if align != self.align { - self.align = align; + if Some(align) != self.align { + self.align = Some(align); self.relayout(); self.shape_until_scroll(); } diff --git a/src/buffer_line.rs b/src/buffer_line.rs index 0151b93..2a5ff3b 100644 --- a/src/buffer_line.rs +++ b/src/buffer_line.rs @@ -9,7 +9,7 @@ pub struct BufferLine { text: String, attrs_list: AttrsList, wrap: Wrap, - align: Align, + align: Option, shape_opt: Option, layout_opt: Option>, } @@ -23,7 +23,7 @@ impl BufferLine { text: text.into(), attrs_list, wrap: Wrap::Word, - align: Align::Left, + align: None, shape_opt: None, layout_opt: None, } @@ -97,7 +97,7 @@ impl BufferLine { } /// Get the Text alignment - pub fn align(&self) -> Align { + pub fn align(&self) -> Option { self.align } @@ -106,8 +106,8 @@ impl BufferLine { /// Will reset shape and layout if it differs from current alignment. /// Returns true if the line was reset pub fn set_align(&mut self, align: Align) -> bool { - if align != self.align { - self.align = align; + if Some(align) != self.align { + self.align = Some(align); self.reset(); true } else { @@ -186,7 +186,7 @@ impl BufferLine { font_size: i32, width: i32, wrap: Wrap, - align: Align, + align: Option, ) -> &[LayoutLine] { if self.layout_opt.is_none() { self.wrap = wrap;