fix min-size calculations for lineart textures
This commit is contained in:
parent
b026bd2ecc
commit
957e07cbcc
1 changed files with 8 additions and 8 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue