diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-02-14 12:31:51 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-02-14 14:24:37 -0500 |
| commit | baf1a0919d4562c7f75b3b18e700236ca0b49c43 (patch) | |
| tree | 347e6d9fcde97a3cdb0e483013548078456b4b05 /render | |
| parent | 415c0d2721149a18ec53de8ebc5b8313b176d4d7 (diff) | |
fix min-size calculations for lineart textures
Diffstat (limited to 'render')
| -rw-r--r-- | render/render.c | 16 |
1 files 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; |
