summaryrefslogtreecommitdiff
path: root/render/render.c
diff options
context:
space:
mode:
authorDerek Foreman <manmower@gmail.com>2003-03-16 23:36:17 +0000
committerDerek Foreman <manmower@gmail.com>2003-03-16 23:36:17 +0000
commit8c8c40e270fa2e2ecc423e59191c99f5b97d8d75 (patch)
tree2a24b57a0e4ab48ef7dd611ba4d4e83340f03dc0 /render/render.c
parent4672adbfa0384fdb8c102271dad64ad0bf3fb8da (diff)
try to render fonts
destroy pixmaps and xftdraws in appearance_delete
Diffstat (limited to 'render/render.c')
-rw-r--r--render/render.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/render/render.c b/render/render.c
index cdbf01f5..63b55d5c 100644
--- a/render/render.c
+++ b/render/render.c
@@ -80,7 +80,15 @@ void x_paint(Window win, Appearance *l, int w, int h)
gradient_solid(l, w, h);
else gradient_render(&l->surface, w, h);
for (i = 0; i < l->textures; i++) {
- printf("I AM DOING SOMETHING NOW\n");
+ switch (l->texture[i].type) {
+ case Text:
+ if (l->xftdraw == NULL) {
+ l->xftdraw = XftDrawCreate(ob_display, l->pixmap,
+ render_visual, render_colormap);
+ }
+ font_draw(l->xftdraw, l->texture[i].data.text);
+ break;
+ }
}
//reduce depth
if (l->surface.data.planar.grad != Background_Solid) {
@@ -178,6 +186,8 @@ Appearance *appearance_copy(Appearance *orig)
void appearance_free(Appearance *a)
{
PlanarSurface *p;
+ if (a->pixmap != None) XFreePixmap(ob_display, a->pixmap);
+ if (a->xftdraw != NULL) XftDrawDestroy(a->xftdraw);
if (a->textures)
g_free(a->texture);
if (a->surface.type == Surface_Planar) {