X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FFont.h;h=6a8a5c23c11e500e73969aecb9198550d6ce0b5e;hb=9648fd7d258ae1a2baccb8dd5b6f7a9491e55803;hp=86448025992fcbd509e30c1996738a9e8adaba20;hpb=0542849dfccfec1ce1477265fa0fee2401a8fb23;p=l2e.git diff --git a/src/graphics/Font.h b/src/graphics/Font.h index 8644802..6a8a5c2 100644 --- a/src/graphics/Font.h +++ b/src/graphics/Font.h @@ -18,7 +18,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) { } @@ -27,9 +30,19 @@ public: int CharWidth() const { return sprite->Width(); } int CharHeight() const { return sprite->Height(); } void DrawChar(char c, SDL_Surface *dest, const geometry::Vector &position) const; - void DrawString(const char *s, SDL_Surface *dest, const geometry::Vector &position, int maxChars = 0) const; + void DrawString(const char *s, SDL_Surface *dest, const geometry::Vector &position, int maxWidth = 0) const; + void DrawStringRight(const char *s, SDL_Surface *dest, const geometry::Vector &position, int maxWidth = 0) const; void DrawDigit(int d, SDL_Surface *dest, const geometry::Vector &position) const; void DrawNumber(int n, SDL_Surface *dest, const geometry::Vector &position, int digits = 0) const; + void DrawNumberRight(int n, SDL_Surface *dest, const geometry::Vector &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;