From b51f2f3212ae8a5abbdce4d947ec2d1cad1a0b6f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 19 Jun 2007 22:39:59 +0000 Subject: Implemented the OSystem framebuffer API, as discussed on scummvm-devel. All changes are just fine, and won't cause any compile problems or regressions, despite the fact that I can't test most of the non-SDL backend changes, at an improbability level of two to the power of two hundred and seventy-six thousand to one against - possibly much higher. Anything you still can't cope with is therefore your own problem. Please relax. svn-id: r27548 --- backends/platform/sdl/sdl-common.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'backends/platform/sdl/sdl-common.h') diff --git a/backends/platform/sdl/sdl-common.h b/backends/platform/sdl/sdl-common.h index e66ca71e7f..4795b22a53 100644 --- a/backends/platform/sdl/sdl-common.h +++ b/backends/platform/sdl/sdl-common.h @@ -92,11 +92,8 @@ public: // The screen will not be updated to reflect the new bitmap virtual void copyRectToScreen(const byte *src, int pitch, int x, int y, int w, int h); // overloaded by CE backend (FIXME) - // Copies the screen to a buffer - bool grabRawScreen(Graphics::Surface *surf); - - // Clear the screen - void clearScreen(); + virtual Graphics::Surface *lockScreen(); + virtual void unlockScreen(); // Update the dirty areas of the screen void updateScreen(); @@ -218,6 +215,8 @@ protected: // unseen game screen SDL_Surface *_screen; + + // TODO: We could get rid of the following two vars and just use _screen instead int _screenWidth, _screenHeight; // temporary screen (for scalers) @@ -274,6 +273,9 @@ protected: int _mode; int _transactionMode; bool _fullscreen; + + bool _screenIsLocked; + Graphics::Surface _framebuffer; /** Current video mode flags (see DF_* constants) */ uint32 _modeFlags; -- cgit v1.2.3