Age | Commit message (Collapse) | Author |
|
MainWindow represents (one of) the main windows of the app, while the basic Window will be a used for popups.
Only MainWindow supports split view modes.
|
|
|
|
|
|
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 (?).
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
These options are mostly useful on mobile platforms that are not iOS or Android, and for testing purposes.
|
|
|
|
Allow dismissing sidebars in the unfocused split.
|
|
|
|
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?
|
|
This is not specific to macOS, but seems to affect OpenGL rendering on all platforms.
|
|
IssueID #311
|
|
|
|
Only process mouse wheel events on the root over which the mouse is currently.
|
|
|
|
|
|
|
|
Cached content like font glyphs are (were?) not being restored when returning to foreground.
|
|
IssueID #275
|
|
Also addressed clipping issues when using multiple roots.
|
|
- 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.
|
|
|
|
IssueID #264
|
|
Take the current tab from the other side if the active side is out of tabs.
|
|
|
|
Use of uninitialized memory.
|
|
Also fixed a stale focused widget pointer when closing the split.
|
|
The pinning direction affects which side links are opened by default.
|
|
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.
|
|
|
|
|
|
IssueID #259
|
|
|
|
|
|
Hide duplicated window controls.
|
|
|
|
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
|
|
|
|
Added a menu for changing the split mode.
|
|
Root focus switching and opening links in the other root.
|
|
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.
|
|
|