X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FAnimation.h;h=208f6bdb19e7b95d9dbc20a417498608f14dc64b;hb=520af5a8ef4fdfd4156377d4fccd93eecd450f0f;hp=0baba35d915e2ee91754a64a7028a5bb2a82a4e3;hpb=7d27966b2b6fa73c8491130c65cf03929c225960;p=l2e.git diff --git a/src/graphics/Animation.h b/src/graphics/Animation.h index 0baba35..208f6bd 100644 --- a/src/graphics/Animation.h +++ b/src/graphics/Animation.h @@ -12,8 +12,6 @@ #include "../app/Application.h" #include "../app/State.h" #include "../app/Timer.h" -#include "../geometry/operators.h" -#include "../geometry/Point.h" #include "../geometry/Vector.h" #include @@ -91,18 +89,17 @@ public: void ChangeSprite(const Sprite *s) { sprite = s; } const Sprite *GetSprite() const { return sprite; } - void Draw(SDL_Surface *dest, geometry::Point position) const { + void Draw(SDL_Surface *dest, geometry::Vector position) const { sprite->Draw(dest, position + animation->Offset(Frame()), animation->Col(Frame()) + ColOffset(), animation->Row(Frame()) + RowOffset()); } - void DrawTopRight(SDL_Surface *dest, geometry::Point position) const { + void DrawTopRight(SDL_Surface *dest, geometry::Vector position) const { geometry::Vector offset(-sprite->Width(), 0); Draw(dest, position + offset); } - void DrawCenter(SDL_Surface *dest, geometry::Point position) const { - geometry::Vector offset(-sprite->Width() / 2, -sprite->Height() / 2); - Draw(dest, position + offset); + void DrawCenter(SDL_Surface *dest, geometry::Vector position) const { + Draw(dest, position - (sprite->Size() / 2)); } - void DrawCenterBottom(SDL_Surface *dest, geometry::Point position) const { + void DrawCenterBottom(SDL_Surface *dest, geometry::Vector position) const { geometry::Vector offset(-sprite->Width() / 2, -sprite->Height()); Draw(dest, position + offset); }