Age | Commit message (Collapse) | Author |
|
|
|
Switched the phone sidebar to use the iOS half/full-height sliding sheet design. This is better for finger reachability and for retaining access to the current page.
|
|
|
|
The windowID was expected to be set, but wasn't for touch events.
IssueID #351
|
|
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 (?).
|
|
A gesture that ends outside the widget can still be used for momentum scrolling, but the wheel event didn't use the right coordinates.
|
|
Allow the swiping finger to exit the widget without stopping the swipe.
|
|
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.
|
|
When a page is opened from the sidebar, swiping back will now reopen the sidebar. Another swipe will dismiss the sidebar and navigate back as usual.
Attempted to cache theme colors in GmDocument, but there were issues with theme changes.
|
|
Swipes back and forward are now working, although there are some glitches remaining. Most notably, when swiping back the previous document does not appear until the finger is released.
|
|
|
|
Edge swiping now has its own set of commands that are posted, allowing widgets to respond more flexibly.
|
|
|
|
Use the mobile layout on tablets as well.
|
|
Edge swipe direction is determined in a more dynamic way.
|
|
- fill the safe area with theme background
- don't set button hover states if dragging/scrolling
- edge-draggable widgets must be flagged as such
- Preferences top panel offset matches sibling panels' offset
- allow toolbar to unhide when document is not scrollable
|
|
Several regressions occurred when the split view mode was implemented.
|
|
Up/down movement sometimes ended up in the wrong cursor position.
Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
|
|
Various refactorings and fixes to handle root-global and window-global state, root-specific palettes, and proper coordinate system changes (e.g., when opening menus).
UI events are posted and handled in the context of a specific root.
|
|
Most actions should occur in the context of the current UI root.
|
|
|
|
`Root` encapsulates the root widget and the associated UI state.
|
|
|
|
When a widget runs out of scrollable area, stop any momentum scrolls.
|
|
The scrolling stutters were being caused by timing and not slow text rendering. Now the momentum scroll is locked to display refresh rate.
|
|
|
|
Continue a scroll if there's still a momentum scroll ongoing instead of checking long-press.
|
|
|
|
There was an inadvertent double click.
|
|
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
|
|
Scrolling must prevent the hover state from being updated both in documents and lists.
|
|
Notify when hover state should be updated again after scrolling.
|
|
|
|
Each finger is emitting scroll events at their own position, enabling scrolling multiple widgets at the same time.
|
|
After the hold has been detected, require a larger motion to begin dragging.
|
|
On mobile, the search bar appears at the top of the page.
Keep the haptic engine running so there is no delay before each effect.
After a long-press, remove the "mouse" from the display area so there is no misleading hover.
Widget border top/bottom use metrics.
|
|
|
|
|
|
Allow long-pressing in touchDrag widgets.
|
|
|
|
|
|
|
|
Sliding panels and left-edge swipes.
|
|
Avoid mouse motion events to prevent spurious hover states in the UI.
|
|
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere.
IssueID #166
|
|
|
|
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
|
|
Overflow-scrollable allows momentum scrolls. Adjusting fonts in phone sheets.
|