]> git.localhorst.tv Git - l2e.git/commitdiff
pass point as reference in graphics Draw functions
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Sun, 12 Aug 2012 14:34:36 +0000 (16:34 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Sun, 12 Aug 2012 14:34:36 +0000 (16:34 +0200)
src/graphics/Font.cpp
src/graphics/Font.h
src/graphics/Frame.cpp
src/graphics/Frame.h
src/graphics/Gauge.cpp
src/graphics/Gauge.h
src/graphics/Menu.h
src/graphics/Sprite.cpp
src/graphics/Sprite.h

index 3e462498009c3ada54a2cffa7a78194620d22dd6..1dc90516ccae28455231d7d919b7ba650a891692 100644 (file)
@@ -18,13 +18,13 @@ using std::pow;
 
 namespace graphics {
 
-void Font::DrawChar(char c, SDL_Surface *dest, Point<int> position) const {
+void Font::DrawChar(char c, SDL_Surface *dest, const Point<int> &position) const {
        int col(colOffset + (c % 0x10));
        int row(rowOffset + (c / 0x10));
        sprite->Draw(dest, position, col, row);
 }
 
-void Font::DrawString(const char *s, SDL_Surface *dest, Point<int> positionIn, int maxChars) const {
+void Font::DrawString(const char *s, SDL_Surface *dest, const Point<int> &positionIn, int maxChars) const {
        Point<int> position(positionIn);
        Vector<int> step(CharWidth(), 0);
        for (int i(0); s[i] && (maxChars <= 0 || i < maxChars); ++i, position += step) {
@@ -32,11 +32,11 @@ void Font::DrawString(const char *s, SDL_Surface *dest, Point<int> positionIn, i
        }
 }
 
-void Font::DrawDigit(int digit, SDL_Surface *dest, Point<int> position) const {
+void Font::DrawDigit(int digit, SDL_Surface *dest, const Point<int> &position) const {
        DrawChar(digit + 0x30, dest, position);
 }
 
-void Font::DrawNumber(int numberIn, SDL_Surface *dest, Point<int> positionIn, int digits) const {
+void Font::DrawNumber(int numberIn, SDL_Surface *dest, const Point<int> &positionIn, int digits) const {
        int number(numberIn);
        if (digits > 0 && numberIn >= pow(10.0, digits)) {
                numberIn = pow(10.0, digits) - 1;
index 70f451c2c864b6cdc8b5fd0a81a2f08f5137324c..c48ea16a8410269b075fbb801c4d1c17cb921921 100644 (file)
@@ -26,10 +26,10 @@ public:
 public:
        int CharWidth() const { return sprite->Width(); }
        int CharHeight() const { return sprite->Height(); }
-       void DrawChar(char c, SDL_Surface *dest, geometry::Point<int> position) const;
-       void DrawString(const char *s, SDL_Surface *dest, geometry::Point<int> position, int maxChars = 0) const;
-       void DrawDigit(int d, SDL_Surface *dest, geometry::Point<int> position) const;
-       void DrawNumber(int n, SDL_Surface *dest, geometry::Point<int> position, int digits = 0) const;
+       void DrawChar(char c, SDL_Surface *dest, const geometry::Point<int> &position) const;
+       void DrawString(const char *s, SDL_Surface *dest, const geometry::Point<int> &position, int maxChars = 0) const;
+       void DrawDigit(int d, SDL_Surface *dest, const geometry::Point<int> &position) const;
+       void DrawNumber(int n, SDL_Surface *dest, const geometry::Point<int> &position, int digits = 0) const;
 
 private:
        const Sprite *sprite;
index ac394d195a97799b20d9f0604fa21b2315597ba0..c682fa0f97ca7de495b04914b2c84c03d8c34fc9 100644 (file)
@@ -12,7 +12,7 @@ using geometry::Point;
 namespace graphics {
 
 // TODO: maybe create a cache for frames?
-void Frame::Draw(SDL_Surface *dest, Point<int> position, int width, int height) const {
+void Frame::Draw(SDL_Surface *dest, const Point<int> &position, int width, int height) const {
        // top-left corner
        SDL_Rect srcRect;
        srcRect.x = xOffset;
index 3743640333379fa31f2583c559e29bf98b7511e7..d2e8dd4c02a868d0946d2f243865246a219db0db 100644 (file)
@@ -25,7 +25,7 @@ public:
        int MinHeight() const { return 2 * borderHeight; }
        int BorderWidth() const { return borderWidth; }
        int BorderHeight() const { return borderHeight; }
-       void Draw(SDL_Surface *dest, geometry::Point<int> position, int width, int height) const;
+       void Draw(SDL_Surface *dest, const geometry::Point<int> &position, int width, int height) const;
 
 private:
        SDL_Surface *surface;
index 09405a2069ca15da6b560df6a9328d95e0ceec71..027d6b1313d541cc0afc7c44ccada3abe967b224 100644 (file)
@@ -11,7 +11,7 @@ using geometry::Point;
 
 namespace graphics {
 
-void Gauge::Draw(SDL_Surface *dest, Point<int> position, int width, Uint8 fill) const {
+void Gauge::Draw(SDL_Surface *dest, const Point<int> &position, int width, Uint8 fill) const {
        SDL_Rect srcRect, destRect;
 
        int filledWidth = fill * (width - startWidth - endWidth) / 255;
index 01b7aeb7970d778a118afc46f1f44486e5c4bea1..b5e30c28a305a2327e6c1843301bccbbde6e5f8b 100644 (file)
@@ -23,7 +23,7 @@ public:
 public:
        int MinWidth() const { return startWidth + endWidth; }
        int Height() const { return height; }
-       void Draw(SDL_Surface *dest, geometry::Point<int> position, int width, Uint8 fill) const;
+       void Draw(SDL_Surface *dest, const geometry::Point<int> &position, int width, Uint8 fill) const;
 
 private:
        SDL_Surface *surface;
index 4d448b62df6de2b824f85eac8f2dacf587857ec4..c879cc979556f9b9c1d94d60f7552f5cf338d36e 100644 (file)
@@ -61,7 +61,7 @@ public:
        void Reserve(int n) { entries.reserve(n); }
        void Clear() { entries.clear(); }
 
-       void Draw(SDL_Surface *dest, geometry::Point<int> position) const;
+       void Draw(SDL_Surface *dest, const geometry::Point<int> &position) const;
 
 private:
        int GetRow(int index) const { return index / cols; }
@@ -196,7 +196,7 @@ void Menu<T>::SelectIndex(int index) {
 
 
 template<class T>
-void Menu<T>::Draw(SDL_Surface *dest, geometry::Point<int> position) const {
+void Menu<T>::Draw(SDL_Surface *dest, const geometry::Point<int> &position) const {
        int start(topRow * cols);
        int slots(rows * cols);
        int items(entries.size() - start);
index 363be11230caa6ea462383f636ccc8270d7dac45..87ce8af1b366aaafd750fffd3e0e37e807c6928b 100644 (file)
@@ -11,7 +11,7 @@ using geometry::Point;
 
 namespace graphics {
 
-void Sprite::Draw(SDL_Surface *dest, Point<int> position, int col, int row) const {
+void Sprite::Draw(SDL_Surface *dest, const Point<int> &position, int col, int row) const {
        SDL_Rect srcRect, destRect;
        srcRect.x = xOffset + col * Width();
        srcRect.y = yOffset + row * Height();
index d56c69199cd7aa3f3cea49fc7a0ccb99b8606b64..6aa6c94d88f4ae78fd8977ae84bb9b61228dbba2 100644 (file)
@@ -25,16 +25,16 @@ public:
 public:
        int Width() const { return width; }
        int Height() const { return height; }
-       void Draw(SDL_Surface *dest, geometry::Point<int> position, int col = 0, int row = 0) const;
-       void DrawTopRight(SDL_Surface *dest, geometry::Point<int> position, int col = 0, int row = 0) const {
+       void Draw(SDL_Surface *dest, const geometry::Point<int> &position, int col = 0, int row = 0) const;
+       void DrawTopRight(SDL_Surface *dest, const geometry::Point<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, geometry::Point<int> position, int col = 0, int row = 0) const {
+       void DrawCenter(SDL_Surface *dest, const geometry::Point<int> &position, int col = 0, int row = 0) const {
                geometry::Vector<int> offset(-Width() / 2, -Height() / 2);
                Draw(dest, position + offset, col, row);
        }
-       void DrawCenterBottom(SDL_Surface *dest, geometry::Point<int> position, int col = 0, int row = 0) const {
+       void DrawCenterBottom(SDL_Surface *dest, const geometry::Point<int> &position, int col = 0, int row = 0) const {
                geometry::Vector<int> offset(-Width() / 2, -Height());
                Draw(dest, position + offset, col, row);
        }