#ifndef GRAPHICS_SPRITE_H_
#define GRAPHICS_SPRITE_H_
+#include "../geometry/Point.h"
+
#include <SDL.h>
namespace graphics {
public:
int Width() const { return width; }
int Height() const { return height; }
- void Draw(SDL_Surface *dest, int x, int y, int col = 0, int row = 0) const;
+ void Draw(SDL_Surface *dest, geometry::Point<int> position, int col = 0, int row = 0) const;
+ void DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position, int col = 0, int row = 0) const {
+ geometry::Point<int> translated(
+ position.X() - (Width() / 2),
+ position.Y() - Height());
+ Draw(dest, translated, col, row);
+ }
private:
SDL_Surface *surface;