aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/screen.h')
-rw-r--r--engines/xeen/screen.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/xeen/screen.h b/engines/xeen/screen.h
index 157d0bc178..cd4608cf9c 100644
--- a/engines/xeen/screen.h
+++ b/engines/xeen/screen.h
@@ -37,21 +37,27 @@ namespace Xeen {
#define PALETTE_SIZE (256 * 3)
class XeenEngine;
+class Screen;
class Window {
private:
+ Screen *_screen;
Common::Rect _bounds;
int _a;
int _border;
int _xLo, _xHi;
int _ycL, _ycH;
public:
- Window(const Common::Rect &bounds, int a, int border, int xLo, int ycL, int xHi, int ycH);
+ Window();
+
+ Window(Screen *screen, const Common::Rect &bounds, int a, int border,
+ int xLo, int ycL, int xHi, int ycH);
};
class Screen: public XSurface {
private:
XeenEngine *_vm;
+ Common::Array<Window> _windows;
Common::List<Common::Rect> _dirtyRects;
byte _mainPalette[PALETTE_SIZE];
byte _tempPaltte[PALETTE_SIZE];
@@ -59,6 +65,8 @@ private:
XSurface _savedScreens[10];
bool _fadeIn;
+ void setupWindows();
+
void mergeDirtyRects();
bool unionRectangle(Common::Rect &destRect, const Common::Rect &src1, const Common::Rect &src2);