aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorVicent Marti2008-07-03 10:26:55 +0000
committerVicent Marti2008-07-03 10:26:55 +0000
commit48fd843e759ab3a8a23ba2be902a8a815a41e8f8 (patch)
treeeeebd2d5368071bc596347736dfeb4e59cbf6b21 /graphics
parent8dbec866d6350c044297e16aa8ede432a3bd174b (diff)
downloadscummvm-rg350-48fd843e759ab3a8a23ba2be902a8a815a41e8f8.tar.gz
scummvm-rg350-48fd843e759ab3a8a23ba2be902a8a815a41e8f8.tar.bz2
scummvm-rg350-48fd843e759ab3a8a23ba2be902a8a815a41e8f8.zip
Rendering pipeline. WIP.
svn-id: r32882
Diffstat (limited to 'graphics')
-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()
*/