X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Ftexfont.h;fp=hacks%2Fglx%2Ftexfont.h;h=7fbdb786bc6b7e1b082903400c09384b44f8adb7;hp=a708ae2be6ad344f98faa61cefe2d197258a19d4;hb=d1ae2829ff0fd2a96c16a0c8c5420efaa47d7b30;hpb=7edd66e6bd3209013ee059819747b10b5835635b diff --git a/hacks/glx/texfont.h b/hacks/glx/texfont.h index a708ae2b..7fbdb786 100644 --- a/hacks/glx/texfont.h +++ b/hacks/glx/texfont.h @@ -1,4 +1,4 @@ -/* texfonts, Copyright (c) 2005-2014 Jamie Zawinski +/* texfonts, Copyright (c) 2005-2015 Jamie Zawinski * Loads X11 fonts into textures for use with OpenGL. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -20,10 +20,12 @@ typedef struct texture_font_data texture_font_data; */ extern texture_font_data *load_texture_font (Display *, char *res); -/* Bounding box of the multi-line string, in pixels. +/* Bounding box of the multi-line string, in pixels, + and overall ascent/descent of the font. */ -extern int texture_string_width (texture_font_data *, const char *, - int *height_ret); +extern void texture_string_metrics (texture_font_data *, const char *, + XCharStruct *metrics_ret, + int *ascent_ret, int *descent_ret); /* Draws the string in the scene at the origin. Newlines and tab stops are honored. @@ -43,6 +45,19 @@ void print_texture_label (Display *, texture_font_data *, int window_width, int window_height, int position, const char *string); +/* Renders the given string into the prevailing texture. + Returns the metrics of the text, and size of the texture. + */ +void string_to_texture (texture_font_data *, const char *, + XCharStruct *extents_ret, + int *tex_width_ret, int *tex_height_ret); + +/* Set the various OpenGL parameters for properly rendering things + with a texture generated by string_to_texture(). + */ +void enable_texture_string_parameters (void); + + /* Releases the texture font. */ extern void free_texture_font (texture_font_data *);