about summary refs log tree commit diff
path: root/src/engine/client/ec_font.h
diff options
context:
space:
mode:
authorJakob Fries <jakob.fries@gmail.com>2007-12-24 13:09:34 +0000
committerJakob Fries <jakob.fries@gmail.com>2007-12-24 13:09:34 +0000
commita02611511c1704c653e5951a44b294a953cdb470 (patch)
treeadf7232a41d0bd1133b82f8aea952af80a3f53be /src/engine/client/ec_font.h
parent1ddfbba3666a835b59fc79b59aaae367ee93a6ea (diff)
downloadzcatch-a02611511c1704c653e5951a44b294a953cdb470.tar.gz
zcatch-a02611511c1704c653e5951a44b294a953cdb470.zip
more font stuffs
Diffstat (limited to 'src/engine/client/ec_font.h')
-rw-r--r--src/engine/client/ec_font.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/engine/client/ec_font.h b/src/engine/client/ec_font.h
new file mode 100644
index 00000000..6b4d5910
--- /dev/null
+++ b/src/engine/client/ec_font.h
@@ -0,0 +1,40 @@
+/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
+#ifndef _FONT_H
+#define _FONT_H
+
+typedef struct
+{
+    float tex_x0;
+    float tex_y0;
+    float tex_x1;
+    float tex_y1;
+    float width;
+    float height;
+    float x_offset;
+    float y_offset;
+    float x_advance;
+}
+CHARACTER;
+
+typedef struct
+{
+    int texture;
+    int size;
+    CHARACTER characters[256];
+    float kerning[256*256];
+} FONT;
+
+typedef struct
+{
+    int font_count;
+    FONT fonts[8];
+} FONT_SET;
+
+int font_load(FONT *font, const char *filename);
+int font_set_load(FONT_SET *font_set, const char *font_filename, const char *texture_filename, int fonts, ...);
+float font_string_width(FONT_SET *font_set, const char *string, float size);
+void font_character_info(FONT *font, unsigned char c, float *tex_x0, float *tex_y0, float *tex_x1, float *tex_y1, float *width, float *height, float *x_offset, float *y_offset, float *x_advance);
+float font_kerning(FONT *font, unsigned char c1, unsigned char c2);
+FONT *font_set_pick(FONT_SET *font_set, float size);
+
+#endif