Age | Commit message (Collapse) | Author |
|
|
|
Finding cursor position via coordinates. Handling the mark. Visual wrapped lines vs. content lines. Vertical scrolling inside the visual range.
|
|
|
|
`InputWidget` needs to be better at handling multiple lines. The previous implementation assumed that the content was short enough to be fully redrawn each frame, which is not a great idea when you have thousands of lines.
|
|
Socket can now tell us how much data is being sent, so the upload progress can be monitored.
|
|
There may be a bug in `TlsRequest` when sending out large amounts of data.
|
|
`UploadWidget` allows entering long-form text or dropping a file for uploading.
InputWidget isn't yet well suited for really long documents... Some optimizations will be needed.
|
|
A better way to keep track of the scheme used in a link.
|
|
|
|
The user is able to ignore certificate expiry and continue loading the page regardless. This adds a one hour exception to the expiration date.
|
|
If a server sends a different certificate (checked by matching public key fingerprints), abort the connection at the TLS handshake stage.
A new error page is shown explaining the situation. A button is provided for conveniently opening Page Information, where trust can be updated.
The file format of "visited.txt" was updated, so it is now called "visited.2.txt". The new format includes server port numbers, and the fingerprints are calculated based on public keys.
IssueID #308
IssueID #309
IssueID #310
|
|
`run_Font_` was moving the Y cursor position twice for each line break.
Checking for the HarfBuzz UNSAFE_TO_BREAK flag leads to some unexpected behavior near edges of words.
The old `tryAdvanceNoWrap` method should return the maximum horizontal advance of the text, and not the cursor position's advance.
`draw_WrapText` used the wrong foreground color.
`TextBuf` now uses WrapText to do all the measuring and drawing, making things much simpler.
|
|
|
|
|
|
|
|
|
|
It appears HarfBuzz's script autodetection isn't working here for Arabic.
|
|
Updated the old simple text renderer for the new WrapText wrapping.
|
|
|
|
|
|
The base text direction of each line of text is determined when the document is laid out. When drawing runs, use this predetermined base direction.
|
|
There is still some weirdness with wraps that occur inside a bidi region. The problem is that text drawing is done later, in smaller segments, without knowledge of the paragraph base direction. The base direction should be saved into each GmRun as a flag.
|
|
|
|
|
|
When an URL is visited, ensure that links to that URL update their visual state.
|
|
IssueID #297
|
|
IssueID #229
|
|
The input dialog shouldn't respond to the generic "cancel" command because that'll easily lead to loss of user-entered text.
"cancel" is emitted in many situations, including right before a context menu is opened.
|
|
|
|
Use advance and not bounds.
|
|
The distinction between measure_Text and advance_Text was not very clear. Now there are only measure_Text functions that return both the bounds and the cursor position advancement, and the appropriate metrics are used by the caller.
|
|
|
|
|
|
AttributedText converts the text to a visual UTF-32 string. This allows it to be processed in a more straightforward fashion, and the indirection allows reordering via FriBidi.
|
|
|
|
|
|
Allow using both `pkg-config` provided libraries for local builds, and
configuring more minimal versions for distribution. HarfBuzz has a
bunch of dependencies by default.
TODO: ENABLE_FRIBIDI_BUILD should cause a static library to be built.
|
|
Todo: This seems a little late in the game. The reordering should be done for each paragraph of text.
|
|
|
|
If glyphs are borrowed from a different font, the offset/advance are adjusted to fit the correct monospacing (for pictographs/emoji).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|