From f2700eaeee748112d775205f5933ecfc5f571941 Mon Sep 17 00:00:00 2001 From: kramm Date: Fri, 16 Jun 2006 07:01:20 +0000 Subject: [PATCH] small changes to font handling --- lib/devices/opengl.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/devices/opengl.c b/lib/devices/opengl.c index 2a57216..955b60e 100644 --- a/lib/devices/opengl.c +++ b/lib/devices/opengl.c @@ -15,7 +15,6 @@ typedef struct _fontlist { gfxfont_t*font; - char*id; struct _fontlist*next; } fontlist_t; @@ -303,21 +302,20 @@ void opengl_fillgradient(struct _gfxdevice*dev, gfxline_t*line, gfxgradient_t*gr dbg("fillgradient"); } -void opengl_addfont(gfxdevice_t*dev, char*fontid, gfxfont_t*font) +void opengl_addfont(gfxdevice_t*dev, gfxfont_t*font) { internal_t*i = (internal_t*)dev->internal; fontlist_t*last=0,*l = i->fontlist; while(l) { last = l; - if(!strcmp((char*)l->id, fontid)) { + if(!strcmp((char*)l->font->id, font->id)) { return; // we already know this font } l = l->next; } l = (fontlist_t*)rfx_calloc(sizeof(fontlist_t)); l->font = font; - l->id = strdup(fontid); l->next = 0; if(last) { last->next = l; @@ -326,26 +324,24 @@ void opengl_addfont(gfxdevice_t*dev, char*fontid, gfxfont_t*font) } } -void opengl_drawchar(gfxdevice_t*dev, char*fontid, int glyphnr, gfxcolor_t*color, gfxmatrix_t*matrix) +void opengl_drawchar(gfxdevice_t*dev, gfxfont_t*font, int glyphnr, gfxcolor_t*color, gfxmatrix_t*matrix) { internal_t*i = (internal_t*)dev->internal; - if(i->font && i->fontid && !strcmp(fontid, i->fontid)) { + if(i->font && i->font->id && !strcmp(font->id, i->font->id)) { // current font is correct } else { fontlist_t*l = i->fontlist; i->font = 0; - i->fontid = 0; while(l) { - if(!strcmp((char*)l->id, fontid)) { + if(!strcmp((char*)l->font->id, font->id)) { i->font = l->font; - i->fontid = l->id; break; } l = l->next; } if(i->font == 0) { - fprintf(stderr, "Unknown font id: %s", fontid); + fprintf(stderr, "Unknown font id: %s", font->id); return; } } -- 1.7.10.4