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

Reply via email to