Age | Commit message (Collapse) | Author |
|
Resource paths, runtime data, ignore mouse events. Assume that
the Java side tells us the display pixel density via a command
line argument.
|
|
This was incorrect on X11 at least. Should still test on Windows.
IssueID #399
|
|
IssueID #378
|
|
Ensure that a draw is not started if it is already ongoing, especially when using the resize event watcher.
|
|
# Conflicts:
# CMakeLists.txt
# Depends.cmake
# src/lang.c
|
|
A tall popup menu needs to use overflow scrolling, but the size of the display wasn't considered. Now a popup window is fit to the usable bounds of the display.
|
|
Resources are now stored in a ZIP archive, and it comes with an explicit version number. All the old embed/bincat stuff was removed as unnecessary.
resources.lgr is also a valid fontpack, for loading the built-in fonts.
IssueID #363
|
|
|
|
|
|
The hover widget needs updating if the currently visible tab changes. Normally the hover widget is only updated when the mouse has moved.
|
|
|
|
|
|
The built-in fonts are loaded via FontPack, and the font table is now constructed dynamically based on available fonts.
A full set of variants (style, size) are prepared for each font, but some of the data gets allocated lazily when needed.
GmRun needed a larger allocation for fonts, so now all the fields are combined into a single bit field.
TODO: Glyph scaling, vertical offsets, and symbol lookup are still not fully working.
|
|
|
|
|
|
|
|
Window placement was not restored correctly when the window was maximized. Maximizing a window (on Windows) causes a spurious move event to be received from SDL, and that would mess up the remembered position. Now window placemenet is saved after a run through the event loop, so the rest of the window messages have been handled.
|
|
This is quite a hack, but Win32 apps don't seem to have documented
access to dark mode.
|
|
|
|
|
|
The renderer is created separately so it's possible to set the window
position at creation time.
Popup window use basic software rendering for (hopefully) better
performance.
|
|
|
|
Some deleted widgets were kept around in the root's onTop list.
|
|
|
|
|
|
There is no member of d with name win, but base seems to have one.
|
|
Incremented the version of state.lgr so it can include bookmark folder open/closed state for each of the two/four sidebars.
|
|
The user can now create bookmark folders, and drag bookmarks into them. Folders can also be nested.
The bookmark sorting menu item sorts inside the chosen folder/root.
Remote bookmark sources appear also as folders, although they cannot be sorted/edited.
IssueID #339
|
|
When the window appears, it should have all the actual contents and not a placeholder.
|
|
|
|
|
|
|
|
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.
|
|
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.
|