From: Hyoyoung Chang <hyoyoung@gmail.com>

Subject: [E-devel] [patch] elm_photo - add aspect_ratio_retained_{set/get}
Date: Fri, 6 Jan 2012 12:20:33 +0900

Dear all.

elm_photo doesn't have resizing functions which are not follow
original photo file ratio (vertical/horizontal).
so i copied aspect_ration_reatined functions from elm_image.
also it fixes photo menu bug in elementary_test.
currently photo window has a bug which cannot display non-square
images correctly.

Thanks


SVN revision: 66924
This commit is contained in:
Hyoyoung Chang 2012-01-06 05:50:33 +00:00 committed by Mike Blumenkrantz
parent db64cb27f8
commit 781a6ab4db
3 changed files with 50 additions and 0 deletions

View File

@ -51,6 +51,7 @@ test_photo(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
elm_app_data_dir_get(), img[n]);
n++;
if (n >= 9) n = 0;
elm_photo_aspect_fixed_set(ph, EINA_FALSE);
elm_photo_size_set(ph, 80);
if (n == 8)
elm_photo_thumb_set(ph, buf, NULL);

View File

@ -608,4 +608,24 @@ elm_photo_thumb_set(const Evas_Object *obj, const char *file, const char *group)
#endif
}
EAPI void
elm_photo_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
return _els_smart_icon_aspect_ratio_retained_set(wd->img, fixed);
}
EAPI Eina_Bool
elm_photo_aspect_fixed_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return _els_smart_icon_aspect_ratio_retained_get(wd->img);
}
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-3f0^-2{2(0W1st0 :*/

View File

@ -78,6 +78,35 @@ EAPI void elm_photo_fill_inside_set(Evas_Object *obj, Eina_Bool fill);
*/
EAPI void elm_photo_editable_set(Evas_Object *obj, Eina_Bool set);
/**
* Set whether the original aspect ratio of the photo should be kept on resize.
*
* @param obj The photo object.
* @param fixed @c EINA_TRUE if the photo should fix the aspect,
* @c EINA_FALSE otherwise.
*
* The original aspect ratio (width / height) of the photo is usually
* distorted to match the object's size. Enabling this option will fix
* this original aspect, and the way that the photo is fit into
* the object's area
*
* @see elm_photo_aspect_fixed_get()
*
* @ingroup Photo
*/
EAPI void elm_photo_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed);
/**
* Get if the object fixes the original aspect ratio.
*
* @param obj The photo object.
* @return @c EINA_TRUE if the object keeps the original aspect, @c EINA_FALSE
* otherwise.
*
* @ingroup Photo
*/
EAPI Eina_Bool elm_photo_aspect_fixed_get(const Evas_Object *obj);
/**
* @}
*/