diff options
author | Willem Jan Palenstijn | 2013-09-25 19:47:39 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-09-30 22:03:48 +0200 |
commit | 057b01951a92cc17e6c7a5121d2bd866841c4f75 (patch) | |
tree | 2b98140bdaf2ddf3f08d64459487aa3e0f02088e /engines/wintermute/graphics | |
parent | 4e12600d7053cdd3740dc1b099f1c1071645ae34 (diff) | |
download | scummvm-rg350-057b01951a92cc17e6c7a5121d2bd866841c4f75.tar.gz scummvm-rg350-057b01951a92cc17e6c7a5121d2bd866841c4f75.tar.bz2 scummvm-rg350-057b01951a92cc17e6c7a5121d2bd866841c4f75.zip |
WINTERMUTE: Add displayTiled function to replace repeatLastDraw
This avoids queueing many tickets for a UITiledImage, replacing
them by a single tiled ticket.
Diffstat (limited to 'engines/wintermute/graphics')
-rw-r--r-- | engines/wintermute/graphics/transform_struct.cpp | 15 | ||||
-rw-r--r-- | engines/wintermute/graphics/transform_struct.h | 7 |
2 files changed, 21 insertions, 1 deletions
diff --git a/engines/wintermute/graphics/transform_struct.cpp b/engines/wintermute/graphics/transform_struct.cpp index 643c6b413f..822c06f42f 100644 --- a/engines/wintermute/graphics/transform_struct.cpp +++ b/engines/wintermute/graphics/transform_struct.cpp @@ -35,6 +35,8 @@ void TransformStruct::init(Point32 zoom, uint32 angle, Point32 hotspot, bool alp _flip += TransparentSurface::FLIP_H * mirrorX; _flip += TransparentSurface::FLIP_V * mirrorY; _offset = offset; + _numTimesX = 1; + _numTimesY = 1; } TransformStruct::TransformStruct(int32 zoomX, int32 zoomY, uint32 angle, int32 hotspotX, int32 hotspotY, TSpriteBlendMode blendMode, uint32 rgbaMod, bool mirrorX, bool mirrorY, int32 offsetX, int32 offsetY) { @@ -83,6 +85,19 @@ TransformStruct::TransformStruct(int32 zoomX, int32 zoomY, uint32 angle, int32 h Point32(kDefaultOffsetX, kDefaultOffsetY)); } +TransformStruct::TransformStruct(int32 numTimesX, int32 numTimesY) { + init(Point32(kDefaultZoomX, kDefaultZoomY), + kDefaultAngle, + Point32(kDefaultHotspotX, kDefaultHotspotY), + false, + BLEND_NORMAL, + kDefaultRgbaMod, + false, false, + Point32(kDefaultOffsetX, kDefaultOffsetY)); + _numTimesX = numTimesX; + _numTimesY = numTimesY; +} + TransformStruct::TransformStruct() { init(Point32(kDefaultZoomX, kDefaultZoomY), kDefaultAngle, diff --git a/engines/wintermute/graphics/transform_struct.h b/engines/wintermute/graphics/transform_struct.h index 90a4c1f846..d5a03ea331 100644 --- a/engines/wintermute/graphics/transform_struct.h +++ b/engines/wintermute/graphics/transform_struct.h @@ -51,6 +51,7 @@ public: TransformStruct(float zoomX, float zoomY, uint32 angle, int32 hotspotX, int32 hotspotY, TSpriteBlendMode blendMode, uint32 alpha, bool mirrorX = false, bool mirrorY = false, int32 offsetX = 0, int32 offsetY = 0); TransformStruct(int32 zoomX, int32 zoomY, TSpriteBlendMode blendMode, uint32 alpha, bool mirrorX = false, bool mirrorY = false); TransformStruct(int32 zoomX, int32 zoomY, uint32 angle, int32 hotspotX = 0, int32 hotspotY = 0); + TransformStruct(int32 numTimesX, int32 numTimesY); TransformStruct(); Point32 _zoom; ///< Zoom; 100 = no zoom @@ -61,6 +62,8 @@ public: TSpriteBlendMode _blendMode; uint32 _rgbaMod; ///< RGBa Point32 _offset; + int32 _numTimesX; + int32 _numTimesY; bool getMirrorX() const; bool getMirrorY() const; @@ -72,7 +75,9 @@ public: compare._offset == _offset && compare._alphaDisable == _alphaDisable && compare._rgbaMod == _rgbaMod && - compare._blendMode == _blendMode + compare._blendMode == _blendMode && + compare._numTimesX == _numTimesX && + compare._numTimesY == _numTimesY ); } |