From: Dana Jansens Date: Thu, 14 Feb 2008 17:31:51 +0000 (-0500) Subject: fix min-size calculations for lineart textures X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=baf1a0919d4562c7f75b3b18e700236ca0b49c43;p=chaz%2Fopenbox fix min-size calculations for lineart textures --- diff --git a/render/render.c b/render/render.c index 75dead16..2813dda0 100644 --- a/render/render.c +++ b/render/render.c @@ -373,6 +373,8 @@ gint RrMinWidth(RrAppearance *a) gint l, t, r, b; gint w = 0; + RrMargins(a, &l, &t, &r, &b); + for (i = 0; i < a->textures; ++i) { switch (a->texture[i].type) { case RR_TEXTURE_NONE: @@ -394,14 +396,12 @@ gint RrMinWidth(RrAppearance *a) w += MAX(w, a->texture[i].data.rgba.width); break; case RR_TEXTURE_LINE_ART: - w += MAX(w, MAX(a->texture[i].data.lineart.x1, - a->texture[i].data.lineart.x2)); + w = MAX(w, MAX(a->texture[i].data.lineart.x1 - l - r, + a->texture[i].data.lineart.x2 - l - r)); break; } } - RrMargins(a, &l, &t, &r, &b); - w += l + r; if (w < 1) w = 1; @@ -415,6 +415,8 @@ gint RrMinHeight(RrAppearance *a) RrSize *m; gint h = 0; + RrMargins(a, &l, &t, &r, &b); + for (i = 0; i < a->textures; ++i) { switch (a->texture[i].type) { case RR_TEXTURE_NONE: @@ -446,14 +448,12 @@ gint RrMinHeight(RrAppearance *a) h += MAX(h, a->texture[i].data.rgba.height); break; case RR_TEXTURE_LINE_ART: - h += MAX(h, MAX(a->texture[i].data.lineart.y1, - a->texture[i].data.lineart.y2)); + h = MAX(h, MAX(a->texture[i].data.lineart.y1 - t - b, + a->texture[i].data.lineart.y2 - t - b)); break; } } - RrMargins(a, &l, &t, &r, &b); - h += t + b; if (h < 1) h = 1;