Replace big serie of if, with a cleaner switch.
SVN revision: 35943
This commit is contained in:
parent
060f30aa6e
commit
35fca3f9dd
|
@ -418,63 +418,69 @@ _edje_part_recalc_single(Edje *ed,
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (apref == EDJE_ASPECT_PREFER_NONE) /* keep botth dimensions in check */
|
||||
|
||||
switch (apref)
|
||||
{
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
{
|
||||
new_h = (params->w / amin);
|
||||
new_w = (params->h * amin);
|
||||
}
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
{
|
||||
new_h = (params->w / amax);
|
||||
new_w = (params->h * amax);
|
||||
}
|
||||
if ((amax > 0.0) && (new_w < params->w))
|
||||
{
|
||||
new_w = params->w;
|
||||
new_h = params->w / amax;
|
||||
}
|
||||
if ((amax > 0.0) && (new_h < params->h))
|
||||
{
|
||||
new_w = params->h * amax;
|
||||
new_h = params->h;
|
||||
}
|
||||
} /* prefer vertical size as determiner */
|
||||
else if (apref == EDJE_ASPECT_PREFER_VERTICAL) /* keep both dimensions in check */
|
||||
{
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
new_w = (params->h * amax);
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
new_w = (params->h * amin);
|
||||
} /* prefer horizontal size as determiner */
|
||||
else if (apref == EDJE_ASPECT_PREFER_HORIZONTAL) /* keep both dimensions in check */
|
||||
{
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
new_h = (params->w / amax);
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
new_h = (params->w / amin);
|
||||
}
|
||||
else if (apref == EDJE_ASPECT_PREFER_BOTH) /* keep both dimensions in check */
|
||||
{
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
{
|
||||
new_w = (params->h * amax);
|
||||
new_h = (params->w / amax);
|
||||
}
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
{
|
||||
new_w = (params->h * amin);
|
||||
new_h = (params->w / amin);
|
||||
}
|
||||
case EDJE_ASPECT_PREFER_NONE:
|
||||
/* keep botth dimensions in check */
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
{
|
||||
new_h = (params->w / amin);
|
||||
new_w = (params->h * amin);
|
||||
}
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
{
|
||||
new_h = (params->w / amax);
|
||||
new_w = (params->h * amax);
|
||||
}
|
||||
if ((amax > 0.0) && (new_w < params->w))
|
||||
{
|
||||
new_w = params->w;
|
||||
new_h = params->w / amax;
|
||||
}
|
||||
if ((amax > 0.0) && (new_h < params->h))
|
||||
{
|
||||
new_w = params->h * amax;
|
||||
new_h = params->h;
|
||||
}
|
||||
break;
|
||||
/* prefer vertical size as determiner */
|
||||
case EDJE_ASPECT_PREFER_VERTICAL:
|
||||
/* keep both dimensions in check */
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
new_w = (params->h * amax);
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
new_w = (params->h * amin);
|
||||
break;
|
||||
/* prefer horizontal size as determiner */
|
||||
case EDJE_ASPECT_PREFER_HORIZONTAL:
|
||||
/* keep both dimensions in check */
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
new_h = (params->w / amax);
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
new_h = (params->w / amin);
|
||||
break;
|
||||
case EDJE_ASPECT_PREFER_BOTH:
|
||||
/* keep both dimensions in check */
|
||||
/* adjust for max aspect (width / height) */
|
||||
if ((amax > 0.0) && (aspect > amax))
|
||||
{
|
||||
new_w = (params->h * amax);
|
||||
new_h = (params->w / amax);
|
||||
}
|
||||
/* adjust for min aspect (width / height) */
|
||||
if ((amin > 0.0) && (aspect < amin))
|
||||
{
|
||||
new_w = (params->h * amin);
|
||||
new_h = (params->w / amin);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (!((amin > 0.0) && (amax > 0.0) && (apref == EDJE_ASPECT_PREFER_NONE)))
|
||||
|
@ -1294,18 +1300,27 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
|
|||
printf("EDJE: Error loading image collection \"%s\" from "
|
||||
"file \"%s\". Missing EET Evas loader module?\n",
|
||||
buf, ed->file->path);
|
||||
if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_GENERIC)
|
||||
printf("Error type: EVAS_LOAD_ERROR_GENERIC\n");
|
||||
else if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_DOES_NOT_EXIST)
|
||||
printf("Error type: EVAS_LOAD_ERROR_DOES_NOT_EXIST\n");
|
||||
else if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_PERMISSION_DENIED)
|
||||
printf("Error type: EVAS_LOAD_ERROR_PERMISSION_DENIED\n");
|
||||
else if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED)
|
||||
printf("Error type: EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED\n");
|
||||
else if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_CORRUPT_FILE)
|
||||
printf("Error type: EVAS_LOAD_ERROR_CORRUPT_FILE\n");
|
||||
else if (evas_object_image_load_error_get(ep->object) == EVAS_LOAD_ERROR_UNKNOWN_FORMAT)
|
||||
printf("Error type: EVAS_LOAD_ERROR_UNKNOWN_FORMAT\n");
|
||||
switch (evas_object_image_load_error_get(ep->object))
|
||||
{
|
||||
case EVAS_LOAD_ERROR_GENERIC:
|
||||
printf("Error type: EVAS_LOAD_ERROR_GENERIC\n");
|
||||
break;
|
||||
case EVAS_LOAD_ERROR_DOES_NOT_EXIST:
|
||||
printf("Error type: EVAS_LOAD_ERROR_DOES_NOT_EXIST\n");
|
||||
break;
|
||||
case EVAS_LOAD_ERROR_PERMISSION_DENIED:
|
||||
printf("Error type: EVAS_LOAD_ERROR_PERMISSION_DENIED\n");
|
||||
break;
|
||||
case EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED:
|
||||
printf("Error type: EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED\n");
|
||||
break;
|
||||
case EVAS_LOAD_ERROR_CORRUPT_FILE:
|
||||
printf("Error type: EVAS_LOAD_ERROR_CORRUPT_FILE\n");
|
||||
break;
|
||||
case EVAS_LOAD_ERROR_UNKNOWN_FORMAT:
|
||||
printf("Error type: EVAS_LOAD_ERROR_UNKNOWN_FORMAT\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1430,43 +1445,44 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
|
|||
p3.color.b = INTP(p1.color.b, p2.color.b, pos);
|
||||
p3.color.a = INTP(p1.color.a, p2.color.a, pos);
|
||||
|
||||
if ((part_type == EDJE_PART_TYPE_IMAGE) ||
|
||||
(part_type == EDJE_PART_TYPE_GRADIENT))
|
||||
switch (part_type)
|
||||
{
|
||||
p3.fill.x = INTP(p1.fill.x, p2.fill.x, pos);
|
||||
p3.fill.y = INTP(p1.fill.y, p2.fill.y, pos);
|
||||
p3.fill.w = INTP(p1.fill.w, p2.fill.w, pos);
|
||||
p3.fill.h = INTP(p1.fill.h, p2.fill.h, pos);
|
||||
if (part_type == EDJE_PART_TYPE_GRADIENT)
|
||||
{
|
||||
p3.fill.angle = INTP(p1.fill.angle, p2.fill.angle, pos);
|
||||
p3.fill.spread = (beginning_pos) ? p1.fill.spread : p2.fill.spread;
|
||||
p3.gradient = (beginning_pos) ? p1.gradient : p2.gradient;
|
||||
}
|
||||
else
|
||||
{
|
||||
p3.border.l = INTP(p1.border.l, p2.border.l, pos);
|
||||
p3.border.r = INTP(p1.border.r, p2.border.r, pos);
|
||||
p3.border.t = INTP(p1.border.t, p2.border.t, pos);
|
||||
p3.border.b = INTP(p1.border.b, p2.border.b, pos);
|
||||
}
|
||||
}
|
||||
else if ((part_type == EDJE_PART_TYPE_TEXT) ||
|
||||
(part_type == EDJE_PART_TYPE_TEXTBLOCK))
|
||||
{
|
||||
p3.color2.r = INTP(p1.color2.r, p2.color2.r, pos);
|
||||
p3.color2.g = INTP(p1.color2.g, p2.color2.g, pos);
|
||||
p3.color2.b = INTP(p1.color2.b, p2.color2.b, pos);
|
||||
p3.color2.a = INTP(p1.color2.a, p2.color2.a, pos);
|
||||
case EDJE_PART_TYPE_IMAGE:
|
||||
case EDJE_PART_TYPE_GRADIENT:
|
||||
p3.fill.x = INTP(p1.fill.x, p2.fill.x, pos);
|
||||
p3.fill.y = INTP(p1.fill.y, p2.fill.y, pos);
|
||||
p3.fill.w = INTP(p1.fill.w, p2.fill.w, pos);
|
||||
p3.fill.h = INTP(p1.fill.h, p2.fill.h, pos);
|
||||
if (part_type == EDJE_PART_TYPE_GRADIENT)
|
||||
{
|
||||
p3.fill.angle = INTP(p1.fill.angle, p2.fill.angle, pos);
|
||||
p3.fill.spread = (beginning_pos) ? p1.fill.spread : p2.fill.spread;
|
||||
p3.gradient = (beginning_pos) ? p1.gradient : p2.gradient;
|
||||
}
|
||||
else
|
||||
{
|
||||
p3.border.l = INTP(p1.border.l, p2.border.l, pos);
|
||||
p3.border.r = INTP(p1.border.r, p2.border.r, pos);
|
||||
p3.border.t = INTP(p1.border.t, p2.border.t, pos);
|
||||
p3.border.b = INTP(p1.border.b, p2.border.b, pos);
|
||||
}
|
||||
break;
|
||||
case EDJE_PART_TYPE_TEXT:
|
||||
case EDJE_PART_TYPE_TEXTBLOCK:
|
||||
p3.color2.r = INTP(p1.color2.r, p2.color2.r, pos);
|
||||
p3.color2.g = INTP(p1.color2.g, p2.color2.g, pos);
|
||||
p3.color2.b = INTP(p1.color2.b, p2.color2.b, pos);
|
||||
p3.color2.a = INTP(p1.color2.a, p2.color2.a, pos);
|
||||
|
||||
p3.color3.r = INTP(p1.color3.r, p2.color3.r, pos);
|
||||
p3.color3.g = INTP(p1.color3.g, p2.color3.g, pos);
|
||||
p3.color3.b = INTP(p1.color3.b, p2.color3.b, pos);
|
||||
p3.color3.a = INTP(p1.color3.a, p2.color3.a, pos);
|
||||
p3.color3.r = INTP(p1.color3.r, p2.color3.r, pos);
|
||||
p3.color3.g = INTP(p1.color3.g, p2.color3.g, pos);
|
||||
p3.color3.b = INTP(p1.color3.b, p2.color3.b, pos);
|
||||
p3.color3.a = INTP(p1.color3.a, p2.color3.a, pos);
|
||||
|
||||
p3.text.align.x = INTP(p1.text.align.x, p2.text.align.x, pos);
|
||||
p3.text.align.y = INTP(p1.text.align.y, p2.text.align.y, pos);
|
||||
p3.text.elipsis = INTP(p1.text.elipsis, p2.text.elipsis, pos);
|
||||
p3.text.align.x = INTP(p1.text.align.x, p2.text.align.x, pos);
|
||||
p3.text.align.y = INTP(p1.text.align.y, p2.text.align.y, pos);
|
||||
p3.text.elipsis = INTP(p1.text.elipsis, p2.text.elipsis, pos);
|
||||
break;
|
||||
}
|
||||
|
||||
pf = &p3;
|
||||
|
|
Loading…
Reference in New Issue