diff options
| author | Mikael Magnusson <mikachu@comhem.se> | 2008-02-07 15:28:18 +0100 |
|---|---|---|
| committer | Mikael Magnusson <mikachu@comhem.se> | 2008-02-07 15:28:18 +0100 |
| commit | f6193ad9e048c5824142d3e7feeb109f91054052 (patch) | |
| tree | 2afdebe7db3494a5c30330d198a3051076fda8c6 /render/render.c | |
| parent | a3babc4a995d31e44a626448e28d607be3c33197 (diff) | |
| parent | de85e4f1d96c911c7c9dc7c2a9b514b13b028aec (diff) | |
Merge branch 'wip/alttab'
Diffstat (limited to 'render/render.c')
| -rw-r--r-- | render/render.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/render/render.c b/render/render.c index 75dead16..49485c8a 100644 --- a/render/render.c +++ b/render/render.c @@ -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; } |
