params->h = TO_INT(h);
}
-static void
+static Edje_Internal_Aspect
_edje_part_recalc_single_aspect(Edje_Real_Part *ep,
Edje_Part_Description_Common *desc,
Edje_Calc_Params *params,
int *minw, int *minh,
int *maxw, int *maxh)
{
- int apref = -10;
+ Edje_Internal_Aspect apref = EDJE_ASPECT_PREFER_NONE;
FLOAT_T aspect, amax, amin;
FLOAT_T new_w = ZERO, new_h = ZERO, want_x, want_y, want_w, want_h;
params->y = TO_INT(ADD(want_y,
MUL(SUB(want_h, FROM_INT(params->h)),
desc->align.y)));
- params->aspect = apref;
+ return apref;
}
static void
static void
_edje_part_recalc_single_min(Edje_Part_Description_Common *desc,
Edje_Calc_Params *params,
- int minw, int minh)
+ int minw, int minh,
+ Edje_Internal_Aspect aspect)
{
int tmp;
int w;
w = params->w ? params->w : 99999;
h = params->h ? params->h : 99999;
- switch (params->aspect)
+ switch (aspect)
{
case EDJE_ASPECT_PREFER_NONE:
break;
static void
_edje_part_recalc_single_max(Edje_Part_Description_Common *desc,
Edje_Calc_Params *params,
- int maxw, int maxh)
+ int maxw, int maxh,
+ Edje_Internal_Aspect aspect)
{
int tmp;
int w;
w = params->w ? params->w : 99999;
h = params->h ? params->h : 99999;
- switch (params->aspect)
+ switch (aspect)
{
case EDJE_ASPECT_PREFER_NONE:
break;
Edje_Calc_Params *params)
{
Edje_Color_Class *cc = NULL;
+ Edje_Internal_Aspect apref;
int minw = 0, minh = 0, maxw = 0, maxh = 0;
FLOAT_T sc;
_edje_part_recalc_single_rel(ed, ep, desc, rel1_to_x, rel1_to_y, rel2_to_x, rel2_to_y, params);
/* aspect */
- _edje_part_recalc_single_aspect(ep, desc, params, &minw, &minh, &maxw, &maxh);
+ apref = _edje_part_recalc_single_aspect(ep, desc, params, &minw, &minh, &maxw, &maxh);
/* size step */
_edje_part_recalc_single_step(desc, params);
params->req.h = params->h;
/* adjust for min size */
- _edje_part_recalc_single_min(desc, params, minw, minh);
+ _edje_part_recalc_single_min(desc, params, minw, minh, apref);
/* adjust for max size */
- _edje_part_recalc_single_max(desc, params, maxw, maxh);
+ _edje_part_recalc_single_max(desc, params, maxw, maxh, apref);
/* take care of dragable part */
if (ep->drag)