X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FSprite.h;h=202b96f3f5a05e2a2eb95ffc2f03b1f8d8c9a08d;hb=cf20874f973521e84fc2aaa6cd47c56a278d9de7;hp=c81ed01984c7e1d00bd9866212808df4be34ffaa;hpb=4e886547268583ef1d8a415d9f7f959ce76ffcbc;p=l2e.git diff --git a/src/graphics/Sprite.h b/src/graphics/Sprite.h index c81ed01..202b96f 100644 --- a/src/graphics/Sprite.h +++ b/src/graphics/Sprite.h @@ -17,18 +17,26 @@ namespace graphics { class Sprite { public: - Sprite(SDL_Surface *s, int width, int height) - : surface(s), width(width), height(height) { } + Sprite(SDL_Surface *s, int width, int height, int xOffset = 0, int yOffset = 0) + : surface(s), width(width), height(height), xOffset(xOffset), yOffset(yOffset) { } public: int Width() const { return width; } int Height() const { return height; } void Draw(SDL_Surface *dest, geometry::Point position, int col = 0, int row = 0) const; + void DrawCenterBottom(SDL_Surface *dest, geometry::Point position, int col = 0, int row = 0) const { + geometry::Point translated( + position.X() - (Width() / 2), + position.Y() - Height()); + Draw(dest, translated, col, row); + } private: SDL_Surface *surface; int width; int height; + int xOffset; + int yOffset; };