--- deliantra/Deliantra-Client/pango-render.c 2007/08/11 11:41:24 1.9 +++ deliantra/Deliantra-Client/pango-render.c 2007/08/11 12:07:54 1.10 @@ -254,6 +254,7 @@ void pango_opengl_render_layout_subpixel (PangoLayout *layout, + rc_t *rc, int x, int y, float r, float g, float b, float a, int flags) @@ -268,39 +269,26 @@ renderer = _pango_opengl_font_map_get_renderer (PANGO_OPENGL_FONT_MAP (fontmap)); gl = PANGO_OPENGL_RENDERER (renderer); - gl->rc = rc_alloc (); + gl->rc = rc; gl->r = r; gl->g = g; gl->b = b; gl->a = a; gl->flags = flags; - glEnable (GL_TEXTURE_2D); - glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - glEnable (GL_BLEND); - gl_BlendFuncSeparate (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, - GL_ONE , GL_ONE_MINUS_SRC_ALPHA); - glEnable (GL_ALPHA_TEST); - glAlphaFunc (GL_GREATER, 0.01f); - pango_renderer_draw_layout (renderer, layout, x, y); - - rc_draw (gl->rc); - - glDisable (GL_ALPHA_TEST); - glDisable (GL_BLEND); - glDisable (GL_TEXTURE_2D); - - rc_free (gl->rc); } void pango_opengl_render_layout (PangoLayout *layout, + rc_t *rc, int x, int y, float r, float g, float b, float a, int flags) { - pango_opengl_render_layout_subpixel (layout, x * PANGO_SCALE, y * PANGO_SCALE, r, g, b, a, flags); + pango_opengl_render_layout_subpixel ( + layout, rc, x * PANGO_SCALE, y * PANGO_SCALE, r, g, b, a, flags + ); } static void