]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Font.cpp
added string dimensions calculation functions
[l2e.git] / src / graphics / Font.cpp
index 94d451ae7a9f7d272cc706599c9ce4b5b774849d..42772b2612088275307447d5cd5c91443cedc5c4 100644 (file)
@@ -21,6 +21,35 @@ using std::pow;
 
 namespace graphics {
 
+int Font::StringWidth(const char *s) const {
+       int width(0), col(0);
+       for (int i(0); s[i]; ++i) {
+               if (s[i] == '\n') {
+                       if (width < col) {
+                               width = col;
+                       }
+                       col = 0;
+               } else {
+                       ++col;
+               }
+       }
+       return (width < col ? col : width) * CharWidth();
+}
+
+int Font::StringHeight(const char *s) const {
+       if (*s == '\0') {
+               return 0;
+       }
+       int height(1);
+       for (; *s; ++s) {
+               if (*s == '\n') {
+                       ++height;
+               }
+       }
+       return height * CharHeight();
+}
+
+
 void Font::DrawChar(char c, SDL_Surface *dest, const Vector<int> &position) const {
        if (!sprite) return;