forked from enlightenment/efl
ui image: fix scale_method expand behavior.
As efl_gfx_image_expand specification, it scales the image to cover the entire object area on one axis while maintaining the aspect ratio though image may become larger than the object. Thus, this option must work as one of fit_width / fit_height by detertimining either way. Previously, it was logically wrong. @fix
This commit is contained in:
parent
f349510941
commit
46ee203331
|
@ -215,27 +215,22 @@ _image_sizing_eval(Eo *obj, Efl_Ui_Image_Data *sd, Evas_Object *img)
|
|||
case EFL_GFX_IMAGE_SCALE_METHOD_FIT:
|
||||
w = ow;
|
||||
h = ((double)ih * w) / (double)iw;
|
||||
|
||||
if (h > oh)
|
||||
{
|
||||
h = oh;
|
||||
w = ((double)iw * h) / (double)ih;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
case EFL_GFX_IMAGE_SCALE_METHOD_FIT_WIDTH:
|
||||
w = ow;
|
||||
h = ((double)ih * w) / (double)iw;
|
||||
|
||||
break;
|
||||
case EFL_GFX_IMAGE_SCALE_METHOD_FIT_HEIGHT:
|
||||
h = oh;
|
||||
w = ((double)iw * h) / (double)ih;
|
||||
|
||||
break;
|
||||
case EFL_GFX_IMAGE_SCALE_METHOD_EXPAND:
|
||||
if (ow > oh)
|
||||
if (iw < ih)
|
||||
{
|
||||
w = ow;
|
||||
h = ((double)ih * w) / (double)iw;
|
||||
|
|
Loading…
Reference in New Issue