Edje_Edit: setter and getter for set image's scale_by 46/82046/2
authorVitalii Vorobiov <vi.vorobiov@samsung.com>
Wed, 27 Apr 2016 13:34:02 +0000 (16:34 +0300)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Wed, 3 Aug 2016 09:19:19 +0000 (02:19 -0700)
edje_edit_image_set_image_border_scale_set
edje_edit_image_set_image_border_scale_get

Change-Id: Ib54aadbf04e6d0d9a54b5284c9007535dc60eada

src/lib/edje/Edje_Edit.h
src/lib/edje/edje_edit.c

index 2af7f24..4107e9c 100644 (file)
@@ -5434,6 +5434,33 @@ edje_edit_image_set_image_border_get(Evas_Object *obj, const char *set_name, uns
 EAPI Eina_Bool
 edje_edit_image_set_image_border_set(Evas_Object *obj, const char *set_name, unsigned int place, int l, int r, int b, int t);
 
+/** Get border scale of set's image.
+ *
+ * @param obj Object being edited.
+ * @param set_name name of image set.
+ * @param place position of image.
+ *
+ * @return @c border scale value on success, @c -1 otherwise.
+ *
+ * @since 1.18
+ */
+EAPI double
+edje_edit_image_set_image_border_scale_get(Evas_Object *obj, const char *set_name, unsigned int place);
+
+/** Set border scale of set's image.
+ *
+ * @param obj Object being edited.
+ * @param set_name name of image set.
+ * @param place position of image.
+ * @param scale_by New border scale.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
+ *
+ * @since 1.18
+ */
+EAPI Eina_Bool
+edje_edit_image_set_image_border_scale_set(Evas_Object *obj, const char *set_name, unsigned int place, double scale_by);
+
 //@}
 /******************************************************************************/
 /**************************   IMAGES API   ************************************/
index 68802c0..1ff3736 100644 (file)
@@ -8447,6 +8447,60 @@ edje_edit_image_set_image_border_set(Evas_Object *obj, const char *set_name, uns
    return EINA_TRUE;
 }
 
+EAPI double
+edje_edit_image_set_image_border_scale_get(Evas_Object *obj, const char *set_name, unsigned int place)
+{
+   Edje_Image_Directory_Set *de = NULL;
+   Edje_Image_Directory_Set_Entry *dim = NULL;
+   unsigned int i;
+
+   GET_ED_OR_RETURN(-1);
+
+   if (!ed->file) return -1;
+   if (!ed->file->image_dir) return -1;
+
+   for (i = 0; i < ed->file->image_dir->sets_count; ++i)
+     {
+        de = ed->file->image_dir->sets + i;
+        if ((de->name) && (!strcmp(set_name, de->name)))
+          break;
+     }
+   if (i == ed->file->image_dir->sets_count) return -1;
+
+   dim = eina_list_nth(de->entries, place);
+   if (!dim) return -1;
+
+   return dim->border.scale_by;
+}
+
+EAPI Eina_Bool
+edje_edit_image_set_image_border_scale_set(Evas_Object *obj, const char *set_name, unsigned int place, double scale_by)
+{
+   Edje_Image_Directory_Set *de = NULL;
+   Edje_Image_Directory_Set_Entry *dim = NULL;
+   unsigned int i;
+
+   GET_ED_OR_RETURN(EINA_FALSE);
+
+   if (!ed->file) return EINA_FALSE;
+   if (!ed->file->image_dir) return EINA_FALSE;
+
+   for (i = 0; i < ed->file->image_dir->sets_count; ++i)
+     {
+        de = ed->file->image_dir->sets + i;
+        if ((de->name) && (!strcmp(set_name, de->name)))
+          break;
+     }
+   if (i == ed->file->image_dir->sets_count) return EINA_FALSE;
+
+   dim = eina_list_nth(de->entries, place);
+   if (!dim) return EINA_FALSE;
+
+   if (scale_by >= 0) dim->border.scale_by = scale_by;
+
+   return EINA_TRUE;
+}
+
 /****************/
 /*  IMAGES API  */
 /****************/