aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/sprite.h
diff options
context:
space:
mode:
authorDenis Kasak2009-07-20 17:25:57 +0000
committerDenis Kasak2009-07-20 17:25:57 +0000
commita2a71cb8fbdbf1426d73c6f09f315abf04cfcbb9 (patch)
tree9775895526760b51efd16912422aacb122859368 /engines/draci/sprite.h
parent18301b6f78fd6d7eb77b5055129b71d2b8dce270 (diff)
downloadscummvm-rg350-a2a71cb8fbdbf1426d73c6f09f315abf04cfcbb9.tar.gz
scummvm-rg350-a2a71cb8fbdbf1426d73c6f09f315abf04cfcbb9.tar.bz2
scummvm-rg350-a2a71cb8fbdbf1426d73c6f09f315abf04cfcbb9.zip
* Added scaling support
* Made the dragon scale when it is in different parts of the room * Added getters for relative coordinates (Animation::getRelativeX() and Animation::getRelativeY()) * Commented Game::loop() and Sprite::draw*() methods in more detail svn-id: r42627
Diffstat (limited to 'engines/draci/sprite.h')
-rw-r--r--engines/draci/sprite.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/draci/sprite.h b/engines/draci/sprite.h
index 38ee2736ea..88a2858671 100644
--- a/engines/draci/sprite.h
+++ b/engines/draci/sprite.h
@@ -38,11 +38,17 @@ friend class Text;
public:
virtual void draw(Surface *surface, bool markDirty = true) const = 0;
+ virtual void drawScaled(Surface *surface, double scaleX, double scaleY,
+ bool markDirty = true) const = 0;
+
virtual ~Drawable() {};
virtual uint16 getWidth() { return _width; }
virtual uint16 getHeight() { return _height; }
+ virtual uint getScaledWidth(double scaleX) const = 0;
+ virtual uint getScaledHeight(double scaleY) const = 0;
+
virtual int getX() { return _x; }
virtual int getY() { return _y; }
@@ -53,6 +59,7 @@ public:
int getDelay() { return _delay; }
virtual Common::Rect getRect() const = 0;
+ virtual Common::Rect getScaledRect(double scaleX, double scaleY) const = 0;
private:
uint16 _width; //!< Width of the sprite
@@ -89,11 +96,17 @@ public:
~Sprite();
void draw(Surface *surface, bool markDirty = true) const;
+ void drawScaled(Surface *surface, double scaleX, double scaleY, bool markDirty = true) const;
void setMirrorOn();
void setMirrorOff();
virtual Common::Rect getRect() const;
+ Common::Rect getScaledRect(double scaleX, double scaleY) const;
+
+ virtual uint getScaledWidth(double scaleX) const;
+ virtual uint getScaledHeight(double scaleY) const;
+
const byte *getBuffer() const { return _data; }
private: