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.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/xeen/screen.h b/engines/xeen/screen.h
index 94dce60de9..491b702ded 100644
--- a/engines/xeen/screen.h
+++ b/engines/xeen/screen.h
@@ -25,19 +25,32 @@
#include "common/scummsys.h"
#include "common/system.h"
-#include "graphics/surface.h"
+#include "common/array.h"
+#include "common/rect.h"
+#include "xeen/xsurface.h"
namespace Xeen {
class XeenEngine;
-class Screen: public Graphics::Surface {
+class Screen: public XSurface {
private:
XeenEngine *_vm;
+ Common::List<Common::Rect> _dirtyRects;
+
+ void mergeDirtyRects();
+
+ bool unionRectangle(Common::Rect &destRect, const Common::Rect &src1, const Common::Rect &src2);
+public:
+ virtual void transBlitFrom(const XSurface &src, const Common::Point &destPos);
+
+ virtual void blitFrom(const XSurface &src, const Common::Point &destPos);
public:
Screen(XeenEngine *vm);
void update();
+
+ void addDirtyRect(const Common::Rect &r);
};
} // End of namespace Xeen