aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/psp
diff options
context:
space:
mode:
authorJoost Peters2006-07-07 10:38:56 +0000
committerJoost Peters2006-07-07 10:38:56 +0000
commit2b0c4e9bf3c026ad0042bc8cd885a0fafc2cca99 (patch)
tree558a38147a976b9b18feb0d6c467efece80109ef /backends/platform/psp
parent240acc427ad26fc30566e65a75ad808260c180b6 (diff)
downloadscummvm-rg350-2b0c4e9bf3c026ad0042bc8cd885a0fafc2cca99.tar.gz
scummvm-rg350-2b0c4e9bf3c026ad0042bc8cd885a0fafc2cca99.tar.bz2
scummvm-rg350-2b0c4e9bf3c026ad0042bc8cd885a0fafc2cca99.zip
implement grabRawScreen()
svn-id: r23385
Diffstat (limited to 'backends/platform/psp')
-rw-r--r--backends/platform/psp/osys_psp.cpp10
-rw-r--r--backends/platform/psp/osys_psp.h6
2 files changed, 16 insertions, 0 deletions
diff --git a/backends/platform/psp/osys_psp.cpp b/backends/platform/psp/osys_psp.cpp
index 1e0236cae4..ebda445019 100644
--- a/backends/platform/psp/osys_psp.cpp
+++ b/backends/platform/psp/osys_psp.cpp
@@ -26,6 +26,7 @@
#include "common/stdafx.h"
#include "common/scummsys.h"
+#include "graphics/surface.h"
#include "common/rect.h"
#include "osys_psp.h"
@@ -186,6 +187,15 @@ void OSystem_PSP::copyRectToScreen(const byte *buf, int pitch, int x, int y, int
}
}
+bool OSystem_PSP::grabRawScreen(Graphics::Surface *surf) {
+ assert(surf);
+
+ surf->create(_screenWidth, _screenHeight, 1);
+ memcpy(surf->pixels, _offscreen, _screenWidth * _screenHeight);
+
+ return true;
+}
+
void OSystem_PSP::updateScreen() {
unsigned short *temp;
diff --git a/backends/platform/psp/osys_psp.h b/backends/platform/psp/osys_psp.h
index 937a6e1889..df5c69d232 100644
--- a/backends/platform/psp/osys_psp.h
+++ b/backends/platform/psp/osys_psp.h
@@ -37,6 +37,11 @@ enum GraphicModeID {
CENTERED_362X272
};
+namespace Graphics {
+ struct Surface;
+}
+
+
class OSystem_PSP : public OSystem {
public:
static const OSystem::GraphicsMode s_supportedGraphicsModes[];
@@ -86,6 +91,7 @@ public:
virtual int16 getHeight();
virtual void setPalette(const byte *colors, uint start, uint num);
virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h);
+ virtual bool grabRawScreen(Graphics::Surface *surf);
virtual void updateScreen();
virtual void setShakePos(int shakeOffset);