code: 9ferno

ref: caef73363f896a1405ce6b9b6435f91e47a9b188
dir: /include/freetype.h/

View raw version
 * 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);