/* This file is part of Floculate. Copyright (C) 2008 Bill Whitacre Floculate is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Floculate is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef FONT_SYSTEM_H #define FONT_SYSTEM_H #if defined(_MSC_VER)||defined(__WIN32__) # include #endif #include #include #include #include #include #include #include typedef struct rat_texture_font { float pt,*wids,*bears,*hoss; int *qvws,*qvhs; float *qtws,*qths; unsigned int *textures; } rat_texture_font; typedef struct rat_glyph_font { float pt; FT_Face face; } rat_glyph_font; #ifdef __cplusplus extern "C" { #endif int rat_start_font_system(); void rat_stop_font_system(); rat_glyph_font *rat_glyph_font_load(char *filename,int pt); rat_texture_font *rat_texture_font_from_glyph_font(rat_glyph_font *font); void rat_glyph_font_destroy(rat_glyph_font *font); void rat_texture_font_destroy(rat_texture_font *font); void rat_set_text_color(float *rgba); void rat_get_text_color(float *rgba); float rat_texture_font_height(rat_texture_font *font); float rat_texture_font_text_length(rat_texture_font *font,char *text); float rat_texture_font_glyph_length(rat_texture_font *font,char ch); void rat_texture_font_render_text(rat_texture_font *font,float x,float y,char *text); void rat_texture_font_render_text_notform(rat_texture_font *font,char *text); void rat_texture_font_render_glyph_at(rat_texture_font *font,float x,float y,char ch); void rat_texture_font_render_glyph_centered(rat_texture_font *font,float x,float y,float ang,float sclx,float scly,char ch); #ifdef __cplusplus } #endif #endif