30 Commits

Author SHA1 Message Date
Martín Lucas Golini
8cfedc4590 Added alignment-baseline and vertical-align support in RichText and all its consumers. 2026-05-17 21:54:08 -03:00
Martín Lucas Golini
aee6292ebf Correctly vertically align text spans of different sizes in RichText. 2026-03-11 22:02:33 -03:00
Martín Lucas Golini
6a9c2bbeeb Fix background color in Text (should render over text and not the bounding rectangle.
Having fixed this added background color to UIRichText and UITextSpan.
2026-03-05 21:27:35 -03:00
Martín Lucas Golini
0c1bbb6959 Improved RichText support, added more support for basic HTML elements. 2026-03-04 01:04:34 -03:00
Martín Lucas Golini
607aeb35d5 Fixed a stupid bug in Texture.
More UIRichText fixes, now inherits correctly the UIRichText font style into all of the span children.
2026-03-02 01:36:18 -03:00
Martín Lucas Golini
3d3327c5a1 Fixes in text selection when not using shaper and fixes in text wrap rendering when using TextLayout::wrapLayout. 2026-02-08 20:53:59 -03:00
Martín Lucas Golini
5140dbabdb Fix RichTextTest in CI (disable anti-aliasing on line rendering so image comparison does not fail due to differences on NVIDIA and Mesa renderers). 2026-02-08 14:15:50 -03:00
Martín Lucas Golini
e0bf0a23e5 Added a basic RichText class (and added tests and an example).
Fixed LineWrap when using initial X offset and the word does not fit in the current line but it fits in the next.
Added basic agent rules.
2026-02-08 13:35:16 -03:00
Martín Lucas Golini
4979623687 Added initial offset for Text (plus tests).
Added Primitive::drawPixelPerfectLineRectangle.
Added tRect::enlarge.
2026-02-07 13:01:10 -03:00
Martín Lucas Golini
ec47dffa30 Several fixes in soft-wrap implementation.
Added soft-wrap support in UITextView and UITooltip.
Added more soft-wrap tests, now testing also selection.
2026-02-03 01:41:15 -03:00
Martín Lucas Golini
efc361b654 LineWraps now also report real new line breaks (otherwise it will not be possible to partition into visual lines).
Added more text hard-wrap tests.
RGB now has a constructor that accepts Color. Color now has `toRGB()`.
2026-01-25 14:53:55 -03:00
Martín Lucas Golini
9d4fce4524 Implemented soft-wrap support in TextLayout.
Also fixed an old LineWrap::computeLineBreaks bug that wrapped too soon some texts, I had to update the tests (they where looking strange but I thought it was some unfortunate wrapping).
2026-01-25 00:26:54 -03:00
Martín Lucas Golini
1789540388 Separate TextLayout result into paragraphs with ShapedTextParagraph.
Change the `Text::wrapText` implementation to use the `LineWrap::computeLineBreaks` function, so it's consistent across eepp. Also renamed the function to `Text::hardWrapText` to be more descriptive.
Added new-line support in `LineWrap::computeLineBreaks`.
2026-01-24 17:59:09 -03:00
Martín Lucas Golini
baa16fe44d Some minor changes in TextLayout and LineWrap. 2026-01-24 13:55:58 -03:00
Martín Lucas Golini
b3748d05f2 Add yet another text rendering test. 2026-01-24 01:01:16 -03:00
Martín Lucas Golini
f8fe1d9687 Add multi-thread protection to: ModelSelection.
Make UIAbstractView::notifySelectionChange thread-safe.
Added new UI Test (FontRendering.UITextTest).
2026-01-14 20:12:45 -03:00
Martín Lucas Golini
b084cab449 Text::setFillColor improvements for shaped text. 2026-01-03 18:38:33 -03:00
Martín Lucas Golini
d5e10aa790 Improve color emoji rendering.
Add new test for emojis + text.
Enabled text-shaper by default.
Updated the NotoColorEmoji font with the latest version.
2025-12-30 17:52:31 -03:00
Martín Lucas Golini
218732b611 Added more tests. 2025-11-14 23:53:29 -03:00
Martín Lucas Golini
2008b57033 Added SheenBidi segmentation. 2025-11-10 00:53:28 -03:00
Martín Lucas Golini
91f93184af Update FreeType to 2.14.1.
Add SheenBidi dependency (still not in use).
Update tests with the new FreeType version.
2025-11-09 13:36:13 -03:00
Martín Lucas Golini
491b15d6ca Some extra improvements and adjustments. 2025-11-02 17:58:05 -03:00
Martín Lucas Golini
58b8a815d2 Many text-shaper fixes and many more tests. 2025-11-02 13:47:15 -03:00
Martín Lucas Golini
d4620b1f4b Some text shaping improvements. 2025-11-01 23:34:27 -03:00
Martín Lucas Golini
42390607aa Add an extra test for text shaper.
Do not disable AI assistant chat blocks when waiting or getting the AI response (allow to copy the contents).
2025-11-01 00:13:44 -03:00
Martín Lucas Golini
34c0c5cdc6 Add a few more tests for font and text rendering. 2025-10-26 22:36:36 -03:00
Martín Lucas Golini
a52e868a57 Fix font rendering tests pixel density. 2025-10-25 23:12:36 -03:00
Martín Lucas Golini
74ef41e029 Improve font rendering test suite.
Fixed some minor issues cleaning up memory while destroying the engine (this is to be able to create a new window and load resources without issues, a not very common behavior but needed for tests).
2025-10-25 21:15:18 -03:00
Martín Lucas Golini
9b351dc16d Test corrections. 2025-10-25 12:12:53 -03:00
Martín Lucas Golini
af5daa4717 Add Image::diff.
Fixed inavalid memory access due to double free in FontBMP and FontSprite.
Added FontRendering unit-tests.
2025-10-25 00:56:05 -03:00