- #157 Fixed carrying whitespace to the next line
- #155 Removed
TextBox::fit_heightandTextBox::fit_height_limited
- #148 Added
TextBoxStyleBuilder::leading_spaces()andTextBoxStyleBuilder::trailing_spaces() - #148 Added
TextBoxStyle::leading_spacesandTextBoxStyle::trailing_spaces
- #150 Removed unused
as-slicedependency
- #133 Added the following
constfunctions:TextBoxStyle::default()TextBoxStyleBuilder::default()TabSize::default()
- #134
Tailplugin - #135 Allow using the built-in plugins without the
pluginfeature. - #137 Allow using multiple plugins.
- #136
Cursoris now public. - #136 Added
TextBox::take_plugins(). - #138
Ansiplugin to parse ANSI escape sequences. - #138
Token::MoveCursorandToken::ChangeTextStyle
- breaking #133
TextBoxStyleandTextBoxStyleBuilderno longer implement theDefaulttrait. - #136 Replaced
TextBoxProperties::box_heightwith inTextBoxProperties::bounding_box. - #136 Reworked the editor example to support vertical cursor movement and mouse input.
- #140 Fixed an issue where, under certain circumstances no text was rendered.
- #134
Scrollingvertical alignment
- #130
ChangeTextStyletoken - #114 Added experimental plugin support via the
pluginCargo feature. Plugin can be used to modifyTextBoxbehaviour.
- #114
TextBoxno longer implementsPartialEqandEq
- breaking Replaced
{Horizontal, Vertical}TextAlignmenttraits with{Horizontal, Vertical}Alignmentenums. Vertical centering option has been renamed toMiddle. - breaking Moved
VerticalOverdrawandHeightModeto thestylemodule. - breaking Replaced type-state
VerticalOverdraw,HeightModewith an enum. - breaking Replaced
TextStyle::line_spacingwithline_height. - breaking Added
#[non_exhaustive]toTextBoxStyle. - breaking Need to pass character style to text box constructors.
- breaking Changed
TextBoxStyleBuilderAPI to better align with embedded-graphics'TextStyleBuilder. - breaking Changed measurement of lines that only contain whitespace.
- breaking (developer-facing) Simplified
HorizontalTextAlignmentAPI. - breaking (developer-facing) Split off
LineCursorfromCursor. - breaking The
TabSizetype is now an enum and doesn't depend on a font. - breaking Raised MSRV to 1.43.
- breaking Updated to embedded-graphics 0.7.
Changes in embedded-graphics required changing the type signatures of almost every embedded-text type. For example, former
FontandPixelColortype bounds have been replaced byTextRenderer,CharacterStyleand theirColorassociated type. - breaking Replaced
style::color::Rgbwithembedded_graphics::pixelcolor::Rgb888. - ANSI sequence support now requires the
ansifeature which is enabled by default.
- breaking Removed benchmarks.
- breaking Removed
prelude. - breaking Removed
Rectangleextensions. - breaking Removed deprecated
TextBoxStyleBuilder::{text_style, background_color, text_color, from_text_style, underlined, strikethrough}. UseTextBoxStyleBuilder::character_styleinstead. - breaking (developer-facing) The following types and modules have been removed or hidden:
rendering::ansi,rendering::cursor,rendering::character,rendering::decorated_space,rendering::line,rendering::line_iter,rendering::space_config
- Removed
TextBox::into_styled()
interactive_*examples: fix accidental moving of bounding box.editorexample: cursor now doesn't stick to the text.- The
ansifeature can now be used inno_stdenvironments.
- Added
TextBox::vertical_offsetandTextBox::set_vertical_offset. - Added
TextBoxStyle::paragraph_spacingandTextBoxStyleBuilder::paragraph_spacing. - Added
From<&TextBoxStyle>impl forTextBoxStyleBuilder TextBox::{with_alignment, with_vertical_alignment}TextBoxStyle::{with_alignment, with_vertical_alignment}TextBox::with_textbox_style()TextBoxStyleBuildernow implementsDefaultStyledTextBox::draw()now returns unconsumed text.- Added
interactive_columnsexample to show flowing text into multiple columns.
- Updated
ansi-parserdependency to0.8.0. - ANSI sequence support now requires the
ansifeature which is on by default. - Fields of the
style::color::Rgbstruct are now public.
- The
ansifeature can now be used inno_stdenvironments.
- Added support for strikethrough and underlined text.
RendererFactorytrait that can be used to create a pixel iterator.- Handle tabs
\twith configurable tab size. - Added
TabSizestruct and related style builder methodtab_size. - Added partial support for ANSI escape codes.
Scrollingvertical alignmentTextBoxStyleBuildernow implementsCopyandCloneTextBoxandStyledTextBoxnow implementsCopy,Clone,Debug,Eq,PartialEqandHash
- breaking Left aligned text now eats a single white space at the end of a wrapped line. This changes some height measurements and rendering output.
- breaking
TextBoxStyle::measure_linenow returns whether the line is underlined. - breaking Renamed
StyledCharacterIteratortoCharacterIterator - breaking Increase the Minimum Supported Rust Version to
1.41.0 - breaking
rendering::line_iter::Stateis no longer public - breaking
rendering::line::Stateis no longer public - breaking Removed
StateFactory - breaking Removed
FontExt::str_width,FontExt::max_str_widthandFontExt::max_str_width_nocr - breaking
TextBoxStyleandTextBoxStyleBuilderno longer derivesOrdandPartialOrd
TextBoxStyleBuilder::from_text_style- Added
HeightModeto select whether and how theStyledTextBoxheight should be aligned to the actual text height. - Added
Hidden,VisibleandFullRowsOnlyoverflow control modes toExactandShrinkToTextheight modes. - Added line spacing support via
TextBoxStyleBuilder::line_spacing - Soft hyphen character support (
\u{AD}), rendered as a normal-.
- Deprecated
TextBoxStyleBuilder::text_style. UseTextBoxStyleBuilder::from_text_styleinstead. - breaking Moved
StyledTextBoxto the root module. - Added
StyledTextBox::fit_heightandStyledTextBox::fit_height_limitedto adjust height to text
- Fix
CenterAlignedandBottomAlignedvertical alignments crashing the program when text is taller than theTextBox.
- Support for vertical text alignment.
- Added alignment types to
prelude. - Support for zero-width space character (
\u{200B}). - Support for nonbreaking space character (
\u{A0}). - Added optimized measurement function that do not expect carriage returns.
FontExt::measure_line_nocrFontExt::str_width_nocrFontExt::max_str_width_nocr
- Support carriage return (
\r) control characters.
- Fixed an issue where height measurement unexpectedly carried a space that is consumed during drawing.
- Added
TextBoxStyle::from_text_style
- breaking: Renamed
measure_texttomeasure_text_height - breaking: Moved
measure_textfromFontExttoTextBoxStyle - breaking: Removed
FontExtfromprelude
- Fixed an issue where after a line break, the last line was not rendered if the exact height was available.
- Fixed several text height measurement issues and inconsistencies.
- Fixed an issue where text height was measured incorrectly when encountering words wider than line.
- Fixed an issue where characters could be drawn outside of the bounding box when there is not enough space to render a single character.
- Fixed a word wrapping issue where the first space may sometimes be rendered 0 width.
- Crash with
Justifiedalignment.
preludeimport- Render fonts with variable character width
FontExt::measure_textto measure height using a certain width. Implemented for allFontinstances.
- Initial release