X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Ffont-ximage.c;h=bb51736787de110104f6f8921cf3c0cd0f0e42d6;hb=2762a7d7cf8d83e68b8f635941f6609119d630ae;hp=c8ddc4824088c3cd4f50b8dfcff489a6b45f1cdd;hpb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;p=xscreensaver diff --git a/hacks/glx/font-ximage.c b/hacks/glx/font-ximage.c index c8ddc482..bb517367 100644 --- a/hacks/glx/font-ximage.c +++ b/hacks/glx/font-ximage.c @@ -1,5 +1,5 @@ /* font-ximage.c --- renders text to an XImage for use with OpenGL. - * xscreensaver, Copyright (c) 2001, 2003 Jamie Zawinski + * xscreensaver, Copyright (c) 2001-2013 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -20,13 +20,16 @@ #ifdef HAVE_COCOA # include "jwxyz.h" -# include #else /* !HAVE_COCOA */ # include # include # include /* only for GLfloat */ #endif /* !HAVE_COCOA */ +#ifdef HAVE_JWZGLES +# include "jwzgles.h" +#endif /* HAVE_JWZGLES */ + extern char *progname; #include "font-ximage.h" @@ -65,7 +68,7 @@ to_pow2 (int i) This XImage will be 32 bits per pixel, 8 each per R, G, and B, with the extra byte set to 0xFF. - Foregroune and background are GL-style color specifiers: 4 floats from + Foreground and background are GL-style color specifiers: 4 floats from 0.0-1.0. */ XImage * @@ -131,6 +134,8 @@ text_to_ximage (Screen *screen, Visual *visual, overall.rbearing = MAX(overall.rbearing, o2.rbearing); lines++; } + free (text); + text = 0; width = overall.lbearing + overall.rbearing + margin + margin + 1; height = ((f->ascent + f->descent) * lines) + margin + margin; @@ -158,15 +163,11 @@ text_to_ximage (Screen *screen, Visual *visual, while ((line = strtok(token, "\r\n"))) { XCharStruct o2; - int ascent, descent, direction, xoff2; + int ascent, descent, direction; token = 0; XTextExtents(f, line, strlen(line), &direction, &ascent, &descent, &o2); - xoff2 = (xoff + - ((overall.lbearing + overall.rbearing) - - (o2.lbearing + o2.rbearing)) / 2); - XDrawString(dpy, bitmap, gc, overall.lbearing + margin + xoff, ((f->ascent * (lines + 1)) +