aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macwindowmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/macgui/macwindowmanager.h')
-rw-r--r--graphics/macgui/macwindowmanager.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index 21bc3815db..c208089c24 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -56,7 +56,7 @@
#include "graphics/fontman.h"
#include "graphics/macgui/macwindow.h"
-namespace Graphics {
+namespace Graphics {
namespace MacGUIConstants {
enum {
@@ -68,7 +68,8 @@ namespace MacGUIConstants {
kColorGray = 1,
kColorWhite = 2,
kColorGreen = 3,
- kColorGreen2 = 4
+ kColorGreen2 = 4,
+ kColorCount
};
enum {
@@ -98,6 +99,7 @@ public:
MacWindow *addWindow(bool scrollable, bool resizable, bool editable);
Menu *addMenu();
void setActive(int id);
+ void removeWindow(MacWindow *target);
void setFullRefresh(bool redraw) { _fullRefresh = true; }
@@ -117,12 +119,19 @@ private:
void drawDesktop();
void loadFonts();
+ void removeMarked();
+ void removeFromStack(BaseMacWindow *target);
+ void removeFromWindowList(BaseMacWindow *target);
+
private:
ManagedSurface *_screen;
Common::List<BaseMacWindow *> _windowStack;
Common::Array<BaseMacWindow *> _windows;
+ Common::List<BaseMacWindow *> _windowsToRemove;
+ bool _needsRemoval;
+
int _lastId;
int _activeWindow;