- virtual void Draw(SDL_Surface *dest, geometry::Point<int> position) const {
- sprite->Draw(dest, position, Col() + ColOffset(), Row() + RowOffset());
- }
- void DrawTopRight(SDL_Surface *dest, geometry::Point<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 DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position) const {
- geometry::Vector<int> offset(-sprite->Width() / 2, -sprite->Height());
- Draw(dest, position + offset);
- }
+ void Draw(SDL_Surface *dest, math::Vector<int> position) const;
+ void DrawTopRight(SDL_Surface *dest, math::Vector<int> position) const;
+ void DrawCenter(SDL_Surface *dest, math::Vector<int> position) const;
+ void DrawCenterBottom(SDL_Surface *dest, math::Vector<int> position) const;