#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 <SDL.h>
void ChangeSprite(const Sprite *s) { sprite = s; }
const Sprite *GetSprite() const { return sprite; }
- void Draw(SDL_Surface *dest, geometry::Point<int> position) const {
+ void Draw(SDL_Surface *dest, geometry::Vector<int> position) const {
sprite->Draw(dest, position + animation->Offset(Frame()), animation->Col(Frame()) + ColOffset(), animation->Row(Frame()) + RowOffset());
}
- void DrawTopRight(SDL_Surface *dest, geometry::Point<int> position) const {
+ void DrawTopRight(SDL_Surface *dest, geometry::Vector<int> position) const {
geometry::Vector<int> offset(-sprite->Width(), 0);
Draw(dest, position + offset);
}
- void DrawCenter(SDL_Surface *dest, geometry::Point<int> position) const {
- geometry::Vector<int> offset(-sprite->Width() / 2, -sprite->Height() / 2);
- Draw(dest, position + offset);
+ void DrawCenter(SDL_Surface *dest, geometry::Vector<int> position) const {
+ Draw(dest, position - (sprite->Size() / 2));
}
- void DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position) const {
+ void DrawCenterBottom(SDL_Surface *dest, geometry::Vector<int> position) const {
geometry::Vector<int> offset(-sprite->Width() / 2, -sprite->Height());
Draw(dest, position + offset);
}