diff options
Diffstat (limited to 'engines/tony/gfxcore.h')
-rw-r--r-- | engines/tony/gfxcore.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/engines/tony/gfxcore.h b/engines/tony/gfxcore.h index 9a00ed1646..82862d6846 100644 --- a/engines/tony/gfxcore.h +++ b/engines/tony/gfxcore.h @@ -112,11 +112,13 @@ public: _task = NULL; _src.setEmpty(); _dst.setEmpty(); + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task) { _task = task; _bFlag = 0; + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task, const RMRect &src, RMRect &dst) { @@ -132,6 +134,7 @@ public: _src.topLeft() = src; _dst = dst; _bFlag = 0; + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task, const RMPoint &src, RMPoint &dst) { @@ -139,6 +142,7 @@ public: _src.topLeft() = src; _dst.topLeft() = dst; _bFlag = 0; + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task, const RMRect &src, RMPoint &dst) { @@ -146,6 +150,7 @@ public: _src = src; _dst.topLeft() = dst; _bFlag = 0; + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task, const RMRect &dst) { @@ -153,6 +158,7 @@ public: _dst = dst; _src.setEmpty(); _bFlag = 0; + _bStretch = false; } RMGfxPrimitive(RMGfxTask *task, const RMPoint &dst) { @@ -160,6 +166,7 @@ public: _dst.topLeft() = dst; _src.setEmpty(); _bFlag = 0; + _bStretch = false; } virtual ~RMGfxPrimitive() { } @@ -553,6 +560,10 @@ private: } }; + bool _trackDirtyRects; + Common::List<Common::Rect> _currentDirtyRects, _previousDirtyRects, _dirtyRects; + + void mergeDirtyRects(); private: // OSystem::MutexRef csModifyingOT; @@ -587,6 +598,17 @@ public: void offsetY(int nLines) { RMGfxBuffer::offsetY(nLines, 16); } + + // Dirty rect methods + void addDirtyRect(const Common::Rect &r); + Common::List<Common::Rect> &getDirtyRects(); + void clearDirtyRects(); + void setTrackDirtyRects(bool v) { + _trackDirtyRects = v; + } + bool getTrackDirtyRects() const { + return _trackDirtyRects; + } }; |