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.dogcows.com/gitweb?a=commitdiff_plain;h=957e07cbcc9b094bcc96280e5c3edde23d1be260;p=chaz%2Fopenbox fix min-size calculations for lineart textures --- diff --git a/render/render.c b/render/render.c index 304148de..fd442d26 100644 --- a/render/render.c +++ b/render/render.c @@ -394,6 +394,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: @@ -418,14 +420,12 @@ gint RrMinWidth(RrAppearance *a) /* images resize so they don't contribute anything to the min */ 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; @@ -439,6 +439,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: @@ -473,14 +475,12 @@ gint RrMinHeight(RrAppearance *a) /* images resize so they don't contribute anything to the min */ 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;