aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/surface.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-09-13 12:22:31 -0400
committerPaul Gilbert2015-09-13 12:22:31 -0400
commitbb01b27777bea9531cae117659d14d3d33f44c8a (patch)
tree3e04c6c399b623cd206c38f140ef955c62de7a60 /engines/sherlock/surface.h
parentdce5c96cc22ab406e371d7313a26d6d77e25187f (diff)
downloadscummvm-rg350-bb01b27777bea9531cae117659d14d3d33f44c8a.tar.gz
scummvm-rg350-bb01b27777bea9531cae117659d14d3d33f44c8a.tar.bz2
scummvm-rg350-bb01b27777bea9531cae117659d14d3d33f44c8a.zip
SHERLOCK: 3DO: Implementing high-resolution mode for 3DO version
This will allow us to play the portrait movies at full resolution, and better display the fonts, which dont look good at low resolution
Diffstat (limited to 'engines/sherlock/surface.h')
-rw-r--r--engines/sherlock/surface.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/engines/sherlock/surface.h b/engines/sherlock/surface.h
index 64b57f644a..378c9be9cd 100644
--- a/engines/sherlock/surface.h
+++ b/engines/sherlock/surface.h
@@ -40,30 +40,32 @@ private:
bool _freePixels;
/**
+ * Copy a surface into this one
+ */
+ void blitFrom(const Graphics::Surface &src);
+protected:
+ Graphics::Surface _surface;
+
+ /**
* Clips the given source bounds so the passed destBounds will be entirely on-screen
*/
bool clip(Common::Rect &srcBounds, Common::Rect &destBounds);
/**
- * Copy a surface into this one
+ * Base method stub for signalling dirty rect areas
*/
- void blitFrom(const Graphics::Surface &src);
+ virtual void addDirtyRect(const Common::Rect &r) {}
/**
* Draws a sub-section of a surface at a given position within this surface
*/
- void blitFrom(const Graphics::Surface &src, const Common::Point &pt, const Common::Rect &srcBounds);
+ virtual void blitFrom(const Graphics::Surface &src, const Common::Point &pt, const Common::Rect &srcBounds);
/**
* Draws a surface at a given position within this surface with transparency
*/
- void transBlitFromUnscaled(const Graphics::Surface &src, const Common::Point &pt, bool flipped,
+ virtual void transBlitFromUnscaled(const Graphics::Surface &src, const Common::Point &pt, bool flipped,
int overrideColor);
-
-protected:
- Graphics::Surface _surface;
-
- virtual void addDirtyRect(const Common::Rect &r) {}
public:
Surface(uint16 width, uint16 height);
Surface();
@@ -138,7 +140,7 @@ public:
/**
* Fill a given area of the surface with a given color
*/
- void fillRect(const Common::Rect &r, uint color);
+ virtual void fillRect(const Common::Rect &r, uint color);
void fill(uint color);
@@ -168,8 +170,8 @@ public:
virtual void writeString(const Common::String &str, const Common::Point &pt, uint overrideColor);
void writeFancyString(const Common::String &str, const Common::Point &pt, uint overrideColor1, uint overrideColor2);
- inline uint16 w() const { return _surface.w; }
- inline uint16 h() const { return _surface.h; }
+ inline virtual uint16 w() const { return _surface.w; }
+ inline virtual uint16 h() const { return _surface.h; }
inline const byte *getPixels() const { return (const byte *)_surface.getPixels(); }
inline byte *getPixels() { return (byte *)_surface.getPixels(); }
inline byte *getBasePtr(int x, int y) { return (byte *)_surface.getBasePtr(x, y); }