X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FFont.cpp;h=135775c1412061224b1e9434acc2d7f19245e80c;hb=2f2dad58f3b9f7c98cf20211929ff31f5ebf5e5f;hp=0ff3d9d4d90360b997277ee20226920d1e4d6bb2;hpb=b6502719f0f02bdb4fc39aa66fa4a369ea583036;p=l2e.git diff --git a/src/graphics/Font.cpp b/src/graphics/Font.cpp index 0ff3d9d..135775c 100644 --- a/src/graphics/Font.cpp +++ b/src/graphics/Font.cpp @@ -18,6 +18,20 @@ using std::pow; namespace graphics { +void Font::DrawChar(char c, SDL_Surface *dest, Point position) const { + if (!HasChar(c)) return; + const Mapping &m(map[(unsigned char)c]); + sprite->Draw(dest, position, m.col, m.row); +} + +void Font::DrawString(const char *s, SDL_Surface *dest, Point positionIn, int maxChars) const { + Point position(positionIn); + Vector step(CharWidth(), 0); + for (int i(0); s[i] && (maxChars <= 0 || i < maxChars); ++i, position += step) { + DrawChar(s[i], dest, position); + } +} + void Font::DrawDigit(int digit, SDL_Surface *dest, Point position) const { sprite->Draw(dest, position, digitsCol + digit, digitsRow); }