image now implements edje object size functions
authorMike Blumenkrantz <zmike@osg.samsung.com>
Wed, 21 Jan 2015 20:15:43 +0000 (15:15 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Wed, 21 Jan 2015 20:17:00 +0000 (15:17 -0500)
      Edje.Object.size_min.get;
      Edje.Object.size_max.get;
      Edje.Object.size_min_calc;
      Edje.Object.calc_force;

fixes all image-in-edje sizing issues/errors

src/lib/elm_image.c
src/lib/elm_image.eo

index 8e12a39a7301f4cf5804c29fa835270b21dc3cfd..4ca45fa8fbe2d925f5a7787cc5333c8b6c835f15 100644 (file)
@@ -841,6 +841,40 @@ _elm_image_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, cons
      edje_object_signal_emit(sd->img, emission, source);
 }
 
+EOLIAN static void
+_elm_image_edje_object_size_min_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, int *w, int *h)
+{
+   if (sd->edje)
+     edje_object_size_min_get(sd->img, w, h);
+   else
+     evas_object_size_hint_min_get(sd->img, w, h);
+}
+
+EOLIAN static void
+_elm_image_edje_object_size_max_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, int *w, int *h)
+{
+   if (sd->edje)
+     edje_object_size_max_get(sd->img, w, h);
+   else
+     evas_object_size_hint_max_get(sd->img, w, h);
+}
+
+EOLIAN static void
+_elm_image_edje_object_calc_force(Eo *obj EINA_UNUSED, Elm_Image_Data *sd)
+{
+   if (sd->edje)
+     edje_object_calc_force(sd->img);
+}
+
+EOLIAN static void
+_elm_image_edje_object_size_min_calc(Eo *obj EINA_UNUSED, Elm_Image_Data *sd, int *w, int *h)
+{
+   if (sd->edje)
+     edje_object_size_min_calc(sd->img, w, h);
+   else
+     evas_object_size_hint_min_get(sd->img, w, h);
+}
+
 EOLIAN static Eina_Bool
 _elm_image_mmap_set(Eo *obj, Elm_Image_Data *sd, const Eina_File *f, const char *key)
 {
index ef934d4de7b30e4f30d95651643f092002ed472c..d5592cb6bdcf2193cdd0cdb24dc9aa78c94f66da 100644 (file)
@@ -543,6 +543,10 @@ class Elm_Image (Elm_Widget, Efl.File, Efl.Image, Evas.Clickable_Interface,
       Efl.Image.smooth_scale.set;
       Efl.Image.smooth_scale.get;
       Edje.Object.signal_emit;
+      Edje.Object.size_min.get;
+      Edje.Object.size_max.get;
+      Edje.Object.size_min_calc;
+      Edje.Object.calc_force;
       Evas.Object_Smart.hide;
       Evas.Object_Smart.clip.set;
       Evas.Object_Smart.clip_unset;