#pragma once #include "opengl.h" // Font info. typedef struct glFont_ { int h; // Height. int* w; GLuint* textures; GLuint list_base; } glFont; extern glFont gl_defFont; // Default font. extern glFont gl_smallFont; // Small font. // glFont loading/freeing. // If font is NULL it uses the internal default font, same with gl_print void gl_fontInit(glFont* font, const char* fname, const unsigned int h); void gl_freeFont(glFont* font); // Print text. void gl_print(const glFont* ft_font, const double x, const double y, const glColour* c, const char* fmt, ...); // Print text to a max length. int gl_printMax(const glFont* ft_font, const int max, const double x, const double y, const glColour* c, const char* fmt, ...); // Print text centered in width at x. int gl_printMid(const glFont* ft_font, const int width, double x, const double y, const glColour* c, const char* fmt, ...); // Respects \n -> bx, by is top left position. int gl_printText(const glFont* ft_font, const int width, const int height, double bx, double by, glColour* c, const char* fmt, ...); // Get the width of the text that you wish to print. int gl_printWidth(const glFont* ft_font, const char* fmt, ...); int gl_printHeight(const glFont* ft_font, const int width, const char* fmt, ...);