summaryrefslogtreecommitdiff
path: root/lib/glfont.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/glfont.cc')
-rw-r--r--lib/glfont.cc26
1 files changed, 25 insertions, 1 deletions
diff --git a/lib/glfont.cc b/lib/glfont.cc
index 3d254d3..a321aaf 100644
--- a/lib/glfont.cc
+++ b/lib/glfont.cc
@@ -84,7 +84,7 @@ mogltk::font::font(Handle * ffont) : textcolor(255, 255, 255, 255) {
ffont->read(&maxY, 1);
ffont->read(&base, 1);
ffont->read(&inter, 1);
-
+
nbcU = 256 / maxX;
nbcV = 256 / maxY;
@@ -227,6 +227,19 @@ void mogltk::font::putchar(char ch, Color c) {
}
}
+int mogltk::font::getchar(char ch) {
+ Uint16 * p;
+ int i;
+
+ for (i = 0, p = corresp; i < nbentries; i++, p++) {
+ if (*(p++) == ch) {
+ return *p;
+ }
+ }
+
+ return -1;
+}
+
void mogltk::font::newline(void) {
cx = ox;
cy += inter;
@@ -260,3 +273,14 @@ void mogltk::font::setcolor(Color c) {
void mogltk::font::setshadow(int s) {
shadow = s;
}
+
+int mogltk::font::singletextsize(const String & s) {
+ int i;
+ int r = 0;
+
+ for (i = 0; i < s.strlen(); i++) {
+ r += sizes[getchar(s[i])];
+ }
+
+ return r;
+}