47 Commits

Author SHA1 Message Date
Martín Lucas Golini
04db5aa2f7 Fix text span attribute changes not updating the layout.
Fix UIHTMLBody.maxWidthResizingBug.
2026-04-14 01:24:50 -03:00
Martín Lucas Golini
7d09138bb0 Add woff2 font format support.
Try again luck with the test that it's failing in macOS...
2026-04-09 00:54:22 -03:00
Martín Lucas Golini
b43508b106 CI fails on macOS just because (window has a different size for some unrelated bug I cannot replicate or control), trying different window size. 2026-04-09 00:26:38 -03:00
Martín Lucas Golini
8bbb61d8f5 Open folder if valid on press enter in path input (SpartanJ/ecode#872).
Improved resources path solving.
Minor changes in tests.
2026-04-08 20:05:52 -03:00
Martín Lucas Golini
fd01c1ad2c Add a few HTML visual tests. 2026-04-08 01:02:23 -03:00
Martín Lucas Golini
311dffba7c Improved RichText custom sizes to indicate if it's a block. 2026-04-08 00:28:23 -03:00
Martín Lucas Golini
2a410876a7 Fix "box" shorthand parser.
AI Assistant: Added some new free models.
Fixed a crash in UIWidgetInspector.
2026-04-04 02:42:10 -03:00
Martín Lucas Golini
d4ec180134 ecode: allow configuring the default working directory of a new terminal (SpartanJ/ecode#857). Fix border of app_hint.
eepp: UIHTMLTable column width calculation improvements.
2026-04-03 18:21:44 -03:00
Martín Lucas Golini
6ed9193b9e Improvements in the HTML Table performance, still WIP. 2026-04-01 01:48:28 -03:00
Martín Lucas Golini
8b111779a0 Some extra WIP for the HTML support, fixed layout calculation on HTML tables and rich text elements. Fixes in the demo, probably test won't pass yet (i cannot repro the failure!). 2026-03-28 23:14:28 -03:00
Martín Lucas Golini
a14b8f4de0 Minor fix in UIHTMLTable layouting.
Add *very* basic HTML test. And *very* basic HTML demo. This is more than basic, it's just that I need something to quickly test stuff.
2026-03-28 02:45:24 -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
8260cf6999 Added an option to set to always open terminal in exclusve mode (SpartanJ/ecode#800).
Set language extension priorities per-project.
Added "reset-global-language-extensions-priorities" and "reset-project-language-extensions-priorities" commands.
Added FreeBASIC and QB64 syntax highlighting.
Fixed a minor bug that loaded the same language into memory multiple times.
2026-01-09 01:38:12 -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
e3ca29842f Rename TextLayouter and move the static functions to TextLayout.
Several fixes in AI Assistant chat UI.
TextLayout cache is now returned as a shared pointer to avoid copying the struct each time.
Some minor changes in FontTrueType and FontManager.
ShapedGlyph now stores the TextDirection of each glyph.
2025-11-17 00:23:58 -03:00
Martín Lucas Golini
218732b611 Added more tests. 2025-11-14 23:53:29 -03:00
Martín Lucas Golini
7fc992ef2a Fix RTL text rendering. 2025-11-11 01:43:43 -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
88d419e242 Testing a few things. 2025-11-01 20:03:23 -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
Martín Lucas Golini
4d61c57e9c Improve test (use a non-common extension). 2025-10-12 16:24:44 -03:00
Martín Lucas Golini
d75c0991cc Some improvements to TextDocument::fileMightBeBinary and added some unit tests for it. 2025-10-12 14:04:21 -03:00
Martín Lucas Golini
ae5d1baab1 Added unit tests for text encoding.
Updated the CI scripts.
Clean up libzip files with invalid characters.
2024-05-10 21:21:20 -03:00