evas: add geometry_set to please zmike.
authorCedric Bail <cedric.bail@samsung.com>
Fri, 19 Jul 2013 09:37:11 +0000 (18:37 +0900)
committerCedric Bail <cedric.bail@samsung.com>
Fri, 19 Jul 2013 09:37:43 +0000 (18:37 +0900)
src/lib/evas/Evas_Legacy.h
src/lib/evas/canvas/evas_object_main.c

index c86cc774ca53081e365188bd988665d72b61bef0..fed808660f6f2dbf6129642e702f82fdc6e65744 100644 (file)
@@ -1935,6 +1935,34 @@ EAPI void             evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Co
  */
 EAPI void             evas_object_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
 
+/**
+ * Set the position and (rectangular) size of the given Evas object.
+ *
+ * @param obj The given Evas object.
+ * @param x   X position to move the object to, in canvas units.
+ * @param y   Y position to move the object to, in canvas units.
+ * @param w   The new width of the Evas object.
+ * @param h   The new height of the Evas object.
+ *
+ * The position, naturally, will be relative to the top left corner of
+ * the canvas' viewport.
+ *
+ * If the object get moved, the object's ::EVAS_CALLBACK_MOVE callback
+ * will be called.
+ *
+ * If the object get resized, the object's ::EVAS_CALLBACK_RESIZE callback
+ * will be called.
+ *
+ * @see evas_object_move()
+ * @see evas_object_resize()
+ * @see evas_object_geometry_get
+ *
+ * @since 1.8
+ * @ingroup Evas_Object_Group_Basic
+ */
+EAPI void             evas_object_geometry_set(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+
+
 /**
  * Makes the given Evas object visible.
  *
index ce414025ee454849b9c48acb7e075a3d80236057..ef709c62d087356f9ab38adf55262c69999398fe 100644 (file)
@@ -670,6 +670,17 @@ end:
    eo_do_super(eo_obj, MY_CLASS, eo_destructor());
 }
 
+EAPI void
+evas_object_geometry_set(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+{
+   MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
+   return;
+   MAGIC_CHECK_END();
+   eo_do(eo_obj,
+         evas_obj_position_set(x, y),
+         evas_obj_size_set(w, h));
+}
+
 EAPI void
 evas_object_move(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y)
 {