]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Font.h
removed useless comments
[l2e.git] / src / graphics / Font.h
index 70f451c2c864b6cdc8b5fd0a81a2f08f5137324c..d435266e084d7476378996d19ce0451ca643bd29 100644 (file)
@@ -1,15 +1,8 @@
-/*
- * Font.h
- *
- *  Created on: Aug 8, 2012
- *      Author: holy
- */
-
 #ifndef GRAPHICS_FONT_H_
 #define GRAPHICS_FONT_H_
 
 #include "Sprite.h"
-#include "../geometry/Point.h"
+#include "../math/Vector.h"
 
 #include <SDL.h>
 
@@ -18,7 +11,10 @@ namespace graphics {
 class Font {
 
 public:
-       explicit Font(const Sprite *sprite, int colOffset = 0, int rowOffset = 0)
+       static const int TYPE_ID = 404;
+
+public:
+       explicit Font(const Sprite *sprite = 0, int colOffset = 0, int rowOffset = 0)
        : sprite(sprite), colOffset(colOffset), rowOffset(rowOffset) {
 
        }
@@ -26,10 +22,23 @@ 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;
+       int StringWidth(const char *) const;
+       int StringHeight(const char *) const;
+
+       void DrawChar(char c, SDL_Surface *dest, const math::Vector<int> &position) const;
+       void DrawString(const char *s, SDL_Surface *dest, const math::Vector<int> &position, int maxWidth = 0) const;
+       void DrawStringRight(const char *s, SDL_Surface *dest, const math::Vector<int> &position, int maxWidth = 0) const;
+       void DrawDigit(int d, SDL_Surface *dest, const math::Vector<int> &position) const;
+       void DrawNumber(int n, SDL_Surface *dest, const math::Vector<int> &position, int digits = 0) const;
+       void DrawNumberRight(int n, SDL_Surface *dest, const math::Vector<int> &position, int digits = 0) const;
+
+public:
+       void SetSprite(const Sprite *s) { sprite = s; }
+       void SetColOffset(int n) { colOffset = n; }
+       void SetRowOffset(int n) { rowOffset = n; }
+
+       static void CreateTypeDescription();
+       static void Construct(void *);
 
 private:
        const Sprite *sprite;
@@ -40,4 +49,4 @@ private:
 
 }
 
-#endif /* GRAPHICS_FONT_H_ */
+#endif