summaryrefslogtreecommitdiff
path: root/src/ui/touch.c
AgeCommit message (Collapse)Author
2021-10-23CleanupJaakko Keränen
2021-10-20Touch: Fixed motion eventsJaakko Keränen
The windowID was expected to be set, but wasn't for touch events. IssueID #351
2021-09-18Tracking hover widget; cleanupJaakko Keränen
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 (?).
2021-09-17Touch: Fixed momentum scrolling outside widgetJaakko Keränen
A gesture that ends outside the widget can still be used for momentum scrolling, but the wheel event didn't use the right coordinates.
2021-09-17Touch: Swipes interact at start positionJaakko Keränen
Allow the swiping finger to exit the widget without stopping the swipe.
2021-09-13Mobile: New selection logic for InputWidgetJaakko Keränen
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.
2021-09-12Mobile: Better Settings tap targets; fixed safe area drawingJaakko Keränen
2021-09-12Mobile: Draw optimizations; focus handlingJaakko Keränen
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.
2021-06-14Swiping and sidebar; various tweaksJaakko Keränen
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.
2021-06-13Mobile: Working on swipe navigationJaakko Keränen
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.
2021-06-13Touch: Swiping away the sidebarJaakko Keränen
2021-06-12Touch: Revising edge swiping eventsJaakko Keränen
Edge swiping now has its own set of commands that are posted, allowing widgets to respond more flexibly.
2021-05-17Touch: Fixes for split view event dispatchJaakko Keränen
2021-05-17Mobile: Preferences on tablet devicesJaakko Keränen
Use the mobile layout on tablets as well.
2021-05-17Mobile: Swipe improvementsJaakko Keränen
Edge swipe direction is determined in a more dynamic way.
2021-05-15Mobile: Various improvements and fixesJaakko Keränen
- 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
2021-05-14Mobile and iOS: Various fixes and cleanupJaakko Keränen
Several regressions occurred when the split view mode was implemented.
2021-05-14InputWidget: Fixed cursor moving; scroll the dialogJaakko Keränen
Up/down movement sometimes ended up in the wrong cursor position. Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
2021-04-28Working on multiple UI rootsJaakko Keränen
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.
2021-04-27Refactor: Update event processing to not assume a single UI rootJaakko Keränen
Most actions should occur in the context of the current UI root.
2021-04-27UI root sizing is independent of window sizingJaakko Keränen
2021-04-27Refactor: Added a proper Root objectJaakko Keränen
`Root` encapsulates the root widget and the associated UI state.
2021-04-21Mobile: Working on scroll bounce behaviorJaakko Keränen
2021-04-21Touch: Stopping momentum scrollJaakko Keränen
When a widget runs out of scrollable area, stop any momentum scrolls.
2021-04-20iOS: Fixed momentum scroll timingJaakko Keränen
The scrolling stutters were being caused by timing and not slow text rendering. Now the momentum scroll is locked to display refresh rate.
2021-04-20CleanupJaakko Keränen
2021-04-20Touch: Resuming a drag scroll from momentumJaakko Keränen
Continue a scroll if there's still a momentum scroll ongoing instead of checking long-press.
2021-04-20Mobile: Fixed invalid touch positionsJaakko Keränen
2021-04-12Touch: Fixed long-press on input fieldsJaakko Keränen
There was an inadvertent double click.
2021-04-11Mobile: Long press to select; navbar page menuJaakko Keränen
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
2021-04-10Touch: Improved hover behaviorJaakko Keränen
Scrolling must prevent the hover state from being updated both in documents and lists.
2021-04-10Touch: Notify widget when tap is about to beginJaakko Keränen
Notify when hover state should be updated again after scrolling.
2021-04-10Touch: Multitouch pinch eventsJaakko Keränen
2021-04-10Touch: Multitouch scrollingJaakko Keränen
Each finger is emitting scroll events at their own position, enabling scrolling multiple widgets at the same time.
2021-03-20Touch: Adjusted tap-and-hold gestureJaakko Keränen
After the hold has been detected, require a larger motion to begin dragging.
2021-03-15Mobile: Find on page, various minor tweaksJaakko Keränen
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.
2021-03-13Touch: Fixed long press on input fieldsJaakko Keränen
2021-03-13Touch: Long-press context click on any widgetJaakko Keränen
2021-03-12Touch: Drag behavior for input fieldsJaakko Keränen
Allow long-pressing in touchDrag widgets.
2021-03-11Mobile: Adjustments and fixes for iOSJaakko Keränen
2021-03-10Mobile: Styling for regular dialogsJaakko Keränen
2021-03-10Edge-dragging preference panelsJaakko Keränen
2021-03-09Mobile: Revising phone-style dialogsJaakko Keränen
Sliding panels and left-edge swipes.
2021-03-08Fine-tuning touch behaviorJaakko Keränen
Avoid mouse motion events to prevent spurious hover states in the UI.
2021-03-07Processing per-pixel scroll eventsJaakko Keränen
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere. IssueID #166
2021-03-07iOS: Haptic tap when long-pressingJaakko Keränen
2021-03-06Mobile: Dealing with keyboard heightJaakko Keränen
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
2021-03-06Mobile: Widget interaction and appearanceJaakko Keränen
Overflow-scrollable allows momentum scrolls. Adjusting fonts in phone sheets.
2021-03-04Touch: Adjusting long pressJaakko Keränen
2021-03-04Touch: Slow drag adjustmentJaakko Keränen