]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Sprite.h
switched some (x,y) and (w,h) pairs to vectors
[l2e.git] / src / graphics / Sprite.h
index 942d98e51e5e7424d791d657aa7ab94d4371ace3..f6f3b7b566d58cfa969d973767353c39cfea8b7e 100644 (file)
@@ -18,19 +18,19 @@ class Sprite {
 
 public:
        Sprite(SDL_Surface *s, int width, int height, int xOffset = 0, int yOffset = 0)
-       : surface(s), width(width), height(height), xOffset(xOffset), yOffset(yOffset) { }
+       : surface(s), size(width, height), offset(xOffset, yOffset) { }
 
 public:
-       int Width() const { return width; }
-       int Height() const { return height; }
+       int Width() const { return size.X(); }
+       int Height() const { return size.Y(); }
+       const geometry::Vector<int> &Size() const { return size; }
        void Draw(SDL_Surface *dest, const geometry::Vector<int> &position, int col = 0, int row = 0) const;
        void DrawTopRight(SDL_Surface *dest, const geometry::Vector<int> &position, int col = 0, int row = 0) const {
                geometry::Vector<int> offset(-Width(), 0);
                Draw(dest, position + offset, col, row);
        }
        void DrawCenter(SDL_Surface *dest, const geometry::Vector<int> &position, int col = 0, int row = 0) const {
-               geometry::Vector<int> offset(-Width() / 2, -Height() / 2);
-               Draw(dest, position + offset, col, row);
+               Draw(dest, position - (Size() / 2), col, row);
        }
        void DrawCenterBottom(SDL_Surface *dest, const geometry::Vector<int> &position, int col = 0, int row = 0) const {
                geometry::Vector<int> offset(-Width() / 2, -Height());
@@ -39,10 +39,8 @@ public:
 
 private:
        SDL_Surface *surface;
-       int width;
-       int height;
-       int xOffset;
-       int yOffset;
+       geometry::Vector<int> size;
+       geometry::Vector<int> offset;
 
 };