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:
Hermet Park 2019-12-23 15:42:17 +09:00
parent f349510941
commit 46ee203331
1 changed files with 1 additions and 6 deletions

View File

@ -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;