From 86ae7552e8bd59c16f68499ea0c82f9ddea42288 Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Tue, 9 Apr 2013 13:06:19 +0900 Subject: [PATCH] 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 * -- 2.7.4