seoz pushed a commit to branch master.
commit 86ae7552e8bd59c16f68499ea0c82f9ddea42288
Author: Daniel Juyung Seo <[email protected]>
Date: Tue Apr 9 13:06:19 2013 +0900
elm_photo: added getters for some setters.
1. Added elm_obj_photo_size_get, elm_obj_photo_fill_inside_get,
elm_obj_photo_editable_get.
2. Added sample code to test_photo.c
---
src/bin/test_photo.c | 11 +++++++++++
src/lib/elm_photo.c | 30 ++++++++++++++++++++++++++++++
src/lib/elm_photo.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 89 insertions(+)
diff --git a/src/bin/test_photo.c b/src/bin/test_photo.c
index 70fb4bd..7e3de46 100644
--- a/src/bin/test_photo.c
+++ b/src/bin/test_photo.c
@@ -21,6 +21,9 @@ test_photo(void *data __UNUSED__, Evas_Object *obj
__UNUSED__, void *event_info
Evas_Object *win, *sc, *tb, *ph;
int i, j, n;
char buf[PATH_MAX];
+ int size = 0;
+ Eina_Bool fill = EINA_FALSE, editable = EINA_FALSE;
+
const char *img[9] =
{
"panel_01.jpg",
@@ -81,6 +84,14 @@ test_photo(void *data __UNUSED__, Evas_Object *obj
__UNUSED__, void *event_info
}
}
+ eo_do(ph,
+ elm_obj_photo_size_get(&size),
+ elm_obj_photo_fill_inside_get(&fill),
+ elm_obj_photo_editable_get(&editable));
+ printf("Last Photo Information:\n");
+ printf("\tobject %p, size %d, fill_inside %d, editable %d\n",
+ ph, size, fill, editable);
+
sc = elm_scroller_add(win);
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, sc);
diff --git a/src/lib/elm_photo.c b/src/lib/elm_photo.c
index 05d25ee..e46020e 100644
--- a/src/lib/elm_photo.c
+++ b/src/lib/elm_photo.c
@@ -379,6 +379,14 @@ _size_set(Eo *obj, void *_pd, va_list *list)
_sizing_eval(obj);
}
+static void
+_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ int *ret = va_arg(*list, int *);
+ Elm_Photo_Smart_Data *sd = _pd;
+ *ret = sd->size;
+}
+
EAPI void
elm_photo_fill_inside_set(Evas_Object *obj,
Eina_Bool fill)
@@ -399,6 +407,14 @@ _fill_inside_set(Eo *obj, void *_pd, va_list *list)
_sizing_eval(obj);
}
+static void
+_fill_inside_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+ Elm_Photo_Smart_Data *sd = _pd;
+ *ret = sd->fill_inside;
+}
+
EAPI void
elm_photo_editable_set(Evas_Object *obj,
Eina_Bool set)
@@ -415,6 +431,14 @@ _editable_set(Eo *obj EINA_UNUSED, void *_pd, va_list
*list)
elm_image_editable_set(sd->icon, set);
}
+static void
+_editable_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+ Elm_Photo_Smart_Data *sd = _pd;
+ *ret = elm_image_editable_get(sd->icon);
+}
+
EAPI void
elm_photo_thumb_set(const Evas_Object *obj,
const char *file,
@@ -490,8 +514,11 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILE_SET), _file_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET), _size_set),
+ EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET), _size_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET),
_fill_inside_set),
+ EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET),
_fill_inside_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET),
_editable_set),
+ EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET),
_editable_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_THUMB_SET),
_thumb_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET),
_aspect_fixed_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET),
_aspect_fixed_get),
@@ -505,8 +532,11 @@ _class_constructor(Eo_Class *klass)
static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILE_SET, "Set the file that will
be used as the photo widget's image."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET, "Set the size that will
be used on the photo."),
+ EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET, "Get the size that will
be used on the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET, "Set if the photo
should be completely visible or not."),
+ EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET, "Get if the photo
should be completely visible or not."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET, "Set editability of
the photo."),
+ EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET, "Get editability of
the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_THUMB_SET, "Set the file that will
be used as thumbnail in the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET, "Set whether the
original aspect ratio of the photo should be kept on resize."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET, "Get if the
object keeps the original aspect ratio."),
diff --git a/src/lib/elm_photo.h b/src/lib/elm_photo.h
index e0f3b2a..7c8a64b 100644
--- a/src/lib/elm_photo.h
+++ b/src/lib/elm_photo.h
@@ -34,8 +34,11 @@ enum
{
ELM_OBJ_PHOTO_SUB_ID_FILE_SET,
ELM_OBJ_PHOTO_SUB_ID_SIZE_SET,
+ ELM_OBJ_PHOTO_SUB_ID_SIZE_GET,
ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET,
+ ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET,
ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET,
+ ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET,
ELM_OBJ_PHOTO_SUB_ID_THUMB_SET,
ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET,
ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET,
@@ -83,6 +86,21 @@ enum
#define elm_obj_photo_size_set(size)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET), EO_TYPECHECK(int, size)
/**
+ * @def elm_obj_photo_size_get
+ * @since 1.8
+ *
+ * Get the size that will be used on the photo
+ *
+ * @param[out] ret
+ *
+ * @note There is no elm_photo_size_get
+ *
+ * @see elm_photo_size_set
+ * @see elm_obj_photo_size_set
+ */
+#define elm_obj_photo_size_get(ret)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET), EO_TYPECHECK(int *, ret)
+
+/**
* @def elm_obj_photo_fill_inside_set
* @since 1.8
*
@@ -95,6 +113,21 @@ enum
#define elm_obj_photo_fill_inside_set(fill)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET), EO_TYPECHECK(Eina_Bool,
fill)
/**
+ * @def elm_obj_photo_fill_inside_get
+ * @since 1.8
+ *
+ * Get if the photo should be completely visible or not.
+ *
+ * @param[out] ret
+ *
+ * @note There is no elm_photo_fill_inside_get
+ *
+ * @see elm_photo_fill_inside_set
+ * @see elm_obj_photo_fill_inside_set
+ */
+#define elm_obj_photo_fill_inside_get(ret)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET), EO_TYPECHECK(Eina_Bool
*, ret)
+
+/**
* @def elm_obj_photo_editable_set
* @since 1.8
*
@@ -107,6 +140,21 @@ enum
#define elm_obj_photo_editable_set(set)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET), EO_TYPECHECK(Eina_Bool,
set)
/**
+ * @def elm_obj_photo_editable_get
+ * @since 1.8
+ *
+ * Get editability of the photo.
+ *
+ * @param[out] ret
+ *
+ * @note There is no elm_photo_editable_get
+ *
+ * @see elm_photo_editable_set
+ * @see elm_obj_photo_editable_set
+ */
+#define elm_obj_photo_editable_get(ret)
ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET), EO_TYPECHECK(Eina_Bool *,
ret)
+
+/**
* @def elm_obj_photo_thumb_set
* @since 1.8
*
--
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter