aboutsummaryrefslogtreecommitdiff
path: root/engines/tony/gfxcore.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tony/gfxcore.h')
-rw-r--r--engines/tony/gfxcore.h22
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;
+ }
};