summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_image_zoomable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/efl_ui_image_zoomable.c')
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c148
1 files changed, 72 insertions, 76 deletions
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index dc17dce..e7326d8 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -920,17 +920,17 @@ _efl_ui_image_zoomable_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Image
920 return EINA_TRUE; 920 return EINA_TRUE;
921} 921}
922 922
923EOLIAN static Efl_Ui_Theme_Apply_Result 923EOLIAN static Eina_Error
924_efl_ui_image_zoomable_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd) 924_efl_ui_image_zoomable_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd)
925{ 925{
926 Efl_Ui_Theme_Apply_Result int_ret = EFL_UI_THEME_APPLY_RESULT_FAIL; 926 Eina_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
927 Eina_Bool fdo = EINA_FALSE; 927 Eina_Bool fdo = EINA_FALSE;
928 928
929 if (sd->stdicon) 929 if (sd->stdicon)
930 _internal_efl_ui_image_zoomable_icon_set(obj, sd->stdicon, &fdo, EINA_TRUE); 930 _internal_efl_ui_image_zoomable_icon_set(obj, sd->stdicon, &fdo, EINA_TRUE);
931 931
932 int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS)); 932 int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
933 if (!int_ret) return EFL_UI_THEME_APPLY_RESULT_FAIL; 933 if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
934 934
935 efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj)); 935 efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
936 936
@@ -2023,14 +2023,17 @@ _efl_ui_image_zoomable_efl_layout_signal_signal_callback_del(Eo *obj, Efl_Ui_Ima
2023 return ok; 2023 return ok;
2024} 2024}
2025 2025
2026static Eina_Bool 2026static Eina_Error
2027_img_proxy_set(Evas_Object *obj, Efl_Ui_Image_Zoomable_Data *sd, 2027_img_proxy_set(Evas_Object *obj, Efl_Ui_Image_Zoomable_Data *sd,
2028 const char *file, const Eina_File *f, const char *group,
2029 Eina_Bool resize) 2028 Eina_Bool resize)
2030{ 2029{
2031 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 2030 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
2032 double tz; 2031 double tz;
2033 int w, h; 2032 int w, h;
2033 Eina_Error err;
2034
2035 err = efl_file_load(efl_super(obj, MY_CLASS));
2036 if (err) return err;
2034 2037
2035 sd->zoom = 1.0; 2038 sd->zoom = 1.0;
2036 evas_object_image_smooth_scale_set(sd->img, (sd->no_smooth == 0)); 2039 evas_object_image_smooth_scale_set(sd->img, (sd->no_smooth == 0));
@@ -2042,23 +2045,13 @@ _img_proxy_set(Evas_Object *obj, Efl_Ui_Image_Zoomable_Data *sd,
2042 sd->edje = edje_object_add(evas_object_evas_get(obj)); 2045 sd->edje = edje_object_add(evas_object_evas_get(obj));
2043 if (!resize) 2046 if (!resize)
2044 { 2047 {
2045 if (f) 2048 efl_file_key_set(sd->edje, efl_file_key_get(obj));
2049 err = efl_file_mmap_set(sd->edje, efl_file_mmap_get(obj));
2050 if (err)
2046 { 2051 {
2047 if (!edje_object_mmap_set(sd->edje, f, group)) 2052 ERR("failed to set edje file '%s', group '%s': %s", efl_file_get(obj), efl_file_key_get(obj),
2048 { 2053 edje_load_error_str(edje_object_load_error_get(sd->edje)));
2049 ERR("failed to set edje file '%s', group '%s': %s", sd->file, group, 2054 return err;
2050 edje_load_error_str(edje_object_load_error_get(sd->edje)));
2051 return EINA_FALSE;
2052 }
2053 }
2054 else if (file)
2055 {
2056 if (!edje_object_file_set(sd->edje, file, group))
2057 {
2058 ERR("failed to set edje file '%s', group '%s': %s", file, group,
2059 edje_load_error_str(edje_object_load_error_get(sd->edje)));
2060 return EINA_FALSE;
2061 }
2062 } 2055 }
2063 } 2056 }
2064 2057
@@ -2100,41 +2093,42 @@ _img_proxy_set(Evas_Object *obj, Efl_Ui_Image_Zoomable_Data *sd,
2100 sd->flip = EFL_FLIP_NONE; 2093 sd->flip = EFL_FLIP_NONE;
2101 sd->orientation_changed = EINA_FALSE; 2094 sd->orientation_changed = EINA_FALSE;
2102 2095
2103 return EINA_TRUE; 2096 return 0;
2104} 2097}
2105 2098
2106static Eina_Bool 2099static Eina_Error
2107_image_zoomable_edje_file_set(Evas_Object *obj, 2100_image_zoomable_edje_file_set(Evas_Object *obj)
2108 const char *file,
2109 const char *group)
2110{ 2101{
2111 EFL_UI_IMAGE_ZOOMABLE_DATA_GET(obj, sd); 2102 EFL_UI_IMAGE_ZOOMABLE_DATA_GET(obj, sd);
2112 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); 2103 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_GFX_IMAGE_LOAD_ERROR_GENERIC);
2113 2104
2114 if (file) eina_stringshare_replace(&sd->file, file); 2105 return _img_proxy_set(obj, sd, EINA_FALSE);
2115 return _img_proxy_set(obj, sd, file, NULL, group, EINA_FALSE);
2116} 2106}
2117 2107
2118static void 2108static Eina_Error
2119_internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, Eina_File *f, const char *key, Evas_Load_Error *ret) 2109_internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Evas_Load_Error *ret)
2120{ 2110{
2121 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 2111 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_GFX_IMAGE_LOAD_ERROR_GENERIC);
2122 Evas_Load_Error err;
2123 int w, h; 2112 int w, h;
2124 double tz; 2113 double tz;
2114 Eina_Error err;
2115 const char *file;
2116
2117 err = efl_file_load(efl_super(obj, MY_CLASS));
2118 if (err) return err;
2119
2120 file = efl_file_get(obj);
2125 2121
2126 if (eina_str_has_extension(file, ".edj")) 2122 if (eina_str_has_extension(file, ".edj"))
2127 { 2123 {
2128 _image_zoomable_edje_file_set(obj, file, key); 2124 return _image_zoomable_edje_file_set(obj);
2129 return;
2130 } 2125 }
2131 2126
2132 // It is actually to late, we have lost the reference to the previous 2127 // It is actually to late, we have lost the reference to the previous
2133 // file descriptor already, so we can't know if the file changed. To 2128 // file descriptor already, so we can't know if the file changed. To
2134 // be safe we do for now just force a full reload on file_set and hope 2129 // be safe we do for now just force a full reload on file_set and hope
2135 // on evas to catch it, if there is no change. 2130 // on evas to catch it, if there is no change.
2136 eina_stringshare_replace(&sd->file, file); 2131 sd->f = eina_file_dup(efl_file_mmap_get(obj));
2137 sd->f = eina_file_dup(f);
2138 2132
2139 evas_object_image_smooth_scale_set(sd->img, (sd->no_smooth == 0)); 2133 evas_object_image_smooth_scale_set(sd->img, (sd->no_smooth == 0));
2140 evas_object_image_file_set(sd->img, NULL, NULL); 2134 evas_object_image_file_set(sd->img, NULL, NULL);
@@ -2145,7 +2139,7 @@ _internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, Ei
2145 { 2139 {
2146 ERR("Things are going bad for '%s' (%p) : %i", file, sd->img, err); 2140 ERR("Things are going bad for '%s' (%p) : %i", file, sd->img, err);
2147 if (ret) *ret = err; 2141 if (ret) *ret = err;
2148 return; 2142 return err;
2149 } 2143 }
2150 evas_object_image_size_get(sd->img, &w, &h); 2144 evas_object_image_size_get(sd->img, &w, &h);
2151 2145
@@ -2161,7 +2155,7 @@ _internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, Ei
2161 { 2155 {
2162 ERR("Things are going bad for '%s' (%p)", file, sd->img); 2156 ERR("Things are going bad for '%s' (%p)", file, sd->img);
2163 if (ret) *ret = err; 2157 if (ret) *ret = err;
2164 return; 2158 return err;
2165 } 2159 }
2166 2160
2167 evas_object_image_preload(sd->img, 0); 2161 evas_object_image_preload(sd->img, 0);
@@ -2189,6 +2183,7 @@ _internal_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, Ei
2189 sd->orientation_changed = EINA_FALSE; 2183 sd->orientation_changed = EINA_FALSE;
2190 2184
2191 if (ret) *ret = evas_object_image_load_error_get(sd->img); 2185 if (ret) *ret = evas_object_image_load_error_get(sd->img);
2186 return efl_gfx_image_load_error_get(sd->img);
2192} 2187}
2193 2188
2194static void 2189static void
@@ -2239,11 +2234,11 @@ _efl_ui_image_zoomable_remote_copier_done(void *data, const Efl_Event *event EIN
2239 eina_binbuf_string_get(sd->remote.binbuf), 2234 eina_binbuf_string_get(sd->remote.binbuf),
2240 eina_binbuf_length_get(sd->remote.binbuf), 2235 eina_binbuf_length_get(sd->remote.binbuf),
2241 EINA_FALSE); 2236 EINA_FALSE);
2242 2237 efl_file_mmap_set(obj, f);
2243 _internal_file_set(obj, sd, url, f, NULL, &ret);
2244 eina_file_close(f); 2238 eina_file_close(f);
2239 ret = _internal_file_set(obj, sd, &ret);
2245 2240
2246 if (ret != EVAS_LOAD_ERROR_NONE) 2241 if (ret)
2247 { 2242 {
2248 Elm_Photocam_Error err = { 0, EINA_TRUE }; 2243 Elm_Photocam_Error err = { 0, EINA_TRUE };
2249 2244
@@ -2352,11 +2347,10 @@ _efl_ui_image_zoomable_is_remote(const char *file)
2352 return EINA_FALSE; 2347 return EINA_FALSE;
2353} 2348}
2354 2349
2355static Evas_Load_Error 2350static Eina_Error
2356_efl_ui_image_zoomable_file_set_internal(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, const char *key) 2351_efl_ui_image_zoomable_file_set_internal(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Evas_Load_Error *ret)
2357{ 2352{
2358 Evas_Load_Error ret = EVAS_LOAD_ERROR_NONE; 2353 const char *file = efl_file_get(obj);
2359
2360 ELM_SAFE_FREE(sd->edje, evas_object_del); 2354 ELM_SAFE_FREE(sd->edje, evas_object_del);
2361 eina_stringshare_replace(&sd->stdicon, NULL); 2355 eina_stringshare_replace(&sd->stdicon, NULL);
2362 2356
@@ -2382,21 +2376,24 @@ _efl_ui_image_zoomable_file_set_internal(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd
2382 { 2376 {
2383 efl_event_callback_legacy_call 2377 efl_event_callback_legacy_call
2384 (obj, EFL_UI_IMAGE_ZOOMABLE_EVENT_DOWNLOAD_START, NULL); 2378 (obj, EFL_UI_IMAGE_ZOOMABLE_EVENT_DOWNLOAD_START, NULL);
2385 return ret; 2379 *ret = EVAS_LOAD_ERROR_NONE;
2380 return 0;
2386 } 2381 }
2387 } 2382 }
2388 2383
2389 _internal_file_set(obj, sd, file, NULL, key, &ret); 2384 return _internal_file_set(obj, sd, ret);
2390
2391 return ret;
2392} 2385}
2393 2386
2394EOLIAN static Eina_Bool 2387EOLIAN static Eina_Error
2395_efl_ui_image_zoomable_efl_file_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file, const char *key) 2388_efl_ui_image_zoomable_efl_file_load(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd)
2396{ 2389{
2397 Evas_Load_Error ret = _efl_ui_image_zoomable_file_set_internal(obj, sd, file, key); 2390 Evas_Load_Error ret;
2391 Eina_Error err;
2398 2392
2399 if (ret == EVAS_LOAD_ERROR_NONE) return EINA_TRUE; 2393 if (efl_file_loaded_get(obj)) return 0;
2394 err = _efl_ui_image_zoomable_file_set_internal(obj, sd, &ret);
2395
2396 if ((!ret) && (!err)) return 0;
2400 2397
2401 eina_error_set( 2398 eina_error_set(
2402 ret == EVAS_LOAD_ERROR_DOES_NOT_EXIST ? PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST : 2399 ret == EVAS_LOAD_ERROR_DOES_NOT_EXIST ? PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST :
@@ -2406,14 +2403,14 @@ _efl_ui_image_zoomable_efl_file_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd
2406 ret == EVAS_LOAD_ERROR_UNKNOWN_FORMAT ? PHOTO_FILE_LOAD_ERROR_UNKNOWN_FORMAT : 2403 ret == EVAS_LOAD_ERROR_UNKNOWN_FORMAT ? PHOTO_FILE_LOAD_ERROR_UNKNOWN_FORMAT :
2407 PHOTO_FILE_LOAD_ERROR_GENERIC 2404 PHOTO_FILE_LOAD_ERROR_GENERIC
2408 ); 2405 );
2409 return EINA_FALSE; 2406 return err;
2410} 2407}
2411 2408
2412EOLIAN static void 2409EOLIAN static Eina_Error
2413_efl_ui_image_zoomable_efl_file_file_get(const Eo *obj EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd, const char **file, const char **key) 2410_efl_ui_image_zoomable_efl_file_file_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, const char *file)
2414{ 2411{
2415 if (file) *file = sd->file; 2412 eina_stringshare_replace(&sd->file, file);
2416 if (key) *key = NULL; 2413 return efl_file_set(efl_super(obj, MY_CLASS), file);
2417} 2414}
2418 2415
2419EOLIAN static void 2416EOLIAN static void
@@ -2651,10 +2648,10 @@ _efl_ui_image_zoomable_efl_ui_zoom_zoom_level_get(const Eo *obj EINA_UNUSED, Efl
2651} 2648}
2652 2649
2653EOLIAN static void 2650EOLIAN static void
2654_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Elm_Photocam_Zoom_Mode mode) 2651_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_set(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd, Efl_Ui_Zoom_Mode mode)
2655{ 2652{
2656 double tz; 2653 double tz;
2657 if (sd->mode == mode) return; 2654 if (sd->mode == (Elm_Photocam_Zoom_Mode)mode) return;
2658 sd->mode = mode; 2655 sd->mode = mode;
2659 2656
2660 tz = sd->zoom; 2657 tz = sd->zoom;
@@ -2662,7 +2659,7 @@ _efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_set(Eo *obj, Efl_Ui_Image_Zoomable_
2662 elm_photocam_zoom_set(obj, tz); 2659 elm_photocam_zoom_set(obj, tz);
2663} 2660}
2664 2661
2665EOLIAN static Elm_Photocam_Zoom_Mode 2662EOLIAN static Efl_Ui_Zoom_Mode
2666_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd) 2663_efl_ui_image_zoomable_efl_ui_zoom_zoom_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Image_Zoomable_Data *sd)
2667{ 2664{
2668 return sd->mode; 2665 return sd->mode;
@@ -2816,7 +2813,7 @@ _min_obj_size_get(Evas_Object *o, int *w, int *h)
2816 } 2813 }
2817} 2814}
2818 2815
2819static Eina_Bool 2816static Eina_Error
2820_image_zoomable_object_icon_set(Evas_Object *o, const char *group, char *style, Eina_Bool resize) 2817_image_zoomable_object_icon_set(Evas_Object *o, const char *group, char *style, Eina_Bool resize)
2821{ 2818{
2822 Elm_Theme *th = elm_widget_theme_get(o); 2819 Elm_Theme *th = elm_widget_theme_get(o);
@@ -2832,10 +2829,10 @@ _image_zoomable_object_icon_set(Evas_Object *o, const char *group, char *style,
2832 if (f) 2829 if (f)
2833 { 2830 {
2834 if (sd->f) eina_file_close(sd->f); 2831 if (sd->f) eina_file_close(sd->f);
2835 eina_stringshare_replace(&sd->file, eina_file_filename_get(f)); 2832 efl_file_key_set(o, buf);
2836 sd->f = eina_file_dup(f); 2833 efl_file_mmap_set(o, f);
2837 2834
2838 return _img_proxy_set(o, sd, NULL, f, buf, resize); 2835 return _img_proxy_set(o, sd, resize);
2839 } 2836 }
2840 2837
2841 ELM_SAFE_FREE(sd->edje, evas_object_del); 2838 ELM_SAFE_FREE(sd->edje, evas_object_del);
@@ -2843,7 +2840,7 @@ _image_zoomable_object_icon_set(Evas_Object *o, const char *group, char *style,
2843 WRN("Failed to set icon '%s'. Icon theme '%s' not found", group, buf); 2840 WRN("Failed to set icon '%s'. Icon theme '%s' not found", group, buf);
2844 ELM_SAFE_FREE(sd->f, eina_file_close); 2841 ELM_SAFE_FREE(sd->f, eina_file_close);
2845 2842
2846 return EINA_FALSE; 2843 return EFL_GFX_IMAGE_LOAD_ERROR_UNKNOWN_COLLECTION;
2847} 2844}
2848 2845
2849static Eina_Bool 2846static Eina_Bool
@@ -2851,7 +2848,7 @@ _icon_standard_set(Evas_Object *obj, const char *name, Eina_Bool resize)
2851{ 2848{
2852 EFL_UI_IMAGE_ZOOMABLE_DATA_GET(obj, sd); 2849 EFL_UI_IMAGE_ZOOMABLE_DATA_GET(obj, sd);
2853 2850
2854 if (_image_zoomable_object_icon_set(obj, name, "default", resize)) 2851 if (!_image_zoomable_object_icon_set(obj, name, "default", resize))
2855 { 2852 {
2856 /* TODO: elm_unneed_efreet() */ 2853 /* TODO: elm_unneed_efreet() */
2857 sd->freedesktop.use = EINA_FALSE; 2854 sd->freedesktop.use = EINA_FALSE;
@@ -2902,7 +2899,7 @@ _icon_freedesktop_set(Evas_Object *obj, const char *name, int size)
2902 if (sd->freedesktop.use) 2899 if (sd->freedesktop.use)
2903 { 2900 {
2904 sd->freedesktop.requested_size = size; 2901 sd->freedesktop.requested_size = size;
2905 efl_file_set(obj, path, NULL); 2902 efl_file_simple_load(obj, path, NULL);
2906 return EINA_TRUE; 2903 return EINA_TRUE;
2907 } 2904 }
2908 return EINA_FALSE; 2905 return EINA_FALSE;
@@ -2970,7 +2967,7 @@ _internal_efl_ui_image_zoomable_icon_set(Evas_Object *obj, const char *name, Ein
2970 { 2967 {
2971 if (fdo) 2968 if (fdo)
2972 *fdo = EINA_FALSE; 2969 *fdo = EINA_FALSE;
2973 return efl_file_set(obj, name, NULL); 2970 return efl_file_simple_load(obj, name, NULL);
2974 } 2971 }
2975 2972
2976 /* if that fails, see if icon name is in the format size/name. if so, 2973 /* if that fails, see if icon name is in the format size/name. if so,
@@ -3180,8 +3177,9 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_image_zoomable, Efl_Ui_Image_Zoomab
3180 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image_zoomable) 3177 EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image_zoomable)
3181 3178
3182#include "efl_ui_image_zoomable.eo.c" 3179#include "efl_ui_image_zoomable.eo.c"
3180#include "efl_ui_image_zoomable_eo.legacy.c"
3183 3181
3184#include "efl_ui_image_zoomable_legacy.eo.h" 3182#include "efl_ui_image_zoomable_legacy_eo.h"
3185#define MY_CLASS_NAME_LEGACY "elm_photocam" 3183#define MY_CLASS_NAME_LEGACY "elm_photocam"
3186 3184
3187static void 3185static void
@@ -3362,7 +3360,7 @@ elm_photocam_file_set(Evas_Object *obj, const char *file)
3362{ 3360{
3363 ELM_PHOTOCAM_CHECK(obj) EVAS_LOAD_ERROR_NONE; 3361 ELM_PHOTOCAM_CHECK(obj) EVAS_LOAD_ERROR_NONE;
3364 EINA_SAFETY_ON_NULL_RETURN_VAL(file, EVAS_LOAD_ERROR_NONE); 3362 EINA_SAFETY_ON_NULL_RETURN_VAL(file, EVAS_LOAD_ERROR_NONE);
3365 if (efl_file_set(obj, file, NULL)) return EVAS_LOAD_ERROR_NONE; 3363 if (efl_file_simple_load(obj, file, NULL)) return EVAS_LOAD_ERROR_NONE;
3366 3364
3367 Eina_Error err = eina_error_get(); 3365 Eina_Error err = eina_error_get();
3368 return err == PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST ? 3366 return err == PHOTO_FILE_LOAD_ERROR_DOES_NOT_EXIST ?
@@ -3381,9 +3379,7 @@ elm_photocam_file_set(Evas_Object *obj, const char *file)
3381EAPI const char* 3379EAPI const char*
3382elm_photocam_file_get(const Evas_Object *obj) 3380elm_photocam_file_get(const Evas_Object *obj)
3383{ 3381{
3384 const char *ret = NULL; 3382 return efl_file_get(obj);
3385 efl_file_get(obj, &ret, NULL);
3386 return ret;
3387} 3383}
3388 3384
3389EAPI void 3385EAPI void
@@ -3436,4 +3432,4 @@ elm_photocam_image_region_get(const Efl_Ui_Image_Zoomable *obj, int *x, int *y,
3436 if (h) *h = r.h; 3432 if (h) *h = r.h;
3437} 3433}
3438 3434
3439#include "efl_ui_image_zoomable_legacy.eo.c" 3435#include "efl_ui_image_zoomable_legacy_eo.c"