diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-09-05 18:23:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-09-05 18:23:50 +0300 |
commit | e210a6f5033944614499a1708be2fa5559479e37 (patch) | |
tree | 0d6b6b1ba2e34786b97885947e5ccb7dacbdea1e /src/resources/sprite | |
parent | 21159adfd8bd3d709793006e1b1e4b2d8ed806d7 (diff) | |
download | plus-e210a6f5033944614499a1708be2fa5559479e37.tar.gz plus-e210a6f5033944614499a1708be2fa5559479e37.tar.bz2 plus-e210a6f5033944614499a1708be2fa5559479e37.tar.xz plus-e210a6f5033944614499a1708be2fa5559479e37.zip |
Add function for draw rescaled animated sprite.
Diffstat (limited to 'src/resources/sprite')
-rw-r--r-- | src/resources/sprite/animatedsprite.cpp | 21 | ||||
-rw-r--r-- | src/resources/sprite/animatedsprite.h | 6 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/resources/sprite/animatedsprite.cpp b/src/resources/sprite/animatedsprite.cpp index 30eb4dda3..9d7186335 100644 --- a/src/resources/sprite/animatedsprite.cpp +++ b/src/resources/sprite/animatedsprite.cpp @@ -338,6 +338,27 @@ void AnimatedSprite::draw(Graphics *restrict const graphics, posX + mFrame->offsetX, posY + mFrame->offsetY); } +void AnimatedSprite::drawRescaled(Graphics *restrict const graphics, + const int posX, + const int posY, + const int dx, + const int dy) const restrict2 +{ + if (mFrame == nullptr || + mFrame->image == nullptr) + { + return; + } + + Image *restrict const image = mFrame->image; + image->setAlpha(mAlpha); + graphics->drawRescaledImage(image, + posX + mFrame->offsetX, + posY + mFrame->offsetY, + dx, + dy); +} + void AnimatedSprite::drawRaw(Graphics *restrict const graphics, const int posX, const int posY) const restrict2 diff --git a/src/resources/sprite/animatedsprite.h b/src/resources/sprite/animatedsprite.h index 259b6fe84..01a142f31 100644 --- a/src/resources/sprite/animatedsprite.h +++ b/src/resources/sprite/animatedsprite.h @@ -74,6 +74,12 @@ class AnimatedSprite final : public Sprite const int posX, const int posY) const restrict2 override final A_NONNULL(2); + void drawRescaled(Graphics *restrict const graphics, + const int posX, + const int posY, + const int dx, + const int dy) const restrict2 A_NONNULL(2); + void drawRaw(Graphics *restrict const graphics, const int posX, const int posY) const restrict2 A_NONNULL(2); |