]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Font.h
forced fonts to use the data's charset
[l2e.git] / src / graphics / Font.h
index 082e4c01d56357c0ab3f07bfd7f004e45fc3d96b..70f451c2c864b6cdc8b5fd0a81a2f08f5137324c 100644 (file)
 #include "Sprite.h"
 #include "../geometry/Point.h"
 
-#include <map>
 #include <SDL.h>
 
 namespace graphics {
 
-// TODO: maybe fix fonts to use a 8x8 tile sprite for all chars
 class Font {
 
 public:
-       explicit Font(const Sprite *sprite, int digitsCol = 0, int digitsRow = 0)
-       : sprite(sprite), digitsCol(digitsCol), digitsRow(digitsRow) {
-               MapRange('0', '9', digitsCol, digitsRow);
+       explicit Font(const Sprite *sprite, int colOffset = 0, int rowOffset = 0)
+       : sprite(sprite), colOffset(colOffset), rowOffset(rowOffset) {
+
        }
 
 public:
@@ -33,27 +31,10 @@ public:
        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;
 
-public:
-       bool HasChar(char c) const { return map[(unsigned char)c].mapped; };
-       void MapChar(char c, int col, int row) { map[(unsigned char)c].mapped = true; map[(unsigned char)c].col = col; map[(unsigned char)c].row = row; };
-       void MapRange(char from, char to, int colStart, int row) {
-               int col(colStart);
-               for (unsigned char c(from); c <= to; ++c, ++col) {
-                       MapChar(c, col, row);
-               }
-       }
-
 private:
-       struct Mapping {
-               Mapping() : mapped(false), col(0), row(0) { }
-               bool mapped;
-               int col;
-               int row;
-       };
        const Sprite *sprite;
-       Mapping map[256];
-       int digitsCol;
-       int digitsRow;
+       int colOffset;
+       int rowOffset;
 
 };