edje_calc: remove redundant checking

We check amin > ZERO && amax > ZERO, so no need to do it them again.
This commit is contained in:
Thiep Ha 2016-12-14 17:59:40 +09:00
parent c1518043e3
commit a94f30f1dc
1 changed files with 33 additions and 38 deletions

View File

@ -1235,23 +1235,23 @@ _edje_part_recalc_single_aspect(Edje *ed,
case EDJE_ASPECT_PREFER_NONE: case EDJE_ASPECT_PREFER_NONE:
/* keep both dimensions in check */ /* keep both dimensions in check */
/* adjust for min aspect (width / height) */ /* adjust for min aspect (width / height) */
if ((amin > ZERO) && (aspect < amin)) if (aspect < amin)
{ {
new_h = DIV(params->eval.w, amin); new_h = DIV(params->eval.w, amin);
new_w = MUL(amin, params->eval.h); new_w = MUL(amin, params->eval.h);
} }
/* adjust for max aspect (width / height) */ /* adjust for max aspect (width / height) */
if ((amax > ZERO) && (aspect > amax)) if (aspect > amax)
{ {
new_h = DIV(params->eval.w, amax); new_h = DIV(params->eval.w, amax);
new_w = MUL(amax, params->eval.h); new_w = MUL(amax, params->eval.h);
} }
if ((amax > ZERO) && (new_w < params->eval.w)) if (new_w < params->eval.w)
{ {
new_w = params->eval.w; new_w = params->eval.w;
new_h = DIV(params->eval.w, amax); new_h = DIV(params->eval.w, amax);
} }
if ((amax > ZERO) && (new_h < params->eval.h)) if (new_h < params->eval.h)
{ {
new_w = MUL(amax, params->eval.h); new_w = MUL(amax, params->eval.h);
new_h = params->eval.h; new_h = params->eval.h;
@ -1262,10 +1262,10 @@ _edje_part_recalc_single_aspect(Edje *ed,
case EDJE_ASPECT_PREFER_VERTICAL: case EDJE_ASPECT_PREFER_VERTICAL:
/* keep both dimensions in check */ /* keep both dimensions in check */
/* adjust for max aspect (width / height) */ /* adjust for max aspect (width / height) */
if ((amax > ZERO) && (aspect > amax)) if (aspect > amax)
new_w = MUL(amax, params->eval.h); new_w = MUL(amax, params->eval.h);
/* adjust for min aspect (width / height) */ /* adjust for min aspect (width / height) */
if ((amin > ZERO) && (aspect < amin)) if (aspect < amin)
new_w = MUL(amin, params->eval.h); new_w = MUL(amin, params->eval.h);
break; break;
@ -1273,10 +1273,10 @@ _edje_part_recalc_single_aspect(Edje *ed,
case EDJE_ASPECT_PREFER_HORIZONTAL: case EDJE_ASPECT_PREFER_HORIZONTAL:
/* keep both dimensions in check */ /* keep both dimensions in check */
/* adjust for max aspect (width / height) */ /* adjust for max aspect (width / height) */
if ((amax > ZERO) && (aspect > amax)) if (aspect > amax)
new_h = DIV(params->eval.w, amax); new_h = DIV(params->eval.w, amax);
/* adjust for min aspect (width / height) */ /* adjust for min aspect (width / height) */
if ((amin > ZERO) && (aspect < amin)) if (aspect < amin)
new_h = DIV(params->eval.w, amin); new_h = DIV(params->eval.w, amin);
break; break;
@ -1284,13 +1284,13 @@ _edje_part_recalc_single_aspect(Edje *ed,
case EDJE_ASPECT_PREFER_BOTH: case EDJE_ASPECT_PREFER_BOTH:
/* keep both dimensions in check */ /* keep both dimensions in check */
/* adjust for max aspect (width / height) */ /* adjust for max aspect (width / height) */
if ((amax > ZERO) && (aspect > amax)) if (aspect > amax)
{ {
new_w = MUL(amax, params->eval.h); new_w = MUL(amax, params->eval.h);
new_h = DIV(params->eval.w, amax); new_h = DIV(params->eval.w, amax);
} }
/* adjust for min aspect (width / height) */ /* adjust for min aspect (width / height) */
if ((amin > ZERO) && (aspect < amin)) if (aspect < amin)
{ {
new_w = MUL(amin, params->eval.h); new_w = MUL(amin, params->eval.h);
new_h = DIV(params->eval.w, amin); new_h = DIV(params->eval.w, amin);
@ -1301,8 +1301,7 @@ _edje_part_recalc_single_aspect(Edje *ed,
break; break;
} }
if (!((amin > ZERO) && (amax > ZERO) && if (apref != EDJE_ASPECT_PREFER_NONE)
(apref == EDJE_ASPECT_PREFER_NONE)))
{ {
if ((*maxw >= 0) && (new_w > FROM_INT(*maxw))) if ((*maxw >= 0) && (new_w > FROM_INT(*maxw)))
new_w = FROM_INT(*maxw); new_w = FROM_INT(*maxw);
@ -1318,38 +1317,34 @@ _edje_part_recalc_single_aspect(Edje *ed,
/* do real adjustment */ /* do real adjustment */
if (apref == EDJE_ASPECT_PREFER_BOTH) if (apref == EDJE_ASPECT_PREFER_BOTH)
{ {
if (amin == ZERO) amin = amax; /* fix h and vary w */
if (amin != ZERO) if (new_w > params->eval.w)
{ {
/* fix h and vary w */ // params->w = new_w;
if (new_w > params->eval.w) // EXCEEDS BOUNDS in W
new_h = DIV(params->eval.w, amin);
new_w = params->eval.w;
if (new_h > params->eval.h)
{ {
// params->w = new_w;
// EXCEEDS BOUNDS in W
new_h = DIV(params->eval.w, amin);
new_w = params->eval.w;
if (new_h > params->eval.h)
{
new_h = params->eval.h;
new_w = MUL(amin, params->eval.h);
}
}
/* fix w and vary h */
else
{
// params->h = new_h;
// EXCEEDS BOUNDS in H
new_h = params->eval.h; new_h = params->eval.h;
new_w = MUL(amin, params->eval.h); new_w = MUL(amin, params->eval.h);
if (new_w > params->eval.w)
{
new_h = DIV(params->eval.w, amin);
new_w = params->eval.w;
}
} }
params->eval.w = new_w;
params->eval.h = new_h;
} }
/* fix w and vary h */
else
{
// params->h = new_h;
// EXCEEDS BOUNDS in H
new_h = params->eval.h;
new_w = MUL(amin, params->eval.h);
if (new_w > params->eval.w)
{
new_h = DIV(params->eval.w, amin);
new_w = params->eval.w;
}
}
params->eval.w = new_w;
params->eval.h = new_h;
} }
} }
if (apref != EDJE_ASPECT_PREFER_BOTH) if (apref != EDJE_ASPECT_PREFER_BOTH)