scummvm/gui
Bastien Bouclet 4d0bb753e4 GUI: Remove the ThemeItem draw queues
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.
2018-03-12 11:46:04 +01:00
..
animation GUI: Added animation classes 2016-08-24 16:07:55 +06:00
themes I18N: Regenerate translations data file 2018-03-12 05:05:05 +01:00
widgets GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
about.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
about.h GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
Actions.cpp GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Actions.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
browser_osx.mm OSX: Make sure the native file browser runs in the main thread 2017-07-26 23:31:24 +01:00
browser.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
browser.h OSX: Make sure the native file browser runs in the main thread 2017-07-26 23:31:24 +01:00
chooser.cpp GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
chooser.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
console.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
console.h GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
credits.h CREDITS: Add credits for RISC OS port 2017-11-21 14:51:14 -06:00
debugger.cpp GUI: Fix memory leak with empty debugger input 2017-09-29 18:15:49 +02:00
debugger.h GUI: Add support for double quoted parameters in debugger 2017-09-04 10:04:26 -04:00
dialog.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
dialog.h GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
downloaddialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
downloaddialog.h JANITORIAL: Remove spaces at the end of the line 2016-08-24 16:07:55 +06:00
editgamedialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
editgamedialog.h GUI: Add Apply button in global options dialog 2016-10-30 15:43:14 +00:00
editrecorddialog.cpp GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
editrecorddialog.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
error.cpp GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
error.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
EventRecorder.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
EventRecorder.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
filebrowser-dialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
filebrowser-dialog.h BBVS: Implement file chooser for Air Guitar minigame 2015-11-07 13:26:55 +01:00
fluidsynth-dialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
fluidsynth-dialog.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
gui-manager.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
gui-manager.h GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
Key.cpp GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Key.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
KeysDialog.cpp GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
KeysDialog.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
launcher.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
launcher.h GUI: Add possibility to rebuild the launcher dialog 2016-10-30 18:56:35 +00:00
massadd.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
massadd.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
message.cpp GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
message.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
module.mk GUI: Fix non-macOS/iOS builds 2017-09-10 22:35:02 -05:00
object.cpp GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
object.h GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
onscreendialog.cpp GUI: Use "button" instead of "btn" in variable names. 2016-01-24 03:41:29 +01:00
onscreendialog.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
options.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
options.h GUI: Remove mostly-broken audio output sample rate control 2017-09-12 11:27:45 -05:00
predictivedialog.cpp GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
predictivedialog.h GUI: Remove 'sticky button' feature 2016-04-14 18:37:12 +03:00
recorderdialog.cpp GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
recorderdialog.h GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
remotebrowser.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
remotebrowser.h GUI: Add error message in RemoteBrowser 2016-08-24 16:07:55 +06:00
saveload-dialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
saveload-dialog.h ALL: Fix compilation with disabled cloud but enabled libcurl 2016-10-17 18:55:22 +02:00
saveload.cpp BASE: Remove bad casts between incompatible Plugin types 2017-12-03 20:26:38 -06:00
saveload.h BASE: Remove bad casts between incompatible Plugin types 2017-12-03 20:26:38 -06:00
storagewizarddialog.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
storagewizarddialog.h GUI: Add Container in StorageWizardDialog 2016-08-24 16:07:55 +06:00
themebrowser.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
themebrowser.h GUI: Only change theme when applying new options 2016-10-30 16:25:42 +00:00
ThemeEngine.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
ThemeEngine.h GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
ThemeEval.cpp JANITORIAL: Remove trailing spaces 2016-07-03 12:24:53 +02:00
ThemeEval.h GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
ThemeLayout.cpp GRAPHICS: Restore layout debugging capabilities 2016-06-01 13:16:12 +02:00
ThemeLayout.h JANITORIAL: Remove trailing spaces 2016-07-03 12:24:53 +02:00
ThemeParser.cpp ALL: Fix misuse of comma operator 2017-11-10 09:57:03 -06:00
ThemeParser.h GUI: Implemented alphabitmap autoscale 2016-08-24 16:07:55 +06:00
Tooltip.cpp GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
Tooltip.h GUI: Remove the ThemeItem draw queues 2018-03-12 11:46:04 +01:00
updates-dialog.cpp GUI: Cleanup 2017-10-15 20:55:31 +02:00
updates-dialog.h GUI: UPDATES: Redesign updates dialog as suggested by criezy in PR#1040 2017-10-15 15:53:57 +02:00
widget.cpp GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
widget.h GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00