Age | Commit message (Collapse) | Author |
|
|
|
|
|
Drawing nows happens directly when the Dialog or Widget draw methods are
called. This makes it easy to debug why a particular low level draw
method was called, by inspecting the call stack.
This replaces the notion of "buffering" by two independant ways to
control what is drawn and where:
- The active layer is used to select whether the foreground or
background part of the dialogs are rendered by the draw calls.
- The active surface is used to select if the draw calls affect the back
buffer or the screen.
The foreground layer of the active dialog is drawn directly to the
screen. Its background layer is drawn to the back buffer. This way
widgets can restore the back buffer in order to update without having to
redraw the dialog's background.
Dialogs lower in the dialog stack are drawn entirely to the back buffer.
|
|
|
|
The redraw is already handled by the GUI main loop
|
|
|
|
The previous combination of a fixed 10 milliseconds delay and time since
last update checks meant that in most cases 20 milliseconds elapsed
between two calls to updateScreen resulting in a 50 fps framerate. On
systems with wait for vsync enabled that meant that some frames were
missed.
The new frame limiter waits for a variable delay equal to the non
consumed time in the slot allocated to the frame.
|
|
This reverts commit eefa72afa1978a9dea10f5b1833fcc8f58a3468e.
With this patch ConfigManager is broken.
|
|
This fixes tons of warnings with clang from a recent xcode version on
macOS (and possibly other systems) complaining that an instantiation
of _singleton is required but no definition is available.
|
|
|
|
|
|
|
|
This is achieved by adding a list of GuiObject to delete to GuiManager
and doing the deletion in GuiManager::runLoop.
The main purpose of this is to avoid the deletion of ButtonWidget object
while their ButtonWidget::sendCommand function is being called. For
example the sendCommand of the Apply button of the OptionsDialog
may cause a rebuild (if the GUI language was changed) which tries to
delete the widgets inside the OptionsDialog, including the Apply button.
|
|
GUI: Fix "eaten" event by dialog which was closed
|
|
ScummVM would probably crash when using a theme without
SaveLoadCloudSyncProgress dialog described.
|
|
|
|
Previously, they only reacted to the mouse position once it was moved.
This meant that if the cursor was on a button that just gained focus,
it did not highlight.
Fixes #7101.
|
|
|
|
This reduces the cursor lags on some systems.
|
|
This patch fix bug #6841
If this runloop catches both the repeated key down event and the key up event.
In this case they key down will close the tooltip, because it got closed the key up event will be ignored.
As a result the LauncherDialog will never get notified the SHIFT state might have changed and not adapt the button description.
In this patch we just pass event to topDialog, if activeDialog was closed.
Also we must check, If topDialog doesn't exist.
|
|
|
|
This makes it consistant with other references to fullscreen.
|
|
|
|
This should *hopefully* really fix all GUI crashes when resizing with OpenGL.
|
|
|
|
|
|
|
|
|
|
This also makes the keymapper be in charge of keymapping logic
|
|
|
|
|
|
|
|
|
|
|
|
The bug in question is: "LAUNCHER: Can't quit from unsupported game dialog".
|
|
Thanks LordHoto
|
|
The removes a bit of waste when gui dialogs are opened.
Multiple gui keymaps were being pushed.
|
|
|
|
This because theoretically the GUI could be run without a dialog.
This also fixes the situations where the GUI keymap gets popped more times than pushed.
Thanks sev
|
|
|
|
This fixes a problem where opening the keymapper dialog would cause the current game
keymap to be displayed as the active keymap but then changing the keymap selection
back to it would cause the GUI keymap to be displayed as the active one. The GUI keymap
was indeed at the top of the stack but that's not the desired effect.
Also move the pushing and popping of the keymap to Dialog::Open/Close
Also constantify the GUI keymap name
|
|
Silences the clang warning:
static data member specialization of '_singleton' must
originally be declared in namespace 'Common'; accepted as a C++0x
extension [-Wc++0x-extensions]
Wrapping "namespace Common {}" around the macro assignment causes clang
to complain about a spurious semicolon, and removing the semicolon at
the end of the macro causes some editors to misbehave.
Changing the requirement of using the macro in one namespace (the
global) to another (Common) seems a small price to pay to
silence a warning.
|
|
I manually resolved all conflicts, and inspected every single change.
Many were due to the version string mismatch and thus easily resolved.
The MSVC project files add in the 1-3-0 branch were not merged,
neither where the changes to gui/themes/translations.dat.
Conflicts:
NEWS
backends/base-backend.cpp
backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
backends/module.mk
backends/platform/ds/arm9/makefile
backends/platform/psp/README.PSP
backends/platform/samsungtv/main.cpp
backends/platform/samsungtv/samsungtv.cpp
backends/saves/posix/posix-saves.cpp
base/commandLine.cpp
base/internal_version.h
base/main.cpp
common/array.h
configure
devtools/create_project/create_project.cpp
dists/android/AndroidManifest.xml
dists/android/plugin-manifest.xml
dists/iphone/Info.plist
dists/irix/scummvm.spec
dists/macosx/Info.plist
dists/redhat/scummvm-tools.spec
dists/redhat/scummvm.spec
dists/scummvm.rc
dists/slackware/scummvm.SlackBuild
dists/wii/meta.xml
engines/sci/parser/vocabulary.cpp
engines/tinsel/handle.cpp
gui/themes/translations.dat
|
|
|
|
the trunk.
"DS: Prevent the command line help string from being included in the binary."
5f3a90a5f6911188b8d1ded08dbdf6d233e9eb7b
"GUI: Allow disabling of Mass Add dialog. Saves a few Kb of binary size on the DS, and is not particularly useful on that platform."
240ff87cf4472538d25a1c5628c8d15f1791ab1c
"GUI: Don't search for theme zip files on startup when running on the DS. Themes aren't supported anyway, and the search severely delays startup."
fe3b18ce0df03117081e83d99f4a2cbd864d3286
|
|
|
|
Some backends may break as I only compiled SDL
|
|
Fixes crash on droid:
game -> gmm -> save -> click entry (EVENT_SCREEN_CHANGED due to vkeybd
beeing shown) -> delete -> confirm
another EVENT_SCREEN_CHANGED gets in simultaneously (due vkeybd being
deactivated) and the parent dialog updated Rects out of bounds.
|
|
This is used when changing directories in the 'add game' dialog or when
choosing another tab in the option dialog. Only blit to the overlay on
the final pass. Gets rid of highly annoying flickers on androids
|
|
|