X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=render%2Frender.c;h=669761d574038c488180c5988839399938bdd0cb;hb=88204502a800f57b582e829d25cfeb899d444802;hp=1f4a2bb1228ed452d6866d7aca1bcf652ecc9cee;hpb=95222014e29d5b49b6211f8556deb0d5001c87b6;p=chaz%2Fopenbox diff --git a/render/render.c b/render/render.c index 1f4a2bb1..669761d5 100644 --- a/render/render.c +++ b/render/render.c @@ -1,6 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- render.c for the Openbox window manager + Copyright (c) 2006 Mikael Magnusson Copyright (c) 2003 Ben Jansens Copyright (c) 2003 Derek Foreman @@ -48,7 +49,7 @@ void RrPaint(RrAppearance *a, Window win, gint w, gint h) if (w <= 0 || h <= 0) return; if (a->surface.parentx < 0 || a->surface.parenty < 0) { - ob_debug("Invalid parent co-ordinates\n"); + /* ob_debug("Invalid parent co-ordinates\n"); */ return; } resized = (a->w != w || a->h != h); @@ -113,7 +114,8 @@ void RrPaint(RrAppearance *a, Window win, gint w, gint h) case RR_TEXTURE_TEXT: if (!transferred) { transferred = 1; - if (a->surface.grad != RR_SURFACE_SOLID) + if ((a->surface.grad != RR_SURFACE_SOLID) + || (a->surface.interlaced)) pixel_data_to_pixmap(a, 0, 0, w, h); } if (a->xftdraw == NULL) { @@ -126,7 +128,8 @@ void RrPaint(RrAppearance *a, Window win, gint w, gint h) case RR_TEXTURE_LINE_ART: if (!transferred) { transferred = 1; - if (a->surface.grad != RR_SURFACE_SOLID) + if ((a->surface.grad != RR_SURFACE_SOLID) + || (a->surface.interlaced)) pixel_data_to_pixmap(a, 0, 0, w, h); } XDrawLine(RrDisplay(a->inst), a->pixmap, @@ -139,7 +142,8 @@ void RrPaint(RrAppearance *a, Window win, gint w, gint h) case RR_TEXTURE_MASK: if (!transferred) { transferred = 1; - if (a->surface.grad != RR_SURFACE_SOLID) + if ((a->surface.grad != RR_SURFACE_SOLID) + || (a->surface.interlaced)) pixel_data_to_pixmap(a, 0, 0, w, h); } RrPixmapMaskDraw(a->pixmap, &a->texture[i].data.mask, &tarea); @@ -156,7 +160,7 @@ void RrPaint(RrAppearance *a, Window win, gint w, gint h) if (!transferred) { transferred = 1; - if (a->surface.grad != RR_SURFACE_SOLID) + if ((a->surface.grad != RR_SURFACE_SOLID) || (a->surface.interlaced)) pixel_data_to_pixmap(a, 0, 0, w, h); } @@ -344,9 +348,12 @@ void RrMinsize(RrAppearance *a, gint *w, gint *h) break; case RR_TEXTURE_TEXT: m = RrFontMeasureString(a->texture[i].data.text.font, - a->texture[i].data.text.string); + a->texture[i].data.text.string, + a->texture[i].data.text.shadow_offset_x, + a->texture[i].data.text.shadow_offset_y); *w = MAX(*w, m->width + 4); - m->height = RrFontHeight(a->texture[i].data.text.font); + m->height = RrFontHeight(a->texture[i].data.text.font, + a->texture[i].data.text.shadow_offset_y); *h += MAX(*h, m->height); g_free(m); break; @@ -375,9 +382,9 @@ void RrMinsize(RrAppearance *a, gint *w, gint *h) static void reverse_bits(gchar *c, gint n) { gint i; - for (i = 0; i < n; i++) - *c++ = (((*c * 0x0802UL & 0x22110UL) | - (*c * 0x8020UL & 0x88440UL)) * 0x10101UL) >> 16; + for (i = 0; i < n; i++, c++) + *c = (((*c * 0x0802UL & 0x22110UL) | + (*c * 0x8020UL & 0x88440UL)) * 0x10101UL) >> 16; } gboolean RrPixmapToRGBA(const RrInstance *inst,