aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/VectorRenderer.h')
-rw-r--r--graphics/VectorRenderer.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/graphics/VectorRenderer.h b/graphics/VectorRenderer.h
index 3267d44687..0b9ccc4836 100644
--- a/graphics/VectorRenderer.h
+++ b/graphics/VectorRenderer.h
@@ -406,7 +406,8 @@ public:
*
* @param sys Pointer to the global System class
*/
- virtual void copyFrame(OSystem *sys, Common::Rect &r) = 0;
+ virtual void copyFrame(OSystem *sys, const Common::Rect &r) = 0;
+ virtual void copyWholeFrame(OSystem *sys) = 0;
/**
* Blits a given graphics surface on top of the current drawing surface.
@@ -533,7 +534,7 @@ public:
/**
* @see VectorRenderer::copyFrame()
*/
- virtual void copyFrame(OSystem *sys, Common::Rect &r) {
+ virtual void copyFrame(OSystem *sys, const Common::Rect &r) {
#ifdef OVERLAY_MULTIPLE_DEPTHS // TODO: change OSystem to support templated copyRectToOverlay
sys->copyRectToOverlay((const PixelType*)_activeSurface->pixels,
_activeSurface->pitch, r.top, r.left, r.width(), r.height());
@@ -543,6 +544,16 @@ public:
#endif
}
+ virtual void copyWholeFrame(OSystem *sys) {
+#ifdef OVERLAY_MULTIPLE_DEPTHS
+ sys->copyRectToOverlay((const PixelType*)_activeSurface->getBasePtr(0, 0),
+ _activeSurface->w, 0, 0, _activeSurface->w, _activeSurface->h);
+#else
+ sys->copyRectToOverlay((const OverlayColor*)_activeSurface->getBasePtr(0, 0),
+ _activeSurface->w, 0, 0, _activeSurface->w, _activeSurface->h);
+#endif
+ }
+
/**
* @see VectorRenderer::blitSurface()
*/