summaryrefslogtreecommitdiff
path: root/include/freetype.h
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
commit37da2899f40661e3e9631e497da8dc59b971cbd0 (patch)
treecbc6d4680e347d906f5fa7fca73214418741df72 /include/freetype.h
parent54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff)
20060303a
Diffstat (limited to 'include/freetype.h')
-rw-r--r--include/freetype.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/include/freetype.h b/include/freetype.h
new file mode 100644
index 00000000..d3a264e0
--- /dev/null
+++ b/include/freetype.h
@@ -0,0 +1,55 @@
+/*
+ * interface to libfreetype without recourse to the real freetype headers
+ * which would otherwise require full-blown CPP
+ */
+
+typedef struct FTfaceinfo FTfaceinfo;
+struct FTfaceinfo {
+ int nfaces;
+ int index;
+ int style;
+ int height;
+ int ascent;
+ char* familyname;
+ char* stylename;
+};
+
+typedef struct FTface FTface;
+struct FTface {
+ void* ft_lib;
+ void* ft_face;
+};
+
+typedef struct FTglyph FTglyph;
+struct FTglyph {
+ int top;
+ int left;
+ int advx;
+ int advy;
+ int height;
+ int width;
+ int bpr;
+ uchar* bitmap;
+};
+
+typedef struct FTmatrix FTmatrix;
+struct FTmatrix {
+ int a;
+ int b;
+ int c;
+ int d;
+};
+
+typedef struct FTvector FTvector;
+struct FTvector {
+ int dx;
+ int dy;
+};
+
+extern char* ftnewface(char *, int, FTface*, FTfaceinfo*);
+extern char* ftloadmemface(void*, int, int, FTface*, FTfaceinfo*);
+extern char* ftsetcharsize(FTface, int, int, int, FTfaceinfo*);
+extern void ftsettransform(FTface, FTmatrix*, FTvector*);
+extern int fthaschar(FTface,int);
+extern char* ftloadglyph(FTface, int, FTglyph*);
+extern void ftdoneface(FTface);