Age | Commit message (Collapse) | Author |
|
# Conflicts:
# src/ui/documentwidget.c
# src/ui/inputwidget.c
|
|
In the `tryAdvance*` methods, don't advance past newlines since this is intended to be a line-based operation.
|
|
Up/down movement sometimes ended up in the wrong cursor position.
Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
|
|
Improved TextBuf to handle word/bound-wrapped content.
|
|
|
|
|
|
Navigation history keeps final GmDocuments in memory for quicker restore when navigating; no need to redo layout.
Changed the color escape to Vertical Tab so Carriage Returns can be left in the source, reducing need to normalize spaces.
|
|
|
|
|
|
|
|
A new version of the typeface, now with all font variations needed
for page content as well.
|
|
Word wrap position must not go past end of input.
|
|
A color escape may be longer than two characters.
`run_Font_()` was not parsing extended color escapes correctly.
|
|
Kerning has been broken by the changes for adaptive Emoji spacing inside monospace text. Now the current X position is updated correctly also for kerning.
|
|
Glyphs were inadvertently being cached already during measuring for layout.
DocumentWidget was buffering graphics too early. Now buffered draws are prepared during normal drawing, when needed.
|
|
Ensure no blending is done. Glyphs are supposed to be cached as-is.
|
|
|
|
When wrapping, continue after whitespace.
|
|
|
|
Added a font for Arabic, making the glyphs available for rendering.
Of course, this doesn't solve Arabic text rendering yet. There is still the RTL direction to work out and possibly some missing glyph combining rules.
IssueID #195
|
|
Double click to select by word, triple click by paragraph.
IssueID #134
|
|
Set the correct break position in noWrap mode.
|
|
Added the Noto Sans Simplified Chinese font. This adds another ~10 MB to resources.lgr, increasing the urgency of distributing fonts via separate downloads.
The font table was getting difficult to manage, so now the sizes are broken out into a separate enum, and the table is reordered to match the FontSize order.
|
|
This was complicated by the wrap position being placed one character later than intended.
IssueID #201
|
|
IssueID #201
|
|
Mobile "Find on page" is now in the nav menu. Added icons to sidebar toggle items.
|
|
Fill glyph backgrounds individually based on current color.
|
|
|
|
Don't force the same advance on all glyphs, since some don't advance the position.
IssueID #204
|
|
Previously glyph caching was done during text rendering, but that would mean lots of swapping between rendering stuff to the cache and then immediately afterward rendering to the display. There would be a swap per each new glyph.
Now the entire document's glyphs are precached at once when a request is finished. Glyphs are also cached in larger batches when new text needs to be drawn.
|
|
|
|
The extra bold that is used for titles is too bold for links.
|
|
Links are important enough to stand out clearly. A bold font can be tinted with the primary theme color without losing readability.
|
|
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere.
IssueID #166
|
|
Also various widget fixes/improvements.
|
|
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
|
|
Allow the UI and monospace fonts to be used as page content fonts.
|
|
|
|
|
|
|
|
|
|
|
|
Handle finger down, motion, and up events to implement basic taps, long presses, and inertia scrolling.
Much finetuning still to be done, and certain widgets like input fields and scrollbars need a direct drag mode (they were working fine via the "mouse" events already).
|
|
Use a double \r for color IDs 95 and beyond.
|
|
|
|
Saving the window rectangle and snap mode. Frame title alignment.
|
|
Glyphs are now rasterized only when they are needed for drawing. Otherwise, only the metrics and the cache position are set.
This is more robust as we can retry rasterizing glyphs that previously failed, and faster because measuring (e.g., document layout) doesn't rasterize anything.
|
|
Sometimes a glyph was rasterized but it was not possible to create a texture out of it. In this case, the surface was never released.
|
|
We can use a smaller glyph cache if we clear it when it fills up. Even a large cache would eventually fill up, so clearing is a good strategy anyway. Clears occur still rather infrequently.
|
|
The bold UI label font is used for highlighted sidebar items and default buttons.
|