From baf1a0919d4562c7f75b3b18e700236ca0b49c43 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 14 Feb 2008 12:31:51 -0500 Subject: [PATCH] fix min-size calculations for lineart textures --- render/render.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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; -- 2.39.2