From 5ab33f117a0bc3451a1d30024208c45a2a548a4b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 3 Jul 2016 13:52:09 -0400 Subject: TITANIC: Adding more video surface methods --- engines/titanic/support/video_surface.h | 59 ++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 4 deletions(-) (limited to 'engines/titanic/support/video_surface.h') diff --git a/engines/titanic/support/video_surface.h b/engines/titanic/support/video_surface.h index e5d904f6d6..9b7e0fbaec 100644 --- a/engines/titanic/support/video_surface.h +++ b/engines/titanic/support/video_surface.h @@ -129,12 +129,27 @@ public: * Returns the pitch of the surface in bytes */ virtual int getPitch() = 0; - + + /** + * Returns the bytes per pixel of the surface + */ + virtual int getBpp() = 0; + /** - * Reiszes the surface + * Recreates the surface + */ + virtual void recreate(int width, int height) = 0; + + /** + * Resizes the surface */ virtual void resize(int width, int height) = 0; + /** + * Detachs the underlying raw surface + */ + virtual void detachSurface() = 0; + /** * Returns the number of bytes per pixel in the surface */ @@ -145,6 +160,12 @@ public: */ virtual uint16 getPixel(const Common::Point &pt) = 0; + + /** + * Sets a pixel at a specified position within the surface + */ + virtual void setPixel(const Point &pt, uint pixel) = 0; + /** * Change a pixel */ @@ -155,6 +176,11 @@ public: */ virtual void shiftColors() = 0; + /** + * Clears the entire surface to black + */ + virtual void clear() = 0; + /** * Plays a movie, loading it from the specified _resource * if not already loaded @@ -305,10 +331,25 @@ public: virtual int getPitch(); /** - * Reiszes the surface + * Returns the bytes per pixel of the surface + */ + virtual int getBpp(); + + /** + * Recreates the surface with the designated size + */ + virtual void recreate(int width, int height); + + /** + * Resizes the surface */ virtual void resize(int width, int height); + /** + * Detachs the underlying raw surface + */ + virtual void detachSurface(); + /** * Returns the number of bytes per pixel in the surface */ @@ -317,7 +358,12 @@ public: /** * Gets the pixel at the specified position within the surface */ - virtual uint16 getPixel(const Common::Point &pt); + virtual uint16 getPixel(const Point &pt); + + /** + * Sets a pixel at a specified position within the surface + */ + virtual void setPixel(const Point &pt, uint pixel); /** * Change a pixel @@ -329,6 +375,11 @@ public: */ virtual void shiftColors(); + /** + * Clears the entire surface to black + */ + virtual void clear(); + /** * Plays a movie, loading it from the specified _resource * if not already loaded -- cgit v1.2.3