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
Index: elementary/src/lib/elm_photo.c
===================================================================
--- elementary/src/lib/elm_photo.c (리비전 66907)
+++ elementary/src/lib/elm_photo.c (작업 사본)
@@ -608,4 +608,24 @@
#endif
}
+EAPI void
+elm_photo_aspect_ratio_retained_set(Evas_Object *obj, Eina_Bool retained)
+{
+ 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, retained);
+}
+
+EAPI Eina_Bool
+elm_photo_aspect_ratio_retained_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 :*/
Index: elementary/src/lib/elm_photo.h
===================================================================
--- elementary/src/lib/elm_photo.h (리비전 66907)
+++ elementary/src/lib/elm_photo.h (작업 사본)
@@ -79,5 +79,34 @@
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 retained @c EINA_TRUE if the photo should retain 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 retain
+ * this original aspect, and the way that the photo is fit into
+ * the object's area
+ *
+ * @see elm_photo_aspect_ratio_retained_get()
+ *
+ * @ingroup Photo
+ */
+EAPI void elm_photo_aspect_ratio_retained_set(Evas_Object *obj,
Eina_Bool retained);
+
+/**
+ * Get if the object retains 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_ratio_retained_get(const Evas_Object
*obj);
+
+/**
* @}
*/
Index: elementary/src/bin/test_photo.c
===================================================================
--- elementary/src/bin/test_photo.c (리비전 66907)
+++ elementary/src/bin/test_photo.c (작업 사본)
@@ -51,6 +51,7 @@
elm_app_data_dir_get(), img[n]);
n++;
if (n >= 9) n = 0;
+ elm_photo_aspect_ratio_retained_set(ph, EINA_FALSE);
elm_photo_size_set(ph, 80);
if (n == 8)
elm_photo_thumb_set(ph, buf, NULL);
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel