]> Dogcows Code - chaz/openbox/blobdiff - render/render.c
backport the changes to render/ from the alttab branch (commit 3592046b2b26e05ee94c0d...
[chaz/openbox] / render / render.c
index 2813dda0a5ad29f58b944dc21e7652306f50f285..b81e80a69d37bd627b38ea0b9a6ecac2dc6976fd 100644 (file)
@@ -132,10 +132,20 @@ Pixmap RrPaintPixmap(RrAppearance *a, gint w, gint h)
             break;
         case RR_TEXTURE_RGBA:
             g_assert(!transferred);
-            RrImageDraw(a->surface.pixel_data,
-                        &a->texture[i].data.rgba,
-                        a->w, a->h,
-                        &tarea);
+            {
+                RrRect narea = tarea;
+                RrTextureRGBA *rgb = &a->texture[i].data.rgba;
+                if (rgb->twidth)
+                    narea.width = MIN(tarea.width, rgb->twidth);
+                if (rgb->theight)
+                    narea.height = MIN(tarea.height, rgb->theight);
+                narea.x += rgb->tx;
+                narea.y += rgb->ty;
+                RrImageDraw(a->surface.pixel_data,
+                            &a->texture[i].data.rgba,
+                            a->w, a->h,
+                            &narea);
+            }
             force_transfer = 1;
         break;
         }
This page took 0.020552 seconds and 4 git commands to generate.