summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-02-14 12:31:51 -0500
committerDana Jansens <danakj@orodu.net>2008-02-14 14:24:37 -0500
commitbaf1a0919d4562c7f75b3b18e700236ca0b49c43 (patch)
tree347e6d9fcde97a3cdb0e483013548078456b4b05
parent415c0d2721149a18ec53de8ebc5b8313b176d4d7 (diff)
fix min-size calculations for lineart textures
-rw-r--r--render/render.c16
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;