Age | Commit message (Collapse) | Author |
|
|
|
|
|
These changes concern the situation when the attributes of text (i.e., font, color) are changed via escape sequences.
The concept of "base attributes" was added so that the low-level text renderer knows which font/color to set when a "reset" escape sequence is encountered. This depends on what kind of text is being renderer, e.g., preformatted or regular paragraphs.
The base attributes were added as variables in Text because it was getting unwieldy to pass all the information via the draw/measure/WrapText functions.
GmDocument now has a GmTheme struct that collects the font and color information into a single place.
|
|
|
|
Popup context menus now use NSMenu. There are still has a few glitches with the navbar identity button, but most menus are working.
SDL required another little tweak to force it to update mouse button state after the synchronously handled context menu goes away. Otherwise SDL's internal mouse button state shows that the right mouse button is held down.
|
|
Toe dipping into multiple window support by allowing popup menu widgets to be displayed in independent windows.
This is not a 100% replacement for native menus, but it gets pretty close.
|
|
The hover widget may get deleted during event processing, so Window keeps track of it for refreshing.
TODO: Random crash when a destroyed menu is still in the onTop array (?).
|
|
Allow the swiping finger to exit the widget without stopping the swipe.
|
|
|
|
|
|
Fixed issues: scrollbar goes under toolbar, value input dialog grows too tall, Undo/Select All in the clip menu.
|
|
|
|
Touch-based interaction requires a different kind of selection and copy/paste behavior. This isn't done yet; especially multi-line text still needs work.
|
|
|
|
|
|
Widgets can now be marked for buffering their contents, which is useful if their contents change seldom but they are drawn often.
For example, the navbar is always visible but doesn't change very often, and during animations menu contents are static but there is a moving animation so everything gets drawn 60 FPS.
Focus handling was also improved so the lookup results can be scrolled while entering text, and one can tap outside an input field to unfocus it.
|
|
Overflow-scrolling should be allowed over input fields, too.
Fixed placement of the URL label in the link context menu.
|
|
The SDL text input rectangle function applies some sort of offset that is inappropriate on iOS.
|
|
|
|
In word-wrapped lines, a character will be hit multiple times and the
latest hit is what counts.
|
|
|
|
Emoji variation selectors would confuse cursor positioning and insertion behavior, breaking the assumption that each line ends with a single newline.
|
|
These were working in v1.5 but were broken in v1.6.
|
|
In the long-form text entry mode, don't use the user's configured Return key behavior, since that's meant for shorter input fields.
Input fields no longer lose focus when the window loses input focus, but the cursor will stop blinking. This makes it easier to resume typing after switching window focus, and also on macOS the symbol picker is easier to use.
|
|
For example, any URL field should disallow line breaks. The line break modifier preference should be disregarded in an input field where there are no line breaks.
|
|
|
|
Slowed down the cursor blinking by half. Adjusted the focused input widget colors to be less harsh in dark mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cursor position was miscalculated because WrapText works a bit differently with maxWidth==0.
Selection was not always updated as intended.
|
|
|
|
Fixed update after undo. Line wrap long destination URLs. Don't open a new upload dialog if one is already open.
|
|
Tweak that lets a single-line editor (URL field) keep its first line visible when unfocused.
|
|
|
|
Only process mouse wheel events on the root over which the mouse is currently.
|
|
|
|
|
|
|
|
|
|
User preference for line break / accept behavior in input fields. Still needs to be added to the Preferences dialog.
|
|
|
|
At a low level when measuring/drawing text, replace all characters with an override character.
|
|
|
|
|
|
Cursor movement and pasting.
|
|
|