aboutsummaryrefslogtreecommitdiff
path: root/gui/dialog.h
diff options
context:
space:
mode:
authorBastien Bouclet2018-01-06 14:40:02 +0100
committerBastien Bouclet2018-01-27 18:12:34 +0100
commit0496ede62f8b86e1885d594e3aa5320c96b708eb (patch)
tree6a4453606061a15a5ee3462d1680936c257ae7f5 /gui/dialog.h
parent3b50b57f544cb7c719a5f02f061853e10885ae6c (diff)
downloadscummvm-rg350-0496ede62f8b86e1885d594e3aa5320c96b708eb.tar.gz
scummvm-rg350-0496ede62f8b86e1885d594e3aa5320c96b708eb.tar.bz2
scummvm-rg350-0496ede62f8b86e1885d594e3aa5320c96b708eb.zip
GUI: Implement dirty-checking for widget redraws
Diffstat (limited to 'gui/dialog.h')
-rw-r--r--gui/dialog.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gui/dialog.h b/gui/dialog.h
index cf734a83f8..cb6e13f974 100644
--- a/gui/dialog.h
+++ b/gui/dialog.h
@@ -88,9 +88,16 @@ protected:
virtual void open();
virtual void close();
- virtual void draw();
+ void markAsDirty() override;
+ /** Recursively mark all the widgets in this dialog as dirty so they are redrawn */
+ void markWidgetsAsDirty();
+
+ /** Draw the dialog in its entirety (background and widgets) */
virtual void drawDialog();
+ /** Draw only the dialog's widgets */
+ void drawWidgets();
+
virtual void handleTickle(); // Called periodically (in every guiloop() )
virtual void handleMouseDown(int x, int y, int button, int clickCount);
virtual void handleMouseUp(int x, int y, int button, int clickCount);