diff options
Diffstat (limited to 'engines/xeen/screen.h')
-rw-r--r-- | engines/xeen/screen.h | 17 |
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 |