summaryrefslogtreecommitdiff
path: root/src/ui/window.c
AgeCommit message (Collapse)Author
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-09-07Mobile: Redoing PreferencesJaakko Keränen
Contents of the Preferences split panel view are created based on arrays of MenuItems. This removes the confusing indirection of trying to modify the desktop widget tree to fit mobile.
2021-08-29Merge branch 'dev' into work/v1.7Jaakko Keränen
2021-08-29Fixed running under KMSDRM video driver on LinuxJaakko Keränen
SDL2 works fine without a window system, but it seems the DPI-querying API will crash so let's not call that. Should still add command line options to control the screen resolution, i.e., overriding the window size.
2021-08-22Window: Update UI layout after split changesJaakko Keränen
2021-08-20Added build options to force phone/tablet mobile UIJaakko Keränen
These options are mostly useful on mobile platforms that are not iOS or Android, and for testing purposes.
2021-08-20Window: Update UI layout after split changesJaakko Keränen
2021-08-20Window: Allow Escape to affect all splitsJaakko Keränen
Allow dismissing sidebars in the unfocused split.
2021-08-17Window: Redraw tweaks on MSYSJaakko Keränen
2021-08-17Window: Experimenting with draw-driven UI resizeJaakko Keränen
The notification about UI resize will not occur until a draw has been started, so we can avoid any unnecessary resize handling between draws. May not work?
2021-08-15SDL 2.0.16 line drawing regression (OpenGL renderer)Jaakko Keränen
This is not specific to macOS, but seems to affect OpenGL rendering on all platforms.
2021-07-31Window: Update contents when (re)shownJaakko Keränen
IssueID #311
2021-07-31Window: Fonts reinit after render device/targets resetJaakko Keränen
2021-07-23Window: Mouse wheel events vs. split modeJaakko Keränen
Only process mouse wheel events on the root over which the mouse is currently.
2021-06-12CleanupJaakko Keränen
2021-05-20Window: Allow all mouse clicks to change active splitJaakko Keränen
2021-05-18Mobile: No view split on phone; layout fixesJaakko Keränen
2021-05-18App: Attempt to fix app restore issueJaakko Keränen
Cached content like font glyphs are (were?) not being restored when returning to foreground.
2021-05-18App: Fixed init of UI palette on first runJaakko Keränen
IssueID #275
2021-05-17SidebarWidget: Animate show/hideJaakko Keränen
Also addressed clipping issues when using multiple roots.
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-14Window: Fixed crash at shutdownJaakko Keränen
2021-05-09Window: Workaround for lack of window expose eventJaakko Keränen
IssueID #264
2021-05-09Window: Fixed closing all tabs in the left splitJaakko Keränen
Take the current tab from the other side if the active side is out of tabs.
2021-05-09Window: Keep the current tab when unsplittingJaakko Keränen
2021-05-07Window: First move with custom frame may be cancelledJaakko Keränen
Use of uninitialized memory.
2021-05-06Window: Split focus indicator in light modeJaakko Keränen
Also fixed a stale focused widget pointer when closing the split.
2021-05-05Window: Pinning preference vs. new splitsJaakko Keränen
The pinning direction affects which side links are opened by default.
2021-05-04Split view pinning, "linksplit" special tagJaakko Keränen
A navigation aid: when in split mode, option to keep one of the tabs pinned to the current page so all links open to the side. Added "linksplit" bookmark tag to activate view splitting when opening a link on the page.
2021-05-04Window: Opening links to the sideJaakko Keränen
2021-05-03Window: Dispatch key events only to the root with key focusJaakko Keränen
2021-05-03Paint: Fixed build with older SDL versionsJaakko Keränen
IssueID #259
2021-05-03Added menu items for view splittingJaakko Keränen
2021-05-02Window: Added split swapping; cleanupJaakko Keränen
2021-04-30Windows: Fixed custom frame in split modesJaakko Keränen
Hide duplicated window controls.
2021-04-30InputWidget: Highlight only in focused rootJaakko Keränen
2021-04-30Revising and fixing widget layoutJaakko Keränen
Some of the logic for arranging widgets was invalid, leading to problems with the navbar: - cannot resize children if own size depends on their size - expanding children won't expand unless resizing all children
2021-04-30Window: Moving tabs between splitsJaakko Keränen
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
2021-04-28Working on multiple UI rootsJaakko Keränen
Root focus switching and opening links in the other root.
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-27Keeping track of current UI rootJaakko Keränen
The current UI root should always be set explicitly before the UI is accessed.
2021-04-27Refactor: Added a proper Root objectJaakko Keränen
`Root` encapsulates the root widget and the associated UI state.
2021-04-27Refactor: Moving RootData so it can become non-global stateJaakko Keränen
2021-04-27Refactor: Separating UI creation and root widget from WindowJaakko Keränen
Making the way for multiple roots/windows.
2021-04-27Window: Display DPI is only used to enlarge UI, never shrinkJaakko Keränen