aboutsummaryrefslogtreecommitdiff
path: root/backends/sdl/sdl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/sdl/sdl.cpp')
-rw-r--r--backends/sdl/sdl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/backends/sdl/sdl.cpp b/backends/sdl/sdl.cpp
index 24c9cc3f72..af2d30ad5a 100644
--- a/backends/sdl/sdl.cpp
+++ b/backends/sdl/sdl.cpp
@@ -42,6 +42,7 @@ protected:
virtual void load_gfx_mode();
virtual void unload_gfx_mode();
+ virtual bool save_screenshot(const char *filename);
void hotswap_gfx_mode();
};
@@ -376,3 +377,10 @@ uint32 OSystem_SDL::property(int param, Property *value) {
return OSystem_SDL_Common::property(param, value);
}
+bool OSystem_SDL::save_screenshot(const char *filename) {
+ assert(_hwscreen != NULL);
+
+ StackLock lock(_graphicsMutex, this); // Lock the mutex until this function ends
+ SDL_SaveBMP(_hwscreen, filename);
+ return true;
+}