diff options
Diffstat (limited to 'graphics/VectorRenderer.h')
-rw-r--r-- | graphics/VectorRenderer.h | 15 |
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() */ |