summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:16:22 -0800
commitf4192aef96b9cda81601f8991712abc1a80959b7 (patch)
treef22eb321b58a2053a7485d3dacd7c1b771f80d35
parent824e1b8109b2b101ecf2c0236e705ed8e3aac115 (diff)
elm_slideshow*: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8200
-rw-r--r--src/Makefile_Elementary.am10
-rw-r--r--src/lib/elementary/elm_slideshow.c8
-rw-r--r--src/lib/elementary/elm_slideshow.eo316
-rw-r--r--src/lib/elementary/elm_slideshow_eo.c321
-rw-r--r--src/lib/elementary/elm_slideshow_eo.h408
-rw-r--r--src/lib/elementary/elm_slideshow_eo.legacy.c138
-rw-r--r--src/lib/elementary/elm_slideshow_eo.legacy.h382
-rw-r--r--src/lib/elementary/elm_slideshow_item.eo36
-rw-r--r--src/lib/elementary/elm_slideshow_item_eo.c51
-rw-r--r--src/lib/elementary/elm_slideshow_item_eo.h57
-rw-r--r--src/lib/elementary/elm_slideshow_item_eo.legacy.c12
-rw-r--r--src/lib/elementary/elm_slideshow_item_eo.legacy.h50
-rw-r--r--src/lib/elementary/elm_slideshow_legacy.h4
-rw-r--r--src/lib/elementary/meson.build6
14 files changed, 1437 insertions, 362 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index a43145e..484a6ef 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -203,8 +203,6 @@ elm_legacy_eolian_files = \
203 lib/elementary/elm_actionslider_part.eo \ 203 lib/elementary/elm_actionslider_part.eo \
204 lib/elementary/elm_bubble_part.eo \ 204 lib/elementary/elm_bubble_part.eo \
205 lib/elementary/elm_fileselector_part.eo \ 205 lib/elementary/elm_fileselector_part.eo \
206 lib/elementary/elm_slideshow.eo \
207 lib/elementary/elm_slideshow_item.eo \
208 lib/elementary/elm_table.eo \ 206 lib/elementary/elm_table.eo \
209 lib/elementary/elm_thumb.eo \ 207 lib/elementary/elm_thumb.eo \
210 $(NULL) 208 $(NULL)
@@ -385,6 +383,10 @@ lib/elementary/elm_separator_eo.c \
385lib/elementary/elm_separator_eo.legacy.c \ 383lib/elementary/elm_separator_eo.legacy.c \
386lib/elementary/elm_slider_eo.c \ 384lib/elementary/elm_slider_eo.c \
387lib/elementary/elm_slider_part_indicator_eo.c \ 385lib/elementary/elm_slider_part_indicator_eo.c \
386lib/elementary/elm_slideshow_eo.c \
387lib/elementary/elm_slideshow_eo.legacy.c \
388lib/elementary/elm_slideshow_item_eo.c \
389lib/elementary/elm_slideshow_item_eo.legacy.c \
388$(NULL) 390$(NULL)
389 391
390elm_legacy_eo_headers = \ 392elm_legacy_eo_headers = \
@@ -570,6 +572,10 @@ lib/elementary/elm_slider_eo.h \
570lib/elementary/elm_slider_eo.legacy.h \ 572lib/elementary/elm_slider_eo.legacy.h \
571lib/elementary/elm_slider_part_indicator_eo.h \ 573lib/elementary/elm_slider_part_indicator_eo.h \
572lib/elementary/elm_slider_part_indicator_eo.legacy.h \ 574lib/elementary/elm_slider_part_indicator_eo.legacy.h \
575lib/elementary/elm_slideshow_eo.h \
576lib/elementary/elm_slideshow_eo.legacy.h \
577lib/elementary/elm_slideshow_item_eo.h \
578lib/elementary/elm_slideshow_item_eo.legacy.h \
573$(NULL) 579$(NULL)
574 580
575 581
diff --git a/src/lib/elementary/elm_slideshow.c b/src/lib/elementary/elm_slideshow.c
index 925930b..741be9e 100644
--- a/src/lib/elementary/elm_slideshow.c
+++ b/src/lib/elementary/elm_slideshow.c
@@ -9,8 +9,8 @@
9#include <Elementary.h> 9#include <Elementary.h>
10 10
11#include "elm_priv.h" 11#include "elm_priv.h"
12#include "elm_slideshow.eo.h" 12#include "elm_slideshow_eo.h"
13#include "elm_slideshow_item.eo.h" 13#include "elm_slideshow_item_eo.h"
14#include "elm_widget_slideshow.h" 14#include "elm_widget_slideshow.h"
15 15
16#define MY_CLASS ELM_SLIDESHOW_CLASS 16#define MY_CLASS ELM_SLIDESHOW_CLASS
@@ -717,5 +717,5 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_slideshow, Elm_Slideshow_Data)
717 ELM_LAYOUT_SIZING_EVAL_OPS(elm_slideshow), \ 717 ELM_LAYOUT_SIZING_EVAL_OPS(elm_slideshow), \
718 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_slideshow) 718 EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_slideshow)
719 719
720#include "elm_slideshow_item.eo.c" 720#include "elm_slideshow_item_eo.c"
721#include "elm_slideshow.eo.c" 721#include "elm_slideshow_eo.c"
diff --git a/src/lib/elementary/elm_slideshow.eo b/src/lib/elementary/elm_slideshow.eo
deleted file mode 100644
index 08c8eb9..0000000
--- a/src/lib/elementary/elm_slideshow.eo
+++ /dev/null
@@ -1,316 +0,0 @@
1type Elm_Slideshow_Item_Class: __undefined_type; [[Elementary slideshow item class type]]
2
3class Elm.Slideshow extends Efl.Ui.Layout_Base implements Efl.Access.Widget.Action, Efl.Ui.Legacy
4{
5 [[Elementary slideshow class]]
6 eo_prefix: elm_obj_slideshow;
7 legacy_prefix: elm_slideshow;
8 event_prefix: elm_slideshow;
9 methods {
10 @property cache_after {
11 set {
12 [[Set the number of items to cache, on a given slideshow widget,
13 after the current item.
14
15 The default value for this property is 2. See
16 \@ref Slideshow_Caching "slideshow caching" for more details.
17 ]]
18 }
19 get {
20 [[Get the number of items to cache, on a given slideshow widget,
21 after the current item.
22 ]]
23 }
24 values {
25 count: int; [[Number of items to cache after the current one.]]
26 }
27 }
28 @property cache_before {
29 set {
30 [[Set the number of items to cache, on a given slideshow widget,
31 before the current item.
32
33 The default value for this property is 2. See
34 \@ref Slideshow_Caching "slideshow caching" for more details.
35 ]]
36 }
37 get {
38 [[Get the number of items to cache, on a given slideshow widget,
39 before the current item.
40 ]]
41 }
42 values {
43 count: int; [[Number of items to cache before the current one.]]
44 }
45 }
46 @property layout {
47 set {
48 [[Set the current slide layout in use for a given slideshow widget
49
50 If $layout is implemented in $obj's theme (i.e., is contained
51 in the list returned by elm_slideshow_layouts_get()), this new
52 images layout will be used on the widget.
53
54 See @.layouts.get for more details.
55 ]]
56 }
57 get {
58 [[Get the current slide layout in use for a given slideshow widget.]]
59 }
60 values {
61 layout: string; [[The new layout's name string.]]
62 }
63 }
64 @property transition {
65 set {
66 [[Set the current slide transition/effect in use for a given
67 slideshow widget.
68
69 If $transition is implemented in $obj's theme (i.e., is
70 contained in the list returned by @.transitions.get), this
71 new sliding effect will be used on the widget.
72 ]]
73 }
74 get {
75 [[Get the current slide transition/effect in use for a given
76 slideshow widget.
77 ]]
78 }
79 values {
80 transition: string @nullable; [[The new transition's name string.]]
81 }
82 }
83 @property items_loop {
84 set {
85 [[Set if the slideshow items should be displayed cyclically or not,
86 so when the end is reached it will restart from the first item.
87
88 Note: This will affect the "automatic" slidshow behaviour and the
89 @.next and @.previous functions as well.
90 ]]
91 legacy: elm_slideshow_loop_set;
92 }
93 get {
94 [[Get if, after a slideshow is started, for a given slideshow
95 widget, its items are to be displayed cyclically or not.
96 ]]
97 legacy: elm_slideshow_loop_get;
98 }
99 values {
100 loop: bool; [[Use $true to make it cycle through items or
101 $false for it to stop at the end of $obj's
102 internal list of items.]]
103 }
104 }
105 @property timeout {
106 set {
107 [[Set the interval between each image transition on a given
108 slideshow widget and start the slideshow itself.
109
110 After this call, the slideshow widget will start cycling its
111 view, sequentially and automatically, with the images of the
112 items it has. The time between each new image displayed is
113 going to be $timeout, in seconds. If a different timeout was
114 set previously and an slideshow was in progress, it will
115 continue with the new time between transitions, after this call.
116
117 Note: A value less than or equal to 0 on $timeout will disable
118 the widget's internal timer, thus halting any slideshow which
119 could be happening on $obj.
120 ]]
121 }
122 get {
123 [[Get the interval set for image transitions on a given
124 slideshow widget.
125 ]]
126 }
127 values {
128 timeout: double; [[The new displaying timeout for images.]]
129 }
130 }
131 @property items {
132 get {
133 [[Get the internal list of items in a given slideshow widget.
134
135 This list is not to be modified in any way and must not be
136 freed.
137
138 Warning: This list is only valid until $obj object's internal
139 items list is changed. It should be fetched again with another
140 call to this function when changes happen.
141 ]]
142 return: const(list<Elm.Widget.Item>); [[
143 The list of items (#Elm.Widget.Item as data) or $null on
144 errors.
145 ]]
146 }
147 }
148 @property transitions {
149 get {
150 [[Returns the list of sliding transition/effect names available,
151 for a given slideshow widget.
152
153 The transitions, which come from $obj's theme, must be an EDC
154 data item named $"transitions" on the theme file, with (prefix)
155 names of EDC programs actually implementing them.
156
157 The available transitions for slideshows on the default theme
158 are "fade" (the current item fades out, while the new one
159 fades in to the slideshow's viewport), "black_fade" (the
160 current item fades to black, and just then, the new item
161 will fade in), "horizontal" (the current item slides
162 horizontally, until it gets out of the slideshow's viewport,
163 while the new item comes from the left to take its place),
164 "vertical" (the current item slides vertically, until it
165 gets out of the slideshow's viewport, while the new item
166 comes from the bottom to take its place), "square" (the
167 new item starts to appear from the middle of the current
168 one, but with a tiny size, growing until its target (full)
169 size and covering the old one.
170
171 Warning: The stringshared strings get no new references
172 exclusive to the user grabbing the list, here, so if you'd
173 like to use them out of this call's context, you'd better
174 \@ref eina_stringshare_ref them. Also the list is an internal
175 list and so is only valid for as long as the slideshow object
176 is valid and has not internally changed its list for some
177 reason, so make a copy if you need it around.
178 ]]
179 return: const(list<string>); [[
180 The list of transitions (list of stringshared strings
181 as data).
182 ]]
183 }
184 }
185 @property count {
186 get {
187 [[Get the number of items stored in a given slideshow widget.]]
188 return: uint; [[The number of items on $obj, at the moment of this call.]]
189 }
190 }
191 @property item_current {
192 get {
193 [[Returns the currently displayed item, in a given slideshow widget.]]
194 return: Elm.Widget.Item; [[A handle to the item being displayed
195 in $obj or $null, if none is (and
196 on errors)]]
197 }
198 }
199 @property layouts {
200 get {
201 [[Returns the list of layout names available, for a given
202 slideshow widget.
203
204 Slideshow layouts will change how the widget is to dispose
205 each image item in its viewport, with regard to cropping,
206 scaling, etc.
207
208 The layouts, which come from $obj's theme, must be an EDC
209 data item name $"layouts" on the theme file, with (prefix)
210 names of EDC programs actually implementing them.
211
212 The available layouts for slideshows on the default theme are
213 "fullscreen" (item images with original aspect, scaled to
214 touch top and down slideshow borders or, if the image's height
215 is not enough, left and right slideshow borders) and
216 "not_fullscreen" (the same behavior as the "fullscreen"
217 one, but always leaving 10% of the slideshow's dimensions of
218 distance between the item image's borders and the slideshow
219 borders, for each axis)-
220
221 Warning: The stringshared strings get no new references
222 exclusive to the user grabbing the list, here, so if you'd
223 like to use them out of this call's context, you'd better
224 \@ref eina_stringshare_ref them.
225 ]]
226 return: const(list<string>); [[
227 The list of layouts (list of stringshared strings as data)
228 ]]
229 }
230 }
231 previous {
232 [[Slide to the previous item, in a given slideshow widget
233
234 The sliding animation $obj is set to use will be the
235 transition effect used, after this call is issued.
236
237 Note: If the beginning of the slideshow's internal list of items
238 is reached, it'll wrap around to the list's end, again.
239 ]]
240 }
241 item_nth_get @const {
242 [[Get the the item, in a given slideshow widget, placed at
243 position $nth, in its internal items list.
244 ]]
245 return: Elm.Widget.Item; [[The item stored in $obj at position
246 $nth or $null if there's no item with
247 that index (and on errors).]]
248 params {
249 @in nth: uint; [[The number of the item to grab a handle to
250 (0 being the first).]]
251 }
252 }
253 next {
254 [[Slide to the next item, in a given slideshow widget.
255
256 The sliding animation $obj is set to use will be the
257 transition effect used, after this call is issued.
258
259 Note: If the end of the slideshow's internal list of items is
260 reached, it'll wrap around to the list's beginning, again.
261 ]]
262 }
263 clear {
264 [[Remove all items from a given slideshow widget.
265
266 This removes (and deletes) all items in $obj, leaving it empty.
267 ]]
268 }
269 item_add {
270 [[Add (append) a new item in a given slideshow widget.
271
272 Add a new item to $obj's internal list of items, appending it.
273 The item's class must contain the function really fetching the
274 image object to show for this item, which could be an Evas image
275 object or an Elementary photo, for example. The $data
276 parameter is going to be passed to both class functions of the
277 item.
278 ]]
279 return: Elm.Widget.Item; [[A handle to the item added or $null on errors.]]
280 params {
281 @cref itc: Elm_Slideshow_Item_Class; [[The item class for the item.]]
282 @in data: const(void_ptr); [[The item's data.]]
283 }
284 }
285 item_sorted_insert {
286 [[Insert a new item into the given slideshow widget, using the
287 $func function to sort items (by item handles).
288
289 Add a new item to $obj's internal list of items, in a position
290 determined by the $func comparing function. The item's class
291 must contain the function really fetching the image object to
292 show for this item, which could be an Evas image object or an
293 Elementary photo, for example. The $data parameter is going to
294 be passed to both class functions of the item.
295 ]]
296 return: Elm.Widget.Item; [[Returns The slideshow item handle,
297 on success, or $null on errors.]]
298 params {
299 @cref itc: Elm_Slideshow_Item_Class; [[The item class for the item.]]
300 @in data: const(void_ptr); [[The item's data.]]
301 @in func: Eina_Compare_Cb; [[The comparing function to be used to sort the slideshow
302 items by #Elm_Slideshow_Item_Class item handles.]]
303 }
304 }
305 }
306 implements {
307 class.constructor;
308 Efl.Object.constructor;
309 Efl.Ui.Widget.widget_input_event_handler;
310 Efl.Access.Widget.Action.elm_actions { get; }
311 }
312 events {
313 changed: Efl.Object; [[Called when slideshow widget changed]]
314 transition,end: Efl.Object; [[Called on transition end]]
315 }
316}
diff --git a/src/lib/elementary/elm_slideshow_eo.c b/src/lib/elementary/elm_slideshow_eo.c
new file mode 100644
index 0000000..145b94b
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_eo.c
@@ -0,0 +1,321 @@
1EWAPI const Efl_Event_Description _ELM_SLIDESHOW_EVENT_CHANGED =
2 EFL_EVENT_DESCRIPTION("changed");
3EWAPI const Efl_Event_Description _ELM_SLIDESHOW_EVENT_TRANSITION_END =
4 EFL_EVENT_DESCRIPTION("transition,end");
5
6void _elm_slideshow_cache_after_set(Eo *obj, Elm_Slideshow_Data *pd, int count);
7
8
9static Eina_Error
10__eolian_elm_slideshow_cache_after_set_reflect(Eo *obj, Eina_Value val)
11{
12 Eina_Error r = 0; int cval;
13 if (!eina_value_int_convert(&val, &cval))
14 {
15 r = EINA_ERROR_VALUE_FAILED;
16 goto end;
17 }
18 elm_obj_slideshow_cache_after_set(obj, cval);
19 end:
20 eina_value_flush(&val);
21 return r;
22}
23
24EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_cache_after_set, EFL_FUNC_CALL(count), int count);
25
26int _elm_slideshow_cache_after_get(const Eo *obj, Elm_Slideshow_Data *pd);
27
28
29static Eina_Value
30__eolian_elm_slideshow_cache_after_get_reflect(Eo *obj)
31{
32 int val = elm_obj_slideshow_cache_after_get(obj);
33 return eina_value_int_init(val);
34}
35
36EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_cache_after_get, int, 0);
37
38void _elm_slideshow_cache_before_set(Eo *obj, Elm_Slideshow_Data *pd, int count);
39
40
41static Eina_Error
42__eolian_elm_slideshow_cache_before_set_reflect(Eo *obj, Eina_Value val)
43{
44 Eina_Error r = 0; int cval;
45 if (!eina_value_int_convert(&val, &cval))
46 {
47 r = EINA_ERROR_VALUE_FAILED;
48 goto end;
49 }
50 elm_obj_slideshow_cache_before_set(obj, cval);
51 end:
52 eina_value_flush(&val);
53 return r;
54}
55
56EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_cache_before_set, EFL_FUNC_CALL(count), int count);
57
58int _elm_slideshow_cache_before_get(const Eo *obj, Elm_Slideshow_Data *pd);
59
60
61static Eina_Value
62__eolian_elm_slideshow_cache_before_get_reflect(Eo *obj)
63{
64 int val = elm_obj_slideshow_cache_before_get(obj);
65 return eina_value_int_init(val);
66}
67
68EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_cache_before_get, int, 0);
69
70void _elm_slideshow_layout_set(Eo *obj, Elm_Slideshow_Data *pd, const char *layout);
71
72
73static Eina_Error
74__eolian_elm_slideshow_layout_set_reflect(Eo *obj, Eina_Value val)
75{
76 Eina_Error r = 0; const char *cval;
77 if (!eina_value_string_convert(&val, &cval))
78 {
79 r = EINA_ERROR_VALUE_FAILED;
80 goto end;
81 }
82 elm_obj_slideshow_layout_set(obj, cval);
83 end:
84 eina_value_flush(&val);
85 return r;
86}
87
88EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_layout_set, EFL_FUNC_CALL(layout), const char *layout);
89
90const char *_elm_slideshow_layout_get(const Eo *obj, Elm_Slideshow_Data *pd);
91
92
93static Eina_Value
94__eolian_elm_slideshow_layout_get_reflect(Eo *obj)
95{
96 const char *val = elm_obj_slideshow_layout_get(obj);
97 return eina_value_string_init(val);
98}
99
100EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_layout_get, const char *, NULL);
101
102void _elm_slideshow_transition_set(Eo *obj, Elm_Slideshow_Data *pd, const char *transition);
103
104
105static Eina_Error
106__eolian_elm_slideshow_transition_set_reflect(Eo *obj, Eina_Value val)
107{
108 Eina_Error r = 0; const char *cval;
109 if (!eina_value_string_convert(&val, &cval))
110 {
111 r = EINA_ERROR_VALUE_FAILED;
112 goto end;
113 }
114 elm_obj_slideshow_transition_set(obj, cval);
115 end:
116 eina_value_flush(&val);
117 return r;
118}
119
120EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_transition_set, EFL_FUNC_CALL(transition), const char *transition);
121
122const char *_elm_slideshow_transition_get(const Eo *obj, Elm_Slideshow_Data *pd);
123
124
125static Eina_Value
126__eolian_elm_slideshow_transition_get_reflect(Eo *obj)
127{
128 const char *val = elm_obj_slideshow_transition_get(obj);
129 return eina_value_string_init(val);
130}
131
132EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_transition_get, const char *, NULL);
133
134void _elm_slideshow_items_loop_set(Eo *obj, Elm_Slideshow_Data *pd, Eina_Bool loop);
135
136
137static Eina_Error
138__eolian_elm_slideshow_items_loop_set_reflect(Eo *obj, Eina_Value val)
139{
140 Eina_Error r = 0; Eina_Bool cval;
141 if (!eina_value_bool_convert(&val, &cval))
142 {
143 r = EINA_ERROR_VALUE_FAILED;
144 goto end;
145 }
146 elm_obj_slideshow_items_loop_set(obj, cval);
147 end:
148 eina_value_flush(&val);
149 return r;
150}
151
152EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_items_loop_set, EFL_FUNC_CALL(loop), Eina_Bool loop);
153
154Eina_Bool _elm_slideshow_items_loop_get(const Eo *obj, Elm_Slideshow_Data *pd);
155
156
157static Eina_Value
158__eolian_elm_slideshow_items_loop_get_reflect(Eo *obj)
159{
160 Eina_Bool val = elm_obj_slideshow_items_loop_get(obj);
161 return eina_value_bool_init(val);
162}
163
164EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_items_loop_get, Eina_Bool, 0);
165
166void _elm_slideshow_timeout_set(Eo *obj, Elm_Slideshow_Data *pd, double timeout);
167
168
169static Eina_Error
170__eolian_elm_slideshow_timeout_set_reflect(Eo *obj, Eina_Value val)
171{
172 Eina_Error r = 0; double cval;
173 if (!eina_value_double_convert(&val, &cval))
174 {
175 r = EINA_ERROR_VALUE_FAILED;
176 goto end;
177 }
178 elm_obj_slideshow_timeout_set(obj, cval);
179 end:
180 eina_value_flush(&val);
181 return r;
182}
183
184EOAPI EFL_VOID_FUNC_BODYV(elm_obj_slideshow_timeout_set, EFL_FUNC_CALL(timeout), double timeout);
185
186double _elm_slideshow_timeout_get(const Eo *obj, Elm_Slideshow_Data *pd);
187
188
189static Eina_Value
190__eolian_elm_slideshow_timeout_get_reflect(Eo *obj)
191{
192 double val = elm_obj_slideshow_timeout_get(obj);
193 return eina_value_double_init(val);
194}
195
196EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_timeout_get, double, 0);
197
198const Eina_List *_elm_slideshow_items_get(const Eo *obj, Elm_Slideshow_Data *pd);
199
200EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_items_get, const Eina_List *, NULL);
201
202const Eina_List *_elm_slideshow_transitions_get(const Eo *obj, Elm_Slideshow_Data *pd);
203
204EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_transitions_get, const Eina_List *, NULL);
205
206unsigned int _elm_slideshow_count_get(const Eo *obj, Elm_Slideshow_Data *pd);
207
208EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_count_get, unsigned int, 0);
209
210Elm_Widget_Item *_elm_slideshow_item_current_get(const Eo *obj, Elm_Slideshow_Data *pd);
211
212EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_item_current_get, Elm_Widget_Item *, NULL);
213
214const Eina_List *_elm_slideshow_layouts_get(const Eo *obj, Elm_Slideshow_Data *pd);
215
216EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_layouts_get, const Eina_List *, NULL);
217
218void _elm_slideshow_previous(Eo *obj, Elm_Slideshow_Data *pd);
219
220EOAPI EFL_VOID_FUNC_BODY(elm_obj_slideshow_previous);
221
222Elm_Widget_Item *_elm_slideshow_item_nth_get(const Eo *obj, Elm_Slideshow_Data *pd, unsigned int nth);
223
224EOAPI EFL_FUNC_BODYV_CONST(elm_obj_slideshow_item_nth_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(nth), unsigned int nth);
225
226void _elm_slideshow_next(Eo *obj, Elm_Slideshow_Data *pd);
227
228EOAPI EFL_VOID_FUNC_BODY(elm_obj_slideshow_next);
229
230void _elm_slideshow_clear(Eo *obj, Elm_Slideshow_Data *pd);
231
232EOAPI EFL_VOID_FUNC_BODY(elm_obj_slideshow_clear);
233
234Elm_Widget_Item *_elm_slideshow_item_add(Eo *obj, Elm_Slideshow_Data *pd, const Elm_Slideshow_Item_Class *itc, const void *data);
235
236EOAPI EFL_FUNC_BODYV(elm_obj_slideshow_item_add, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data), const Elm_Slideshow_Item_Class *itc, const void *data);
237
238Elm_Widget_Item *_elm_slideshow_item_sorted_insert(Eo *obj, Elm_Slideshow_Data *pd, const Elm_Slideshow_Item_Class *itc, const void *data, Eina_Compare_Cb func);
239
240EOAPI EFL_FUNC_BODYV(elm_obj_slideshow_item_sorted_insert, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, func), const Elm_Slideshow_Item_Class *itc, const void *data, Eina_Compare_Cb func);
241
242Efl_Object *_elm_slideshow_efl_object_constructor(Eo *obj, Elm_Slideshow_Data *pd);
243
244
245Eina_Bool _elm_slideshow_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Slideshow_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);
246
247
248const Efl_Access_Action_Data *_elm_slideshow_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Slideshow_Data *pd);
249
250
251static Eina_Bool
252_elm_slideshow_class_initializer(Efl_Class *klass)
253{
254 const Efl_Object_Ops *opsp = NULL;
255
256 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
257
258#ifndef ELM_SLIDESHOW_EXTRA_OPS
259#define ELM_SLIDESHOW_EXTRA_OPS
260#endif
261
262 EFL_OPS_DEFINE(ops,
263 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_cache_after_set, _elm_slideshow_cache_after_set),
264 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_cache_after_get, _elm_slideshow_cache_after_get),
265 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_cache_before_set, _elm_slideshow_cache_before_set),
266 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_cache_before_get, _elm_slideshow_cache_before_get),
267 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_layout_set, _elm_slideshow_layout_set),
268 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_layout_get, _elm_slideshow_layout_get),
269 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_transition_set, _elm_slideshow_transition_set),
270 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_transition_get, _elm_slideshow_transition_get),
271 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_items_loop_set, _elm_slideshow_items_loop_set),
272 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_items_loop_get, _elm_slideshow_items_loop_get),
273 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_timeout_set, _elm_slideshow_timeout_set),
274 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_timeout_get, _elm_slideshow_timeout_get),
275 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_items_get, _elm_slideshow_items_get),
276 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_transitions_get, _elm_slideshow_transitions_get),
277 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_count_get, _elm_slideshow_count_get),
278 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_current_get, _elm_slideshow_item_current_get),
279 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_layouts_get, _elm_slideshow_layouts_get),
280 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_previous, _elm_slideshow_previous),
281 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_nth_get, _elm_slideshow_item_nth_get),
282 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_next, _elm_slideshow_next),
283 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_clear, _elm_slideshow_clear),
284 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_add, _elm_slideshow_item_add),
285 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_sorted_insert, _elm_slideshow_item_sorted_insert),
286 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_slideshow_efl_object_constructor),
287 EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_slideshow_efl_ui_widget_widget_input_event_handler),
288 EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_slideshow_efl_access_widget_action_elm_actions_get),
289 ELM_SLIDESHOW_EXTRA_OPS
290 );
291 opsp = &ops;
292
293 static const Efl_Object_Property_Reflection refl_table[] = {
294 {"cache_after", __eolian_elm_slideshow_cache_after_set_reflect, __eolian_elm_slideshow_cache_after_get_reflect},
295 {"cache_before", __eolian_elm_slideshow_cache_before_set_reflect, __eolian_elm_slideshow_cache_before_get_reflect},
296 {"layout", __eolian_elm_slideshow_layout_set_reflect, __eolian_elm_slideshow_layout_get_reflect},
297 {"transition", __eolian_elm_slideshow_transition_set_reflect, __eolian_elm_slideshow_transition_get_reflect},
298 {"items_loop", __eolian_elm_slideshow_items_loop_set_reflect, __eolian_elm_slideshow_items_loop_get_reflect},
299 {"timeout", __eolian_elm_slideshow_timeout_set_reflect, __eolian_elm_slideshow_timeout_get_reflect},
300 };
301 static const Efl_Object_Property_Reflection_Ops rops = {
302 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
303 };
304 ropsp = &rops;
305
306 return efl_class_functions_set(klass, opsp, ropsp);
307}
308
309static const Efl_Class_Description _elm_slideshow_class_desc = {
310 EO_VERSION,
311 "Elm.Slideshow",
312 EFL_CLASS_TYPE_REGULAR,
313 sizeof(Elm_Slideshow_Data),
314 _elm_slideshow_class_initializer,
315 _elm_slideshow_class_constructor,
316 NULL
317};
318
319EFL_DEFINE_CLASS(elm_slideshow_class_get, &_elm_slideshow_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
320
321#include "elm_slideshow_eo.legacy.c"
diff --git a/src/lib/elementary/elm_slideshow_eo.h b/src/lib/elementary/elm_slideshow_eo.h
new file mode 100644
index 0000000..00dd7ae
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_eo.h
@@ -0,0 +1,408 @@
1#ifndef _ELM_SLIDESHOW_EO_H_
2#define _ELM_SLIDESHOW_EO_H_
3
4#ifndef _ELM_SLIDESHOW_EO_CLASS_TYPE
5#define _ELM_SLIDESHOW_EO_CLASS_TYPE
6
7typedef Eo Elm_Slideshow;
8
9#endif
10
11#ifndef _ELM_SLIDESHOW_EO_TYPES
12#define _ELM_SLIDESHOW_EO_TYPES
13
14
15#endif
16/** Elementary slideshow class
17 *
18 * @ingroup Elm_Slideshow
19 */
20#define ELM_SLIDESHOW_CLASS elm_slideshow_class_get()
21
22EWAPI const Efl_Class *elm_slideshow_class_get(void);
23
24/**
25 * @brief Set the number of items to cache, on a given slideshow widget, after
26 * the current item.
27 *
28 * The default value for this property is 2. See @ref Slideshow_Caching
29 * "slideshow caching" for more details.
30 *
31 * @param[in] obj The object.
32 * @param[in] count Number of items to cache after the current one.
33 *
34 * @ingroup Elm_Slideshow
35 */
36EOAPI void elm_obj_slideshow_cache_after_set(Eo *obj, int count);
37
38/**
39 * @brief Get the number of items to cache, on a given slideshow widget, after
40 * the current item.
41 *
42 * @param[in] obj The object.
43 *
44 * @return Number of items to cache after the current one.
45 *
46 * @ingroup Elm_Slideshow
47 */
48EOAPI int elm_obj_slideshow_cache_after_get(const Eo *obj);
49
50/**
51 * @brief Set the number of items to cache, on a given slideshow widget, before
52 * the current item.
53 *
54 * The default value for this property is 2. See @ref Slideshow_Caching
55 * "slideshow caching" for more details.
56 *
57 * @param[in] obj The object.
58 * @param[in] count Number of items to cache before the current one.
59 *
60 * @ingroup Elm_Slideshow
61 */
62EOAPI void elm_obj_slideshow_cache_before_set(Eo *obj, int count);
63
64/**
65 * @brief Get the number of items to cache, on a given slideshow widget, before
66 * the current item.
67 *
68 * @param[in] obj The object.
69 *
70 * @return Number of items to cache before the current one.
71 *
72 * @ingroup Elm_Slideshow
73 */
74EOAPI int elm_obj_slideshow_cache_before_get(const Eo *obj);
75
76/**
77 * @brief Set the current slide layout in use for a given slideshow widget
78 *
79 * If @c layout is implemented in @c obj's theme (i.e., is contained in the
80 * list returned by elm_slideshow_layouts_get()), this new images layout will
81 * be used on the widget.
82 *
83 * See @ref elm_obj_slideshow_layouts_get for more details.
84 *
85 * @param[in] obj The object.
86 * @param[in] layout The new layout's name string.
87 *
88 * @ingroup Elm_Slideshow
89 */
90EOAPI void elm_obj_slideshow_layout_set(Eo *obj, const char *layout);
91
92/**
93 * @brief Get the current slide layout in use for a given slideshow widget.
94 *
95 * @param[in] obj The object.
96 *
97 * @return The new layout's name string.
98 *
99 * @ingroup Elm_Slideshow
100 */
101EOAPI const char *elm_obj_slideshow_layout_get(const Eo *obj);
102
103/**
104 * @brief Set the current slide transition/effect in use for a given slideshow
105 * widget.
106 *
107 * If @c transition is implemented in @c obj's theme (i.e., is contained in the
108 * list returned by @ref elm_obj_slideshow_transitions_get), this new sliding
109 * effect will be used on the widget.
110 *
111 * @param[in] obj The object.
112 * @param[in] transition The new transition's name string.
113 *
114 * @ingroup Elm_Slideshow
115 */
116EOAPI void elm_obj_slideshow_transition_set(Eo *obj, const char *transition);
117
118/**
119 * @brief Get the current slide transition/effect in use for a given slideshow
120 * widget.
121 *
122 * @param[in] obj The object.
123 *
124 * @return The new transition's name string.
125 *
126 * @ingroup Elm_Slideshow
127 */
128EOAPI const char *elm_obj_slideshow_transition_get(const Eo *obj);
129
130/**
131 * @brief Set if the slideshow items should be displayed cyclically or not, so
132 * when the end is reached it will restart from the first item.
133 *
134 * @note This will affect the "automatic" slidshow behaviour and the
135 * @ref elm_obj_slideshow_next and @ref elm_obj_slideshow_previous functions as
136 * well.
137 *
138 * @param[in] obj The object.
139 * @param[in] loop Use @c true to make it cycle through items or @c false for
140 * it to stop at the end of @c obj's internal list of items.
141 *
142 * @ingroup Elm_Slideshow
143 */
144EOAPI void elm_obj_slideshow_items_loop_set(Eo *obj, Eina_Bool loop);
145
146/**
147 * @brief Get if, after a slideshow is started, for a given slideshow widget,
148 * its items are to be displayed cyclically or not.
149 *
150 * @param[in] obj The object.
151 *
152 * @return Use @c true to make it cycle through items or @c false for it to
153 * stop at the end of @c obj's internal list of items.
154 *
155 * @ingroup Elm_Slideshow
156 */
157EOAPI Eina_Bool elm_obj_slideshow_items_loop_get(const Eo *obj);
158
159/**
160 * @brief Set the interval between each image transition on a given slideshow
161 * widget and start the slideshow itself.
162 *
163 * After this call, the slideshow widget will start cycling its view,
164 * sequentially and automatically, with the images of the items it has. The
165 * time between each new image displayed is going to be @c timeout, in seconds.
166 * If a different timeout was set previously and an slideshow was in progress,
167 * it will continue with the new time between transitions, after this call.
168 *
169 * @note A value less than or equal to 0 on @c timeout will disable the
170 * widget's internal timer, thus halting any slideshow which could be happening
171 * on @c obj.
172 *
173 * @param[in] obj The object.
174 * @param[in] timeout The new displaying timeout for images.
175 *
176 * @ingroup Elm_Slideshow
177 */
178EOAPI void elm_obj_slideshow_timeout_set(Eo *obj, double timeout);
179
180/**
181 * @brief Get the interval set for image transitions on a given slideshow
182 * widget.
183 *
184 * @param[in] obj The object.
185 *
186 * @return The new displaying timeout for images.
187 *
188 * @ingroup Elm_Slideshow
189 */
190EOAPI double elm_obj_slideshow_timeout_get(const Eo *obj);
191
192/**
193 * @brief Get the internal list of items in a given slideshow widget.
194 *
195 * This list is not to be modified in any way and must not be freed.
196 *
197 * @warning This list is only valid until @c obj object's internal items list
198 * is changed. It should be fetched again with another call to this function
199 * when changes happen.
200 *
201 * @param[in] obj The object.
202 *
203 * @return The list of items (#Elm.Widget.Item as data) or @c null on errors.
204 *
205 * @ingroup Elm_Slideshow
206 */
207EOAPI const Eina_List *elm_obj_slideshow_items_get(const Eo *obj);
208
209/**
210 * @brief Returns the list of sliding transition/effect names available, for a
211 * given slideshow widget.
212 *
213 * The transitions, which come from @c obj's theme, must be an EDC data item
214 * named $"transitions" on the theme file, with (prefix) names of EDC programs
215 * actually implementing them.
216 *
217 * The available transitions for slideshows on the default theme are "fade"
218 * (the current item fades out, while the new one fades in to the slideshow's
219 * viewport), "black_fade" (the current item fades to black, and just then, the
220 * new item will fade in), "horizontal" (the current item slides horizontally,
221 * until it gets out of the slideshow's viewport, while the new item comes from
222 * the left to take its place), "vertical" (the current item slides vertically,
223 * until it gets out of the slideshow's viewport, while the new item comes from
224 * the bottom to take its place), "square" (the new item starts to appear from
225 * the middle of the current one, but with a tiny size, growing until its
226 * target (full) size and covering the old one.
227 *
228 * @warning The stringshared strings get no new references exclusive to the
229 * user grabbing the list, here, so if you'd like to use them out of this
230 * call's context, you'd better @ref eina_stringshare_ref them. Also the list
231 * is an internal list and so is only valid for as long as the slideshow object
232 * is valid and has not internally changed its list for some reason, so make a
233 * copy if you need it around.
234 *
235 * @param[in] obj The object.
236 *
237 * @return The list of transitions (list of stringshared strings as data).
238 *
239 * @ingroup Elm_Slideshow
240 */
241EOAPI const Eina_List *elm_obj_slideshow_transitions_get(const Eo *obj);
242
243/**
244 * @brief Get the number of items stored in a given slideshow widget.
245 *
246 * @param[in] obj The object.
247 *
248 * @return The number of items on @c obj, at the moment of this call.
249 *
250 * @ingroup Elm_Slideshow
251 */
252EOAPI unsigned int elm_obj_slideshow_count_get(const Eo *obj);
253
254/**
255 * @brief Returns the currently displayed item, in a given slideshow widget.
256 *
257 * @param[in] obj The object.
258 *
259 * @return A handle to the item being displayed in @c obj or @c null, if none
260 * is (and on errors)
261 *
262 * @ingroup Elm_Slideshow
263 */
264EOAPI Elm_Widget_Item *elm_obj_slideshow_item_current_get(const Eo *obj);
265
266/**
267 * @brief Returns the list of layout names available, for a given slideshow
268 * widget.
269 *
270 * Slideshow layouts will change how the widget is to dispose each image item
271 * in its viewport, with regard to cropping, scaling, etc.
272 *
273 * The layouts, which come from @c obj's theme, must be an EDC data item name
274 * $"layouts" on the theme file, with (prefix) names of EDC programs actually
275 * implementing them.
276 *
277 * The available layouts for slideshows on the default theme are "fullscreen"
278 * (item images with original aspect, scaled to touch top and down slideshow
279 * borders or, if the image's height is not enough, left and right slideshow
280 * borders) and "not_fullscreen" (the same behavior as the "fullscreen" one,
281 * but always leaving 10% of the slideshow's dimensions of distance between the
282 * item image's borders and the slideshow borders, for each axis)-
283 *
284 * @warning The stringshared strings get no new references exclusive to the
285 * user grabbing the list, here, so if you'd like to use them out of this
286 * call's context, you'd better @ref eina_stringshare_ref them.
287 *
288 * @param[in] obj The object.
289 *
290 * @return The list of layouts (list of stringshared strings as data)
291 *
292 * @ingroup Elm_Slideshow
293 */
294EOAPI const Eina_List *elm_obj_slideshow_layouts_get(const Eo *obj);
295
296/**
297 * @brief Slide to the previous item, in a given slideshow widget
298 *
299 * The sliding animation @c obj is set to use will be the transition effect
300 * used, after this call is issued.
301 *
302 * @note If the beginning of the slideshow's internal list of items is reached,
303 * it'll wrap around to the list's end, again.
304 * @param[in] obj The object.
305 *
306 * @ingroup Elm_Slideshow
307 */
308EOAPI void elm_obj_slideshow_previous(Eo *obj);
309
310/**
311 * @brief Get the the item, in a given slideshow widget, placed at position
312 * @c nth, in its internal items list.
313 *
314 * @param[in] obj The object.
315 * @param[in] nth The number of the item to grab a handle to (0 being the
316 * first).
317 *
318 * @return The item stored in @c obj at position @c nth or @c null if there's
319 * no item with that index (and on errors).
320 *
321 * @ingroup Elm_Slideshow
322 */
323EOAPI Elm_Widget_Item *elm_obj_slideshow_item_nth_get(const Eo *obj, unsigned int nth);
324
325/**
326 * @brief Slide to the next item, in a given slideshow widget.
327 *
328 * The sliding animation @c obj is set to use will be the transition effect
329 * used, after this call is issued.
330 *
331 * @note If the end of the slideshow's internal list of items is reached, it'll
332 * wrap around to the list's beginning, again.
333 * @param[in] obj The object.
334 *
335 * @ingroup Elm_Slideshow
336 */
337EOAPI void elm_obj_slideshow_next(Eo *obj);
338
339/**
340 * @brief Remove all items from a given slideshow widget.
341 *
342 * This removes (and deletes) all items in @c obj, leaving it empty.
343 * @param[in] obj The object.
344 *
345 * @ingroup Elm_Slideshow
346 */
347EOAPI void elm_obj_slideshow_clear(Eo *obj);
348
349/**
350 * @brief Add (append) a new item in a given slideshow widget.
351 *
352 * Add a new item to @c obj's internal list of items, appending it. The item's
353 * class must contain the function really fetching the image object to show for
354 * this item, which could be an Evas image object or an Elementary photo, for
355 * example. The @c data parameter is going to be passed to both class functions
356 * of the item.
357 *
358 * @param[in] obj The object.
359 * @param[in] itc The item class for the item.
360 * @param[in] data The item's data.
361 *
362 * @return A handle to the item added or @c null on errors.
363 *
364 * @ingroup Elm_Slideshow
365 */
366EOAPI Elm_Widget_Item *elm_obj_slideshow_item_add(Eo *obj, const Elm_Slideshow_Item_Class *itc, const void *data);
367
368/**
369 * @brief Insert a new item into the given slideshow widget, using the @c func
370 * function to sort items (by item handles).
371 *
372 * Add a new item to @c obj's internal list of items, in a position determined
373 * by the @c func comparing function. The item's class must contain the
374 * function really fetching the image object to show for this item, which could
375 * be an Evas image object or an Elementary photo, for example. The @c data
376 * parameter is going to be passed to both class functions of the item.
377 *
378 * @param[in] obj The object.
379 * @param[in] itc The item class for the item.
380 * @param[in] data The item's data.
381 * @param[in] func The comparing function to be used to sort the slideshow
382 * items by #Elm_Slideshow_Item_Class item handles.
383 *
384 * @return Returns The slideshow item handle, on success, or @c null on errors.
385 *
386 * @ingroup Elm_Slideshow
387 */
388EOAPI Elm_Widget_Item *elm_obj_slideshow_item_sorted_insert(Eo *obj, const Elm_Slideshow_Item_Class *itc, const void *data, Eina_Compare_Cb func);
389
390EWAPI extern const Efl_Event_Description _ELM_SLIDESHOW_EVENT_CHANGED;
391
392/** Called when slideshow widget changed
393 * @return Efl_Object *
394 *
395 * @ingroup Elm_Slideshow
396 */
397#define ELM_SLIDESHOW_EVENT_CHANGED (&(_ELM_SLIDESHOW_EVENT_CHANGED))
398
399EWAPI extern const Efl_Event_Description _ELM_SLIDESHOW_EVENT_TRANSITION_END;
400
401/** Called on transition end
402 * @return Efl_Object *
403 *
404 * @ingroup Elm_Slideshow
405 */
406#define ELM_SLIDESHOW_EVENT_TRANSITION_END (&(_ELM_SLIDESHOW_EVENT_TRANSITION_END))
407
408#endif
diff --git a/src/lib/elementary/elm_slideshow_eo.legacy.c b/src/lib/elementary/elm_slideshow_eo.legacy.c
new file mode 100644
index 0000000..3cda275
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_eo.legacy.c
@@ -0,0 +1,138 @@
1
2EAPI void
3elm_slideshow_cache_after_set(Elm_Slideshow *obj, int count)
4{
5 elm_obj_slideshow_cache_after_set(obj, count);
6}
7
8EAPI int
9elm_slideshow_cache_after_get(const Elm_Slideshow *obj)
10{
11 return elm_obj_slideshow_cache_after_get(obj);
12}
13
14EAPI void
15elm_slideshow_cache_before_set(Elm_Slideshow *obj, int count)
16{
17 elm_obj_slideshow_cache_before_set(obj, count);
18}
19
20EAPI int
21elm_slideshow_cache_before_get(const Elm_Slideshow *obj)
22{
23 return elm_obj_slideshow_cache_before_get(obj);
24}
25
26EAPI void
27elm_slideshow_layout_set(Elm_Slideshow *obj, const char *layout)
28{
29 elm_obj_slideshow_layout_set(obj, layout);
30}
31
32EAPI const char *
33elm_slideshow_layout_get(const Elm_Slideshow *obj)
34{
35 return elm_obj_slideshow_layout_get(obj);
36}
37
38EAPI void
39elm_slideshow_transition_set(Elm_Slideshow *obj, const char *transition)
40{
41 elm_obj_slideshow_transition_set(obj, transition);
42}
43
44EAPI const char *
45elm_slideshow_transition_get(const Elm_Slideshow *obj)
46{
47 return elm_obj_slideshow_transition_get(obj);
48}
49
50EAPI void
51elm_slideshow_loop_set(Elm_Slideshow *obj, Eina_Bool loop)
52{
53 elm_obj_slideshow_items_loop_set(obj, loop);
54}
55
56EAPI Eina_Bool
57elm_slideshow_loop_get(const Elm_Slideshow *obj)
58{
59 return elm_obj_slideshow_items_loop_get(obj);
60}
61
62EAPI void
63elm_slideshow_timeout_set(Elm_Slideshow *obj, double timeout)
64{
65 elm_obj_slideshow_timeout_set(obj, timeout);
66}
67
68EAPI double
69elm_slideshow_timeout_get(const Elm_Slideshow *obj)
70{
71 return elm_obj_slideshow_timeout_get(obj);
72}
73
74EAPI const Eina_List *
75elm_slideshow_items_get(const Elm_Slideshow *obj)
76{
77 return elm_obj_slideshow_items_get(obj);
78}
79
80EAPI const Eina_List *
81elm_slideshow_transitions_get(const Elm_Slideshow *obj)
82{
83 return elm_obj_slideshow_transitions_get(obj);
84}
85
86EAPI unsigned int
87elm_slideshow_count_get(const Elm_Slideshow *obj)
88{
89 return elm_obj_slideshow_count_get(obj);
90}
91
92EAPI Elm_Widget_Item *
93elm_slideshow_item_current_get(const Elm_Slideshow *obj)
94{
95 return elm_obj_slideshow_item_current_get(obj);
96}
97
98EAPI const Eina_List *
99elm_slideshow_layouts_get(const Elm_Slideshow *obj)
100{
101 return elm_obj_slideshow_layouts_get(obj);
102}
103
104EAPI void
105elm_slideshow_previous(Elm_Slideshow *obj)
106{
107 elm_obj_slideshow_previous(obj);
108}
109
110EAPI Elm_Widget_Item *
111elm_slideshow_item_nth_get(const Elm_Slideshow *obj, unsigned int nth)
112{
113 return elm_obj_slideshow_item_nth_get(obj, nth);
114}
115
116EAPI void
117elm_slideshow_next(Elm_Slideshow *obj)
118{
119 elm_obj_slideshow_next(obj);
120}
121
122EAPI void
123elm_slideshow_clear(Elm_Slideshow *obj)
124{
125 elm_obj_slideshow_clear(obj);
126}
127
128EAPI Elm_Widget_Item *
129elm_slideshow_item_add(Elm_Slideshow *obj, const Elm_Slideshow_Item_Class *itc, const void *data)
130{
131 return elm_obj_slideshow_item_add(obj, itc, data);
132}
133
134EAPI Elm_Widget_Item *
135elm_slideshow_item_sorted_insert(Elm_Slideshow *obj, const Elm_Slideshow_Item_Class *itc, const void *data, Eina_Compare_Cb func)
136{
137 return elm_obj_slideshow_item_sorted_insert(obj, itc, data, func);
138}
diff --git a/src/lib/elementary/elm_slideshow_eo.legacy.h b/src/lib/elementary/elm_slideshow_eo.legacy.h
new file mode 100644
index 0000000..3670d7c
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_eo.legacy.h
@@ -0,0 +1,382 @@
1#ifndef _ELM_SLIDESHOW_EO_LEGACY_H_
2#define _ELM_SLIDESHOW_EO_LEGACY_H_
3
4#ifndef _ELM_SLIDESHOW_EO_CLASS_TYPE
5#define _ELM_SLIDESHOW_EO_CLASS_TYPE
6
7typedef Eo Elm_Slideshow;
8
9#endif
10
11#ifndef _ELM_SLIDESHOW_EO_TYPES
12#define _ELM_SLIDESHOW_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Set the number of items to cache, on a given slideshow widget, after
19 * the current item.
20 *
21 * The default value for this property is 2. See @ref Slideshow_Caching
22 * "slideshow caching" for more details.
23 *
24 * @param[in] obj The object.
25 * @param[in] count Number of items to cache after the current one.
26 *
27 * @ingroup Elm_Slideshow_Group
28 */
29EAPI void elm_slideshow_cache_after_set(Elm_Slideshow *obj, int count);
30
31/**
32 * @brief Get the number of items to cache, on a given slideshow widget, after
33 * the current item.
34 *
35 * @param[in] obj The object.
36 *
37 * @return Number of items to cache after the current one.
38 *
39 * @ingroup Elm_Slideshow_Group
40 */
41EAPI int elm_slideshow_cache_after_get(const Elm_Slideshow *obj);
42
43/**
44 * @brief Set the number of items to cache, on a given slideshow widget, before
45 * the current item.
46 *
47 * The default value for this property is 2. See @ref Slideshow_Caching
48 * "slideshow caching" for more details.
49 *
50 * @param[in] obj The object.
51 * @param[in] count Number of items to cache before the current one.
52 *
53 * @ingroup Elm_Slideshow_Group
54 */
55EAPI void elm_slideshow_cache_before_set(Elm_Slideshow *obj, int count);
56
57/**
58 * @brief Get the number of items to cache, on a given slideshow widget, before
59 * the current item.
60 *
61 * @param[in] obj The object.
62 *
63 * @return Number of items to cache before the current one.
64 *
65 * @ingroup Elm_Slideshow_Group
66 */
67EAPI int elm_slideshow_cache_before_get(const Elm_Slideshow *obj);
68
69/**
70 * @brief Set the current slide layout in use for a given slideshow widget
71 *
72 * If @c layout is implemented in @c obj's theme (i.e., is contained in the
73 * list returned by elm_slideshow_layouts_get()), this new images layout will
74 * be used on the widget.
75 *
76 * See @ref elm_slideshow_layouts_get for more details.
77 *
78 * @param[in] obj The object.
79 * @param[in] layout The new layout's name string.
80 *
81 * @ingroup Elm_Slideshow_Group
82 */
83EAPI void elm_slideshow_layout_set(Elm_Slideshow *obj, const char *layout);
84
85/**
86 * @brief Get the current slide layout in use for a given slideshow widget.
87 *
88 * @param[in] obj The object.
89 *
90 * @return The new layout's name string.
91 *
92 * @ingroup Elm_Slideshow_Group
93 */
94EAPI const char *elm_slideshow_layout_get(const Elm_Slideshow *obj);
95
96/**
97 * @brief Set the current slide transition/effect in use for a given slideshow
98 * widget.
99 *
100 * If @c transition is implemented in @c obj's theme (i.e., is contained in the
101 * list returned by @ref elm_slideshow_transitions_get), this new sliding
102 * effect will be used on the widget.
103 *
104 * @param[in] obj The object.
105 * @param[in] transition The new transition's name string.
106 *
107 * @ingroup Elm_Slideshow_Group
108 */
109EAPI void elm_slideshow_transition_set(Elm_Slideshow *obj, const char *transition);
110
111/**
112 * @brief Get the current slide transition/effect in use for a given slideshow
113 * widget.
114 *
115 * @param[in] obj The object.
116 *
117 * @return The new transition's name string.
118 *
119 * @ingroup Elm_Slideshow_Group
120 */
121EAPI const char *elm_slideshow_transition_get(const Elm_Slideshow *obj);
122
123/**
124 * @brief Set if the slideshow items should be displayed cyclically or not, so
125 * when the end is reached it will restart from the first item.
126 *
127 * @note This will affect the "automatic" slidshow behaviour and the
128 * @ref elm_slideshow_next and @ref elm_slideshow_previous functions as well.
129 *
130 * @param[in] obj The object.
131 * @param[in] loop Use @c true to make it cycle through items or @c false for
132 * it to stop at the end of @c obj's internal list of items.
133 *
134 * @ingroup Elm_Slideshow_Group
135 */
136EAPI void elm_slideshow_loop_set(Elm_Slideshow *obj, Eina_Bool loop);
137
138/**
139 * @brief Get if, after a slideshow is started, for a given slideshow widget,
140 * its items are to be displayed cyclically or not.
141 *
142 * @param[in] obj The object.
143 *
144 * @return Use @c true to make it cycle through items or @c false for it to
145 * stop at the end of @c obj's internal list of items.
146 *
147 * @ingroup Elm_Slideshow_Group
148 */
149EAPI Eina_Bool elm_slideshow_loop_get(const Elm_Slideshow *obj);
150
151/**
152 * @brief Set the interval between each image transition on a given slideshow
153 * widget and start the slideshow itself.
154 *
155 * After this call, the slideshow widget will start cycling its view,
156 * sequentially and automatically, with the images of the items it has. The
157 * time between each new image displayed is going to be @c timeout, in seconds.
158 * If a different timeout was set previously and an slideshow was in progress,
159 * it will continue with the new time between transitions, after this call.
160 *
161 * @note A value less than or equal to 0 on @c timeout will disable the
162 * widget's internal timer, thus halting any slideshow which could be happening
163 * on @c obj.
164 *
165 * @param[in] obj The object.
166 * @param[in] timeout The new displaying timeout for images.
167 *
168 * @ingroup Elm_Slideshow_Group
169 */
170EAPI void elm_slideshow_timeout_set(Elm_Slideshow *obj, double timeout);
171
172/**
173 * @brief Get the interval set for image transitions on a given slideshow
174 * widget.
175 *
176 * @param[in] obj The object.
177 *
178 * @return The new displaying timeout for images.
179 *
180 * @ingroup Elm_Slideshow_Group
181 */
182EAPI double elm_slideshow_timeout_get(const Elm_Slideshow *obj);
183
184/**
185 * @brief Get the internal list of items in a given slideshow widget.
186 *
187 * This list is not to be modified in any way and must not be freed.
188 *
189 * @warning This list is only valid until @c obj object's internal items list
190 * is changed. It should be fetched again with another call to this function
191 * when changes happen.
192 *
193 * @param[in] obj The object.
194 *
195 * @return The list of items (#Elm.Widget.Item as data) or @c null on errors.
196 *
197 * @ingroup Elm_Slideshow_Group
198 */
199EAPI const Eina_List *elm_slideshow_items_get(const Elm_Slideshow *obj);
200
201/**
202 * @brief Returns the list of sliding transition/effect names available, for a
203 * given slideshow widget.
204 *
205 * The transitions, which come from @c obj's theme, must be an EDC data item
206 * named $"transitions" on the theme file, with (prefix) names of EDC programs
207 * actually implementing them.
208 *
209 * The available transitions for slideshows on the default theme are "fade"
210 * (the current item fades out, while the new one fades in to the slideshow's
211 * viewport), "black_fade" (the current item fades to black, and just then, the
212 * new item will fade in), "horizontal" (the current item slides horizontally,
213 * until it gets out of the slideshow's viewport, while the new item comes from
214 * the left to take its place), "vertical" (the current item slides vertically,
215 * until it gets out of the slideshow's viewport, while the new item comes from
216 * the bottom to take its place), "square" (the new item starts to appear from
217 * the middle of the current one, but with a tiny size, growing until its
218 * target (full) size and covering the old one.
219 *
220 * @warning The stringshared strings get no new references exclusive to the
221 * user grabbing the list, here, so if you'd like to use them out of this
222 * call's context, you'd better @ref eina_stringshare_ref them. Also the list
223 * is an internal list and so is only valid for as long as the slideshow object
224 * is valid and has not internally changed its list for some reason, so make a
225 * copy if you need it around.
226 *
227 * @param[in] obj The object.
228 *
229 * @return The list of transitions (list of stringshared strings as data).
230 *
231 * @ingroup Elm_Slideshow_Group
232 */
233EAPI const Eina_List *elm_slideshow_transitions_get(const Elm_Slideshow *obj);
234
235/**
236 * @brief Get the number of items stored in a given slideshow widget.
237 *
238 * @param[in] obj The object.
239 *
240 * @return The number of items on @c obj, at the moment of this call.
241 *
242 * @ingroup Elm_Slideshow_Group
243 */
244EAPI unsigned int elm_slideshow_count_get(const Elm_Slideshow *obj);
245
246/**
247 * @brief Returns the currently displayed item, in a given slideshow widget.
248 *
249 * @param[in] obj The object.
250 *
251 * @return A handle to the item being displayed in @c obj or @c null, if none
252 * is (and on errors)
253 *
254 * @ingroup Elm_Slideshow_Group
255 */
256EAPI Elm_Widget_Item *elm_slideshow_item_current_get(const Elm_Slideshow *obj);
257
258/**
259 * @brief Returns the list of layout names available, for a given slideshow
260 * widget.
261 *
262 * Slideshow layouts will change how the widget is to dispose each image item
263 * in its viewport, with regard to cropping, scaling, etc.
264 *
265 * The layouts, which come from @c obj's theme, must be an EDC data item name
266 * $"layouts" on the theme file, with (prefix) names of EDC programs actually
267 * implementing them.
268 *
269 * The available layouts for slideshows on the default theme are "fullscreen"
270 * (item images with original aspect, scaled to touch top and down slideshow
271 * borders or, if the image's height is not enough, left and right slideshow
272 * borders) and "not_fullscreen" (the same behavior as the "fullscreen" one,
273 * but always leaving 10% of the slideshow's dimensions of distance between the
274 * item image's borders and the slideshow borders, for each axis)-
275 *
276 * @warning The stringshared strings get no new references exclusive to the
277 * user grabbing the list, here, so if you'd like to use them out of this
278 * call's context, you'd better @ref eina_stringshare_ref them.
279 *
280 * @param[in] obj The object.
281 *
282 * @return The list of layouts (list of stringshared strings as data)
283 *
284 * @ingroup Elm_Slideshow_Group
285 */
286EAPI const Eina_List *elm_slideshow_layouts_get(const Elm_Slideshow *obj);
287
288/**
289 * @brief Slide to the previous item, in a given slideshow widget
290 *
291 * The sliding animation @c obj is set to use will be the transition effect
292 * used, after this call is issued.
293 *
294 * @note If the beginning of the slideshow's internal list of items is reached,
295 * it'll wrap around to the list's end, again.
296 * @param[in] obj The object.
297 *
298 * @ingroup Elm_Slideshow_Group
299 */
300EAPI void elm_slideshow_previous(Elm_Slideshow *obj);
301
302/**
303 * @brief Get the the item, in a given slideshow widget, placed at position
304 * @c nth, in its internal items list.
305 *
306 * @param[in] obj The object.
307 * @param[in] nth The number of the item to grab a handle to (0 being the
308 * first).
309 *
310 * @return The item stored in @c obj at position @c nth or @c null if there's
311 * no item with that index (and on errors).
312 *
313 * @ingroup Elm_Slideshow_Group
314 */
315EAPI Elm_Widget_Item *elm_slideshow_item_nth_get(const Elm_Slideshow *obj, unsigned int nth);
316
317/**
318 * @brief Slide to the next item, in a given slideshow widget.
319 *
320 * The sliding animation @c obj is set to use will be the transition effect
321 * used, after this call is issued.
322 *
323 * @note If the end of the slideshow's internal list of items is reached, it'll
324 * wrap around to the list's beginning, again.
325 * @param[in] obj The object.
326 *
327 * @ingroup Elm_Slideshow_Group
328 */
329EAPI void elm_slideshow_next(Elm_Slideshow *obj);
330
331/**
332 * @brief Remove all items from a given slideshow widget.
333 *
334 * This removes (and deletes) all items in @c obj, leaving it empty.
335 * @param[in] obj The object.
336 *
337 * @ingroup Elm_Slideshow_Group
338 */
339EAPI void elm_slideshow_clear(Elm_Slideshow *obj);
340
341/**
342 * @brief Add (append) a new item in a given slideshow widget.
343 *
344 * Add a new item to @c obj's internal list of items, appending it. The item's
345 * class must contain the function really fetching the image object to show for
346 * this item, which could be an Evas image object or an Elementary photo, for
347 * example. The @c data parameter is going to be passed to both class functions
348 * of the item.
349 *
350 * @param[in] obj The object.
351 * @param[in] itc The item class for the item.
352 * @param[in] data The item's data.
353 *
354 * @return A handle to the item added or @c null on errors.
355 *
356 * @ingroup Elm_Slideshow_Group
357 */
358EAPI Elm_Widget_Item *elm_slideshow_item_add(Elm_Slideshow *obj, const Elm_Slideshow_Item_Class *itc, const void *data);
359
360/**
361 * @brief Insert a new item into the given slideshow widget, using the @c func
362 * function to sort items (by item handles).
363 *
364 * Add a new item to @c obj's internal list of items, in a position determined
365 * by the @c func comparing function. The item's class must contain the
366 * function really fetching the image object to show for this item, which could
367 * be an Evas image object or an Elementary photo, for example. The @c data
368 * parameter is going to be passed to both class functions of the item.
369 *
370 * @param[in] obj The object.
371 * @param[in] itc The item class for the item.
372 * @param[in] data The item's data.
373 * @param[in] func The comparing function to be used to sort the slideshow
374 * items by #Elm_Slideshow_Item_Class item handles.
375 *
376 * @return Returns The slideshow item handle, on success, or @c null on errors.
377 *
378 * @ingroup Elm_Slideshow_Group
379 */
380EAPI Elm_Widget_Item *elm_slideshow_item_sorted_insert(Elm_Slideshow *obj, const Elm_Slideshow_Item_Class *itc, const void *data, Eina_Compare_Cb func);
381
382#endif
diff --git a/src/lib/elementary/elm_slideshow_item.eo b/src/lib/elementary/elm_slideshow_item.eo
deleted file mode 100644
index c6d7686..0000000
--- a/src/lib/elementary/elm_slideshow_item.eo
+++ /dev/null
@@ -1,36 +0,0 @@
1class Elm.Slideshow.Item extends Elm.Widget.Item
2{
3 [[Elementary slideshow class]]
4 legacy_prefix: elm_slideshow_item;
5 eo_prefix: elm_obj_slideshow_item;
6 event_prefix: elm_slideshow_item;
7 methods {
8 show {
9 [[Display a given slideshow widget's item, programmatically.
10
11 The change between the current item and $item will use the
12 transition $obj is set to use.
13
14 See: Elm.Slidshow.transition.get]]
15 /* FIXME Make a proper ref ^ */
16 }
17 object_get @const {
18 [[Get the real Evas object created to implement the view of a given slideshow item.
19
20 This returns the actual Evas object used to implement the
21 specified slideshow item's view. This may be $null, as it may
22 not have been created or may have been deleted, at any time, by
23 the slideshow. **Do not modify this object** (move, resize,
24 show, hide, etc.), as the slideshow is controlling it. This
25 function is for querying, emitting custom signals or hooking
26 lower level callbacks for events on that object. Do not delete
27 this object under any circumstances.]]
28
29 return: Efl.Canvas.Object; [[Real evas object]]
30 }
31 }
32 implements {
33 Efl.Object.constructor;
34 Efl.Object.destructor;
35 }
36}
diff --git a/src/lib/elementary/elm_slideshow_item_eo.c b/src/lib/elementary/elm_slideshow_item_eo.c
new file mode 100644
index 0000000..4c919d2
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_item_eo.c
@@ -0,0 +1,51 @@
1
2void _elm_slideshow_item_show(Eo *obj, Elm_Slideshow_Item_Data *pd);
3
4EOAPI EFL_VOID_FUNC_BODY(elm_obj_slideshow_item_show);
5
6Efl_Canvas_Object *_elm_slideshow_item_object_get(const Eo *obj, Elm_Slideshow_Item_Data *pd);
7
8EOAPI EFL_FUNC_BODY_CONST(elm_obj_slideshow_item_object_get, Efl_Canvas_Object *, NULL);
9
10Efl_Object *_elm_slideshow_item_efl_object_constructor(Eo *obj, Elm_Slideshow_Item_Data *pd);
11
12
13void _elm_slideshow_item_efl_object_destructor(Eo *obj, Elm_Slideshow_Item_Data *pd);
14
15
16static Eina_Bool
17_elm_slideshow_item_class_initializer(Efl_Class *klass)
18{
19 const Efl_Object_Ops *opsp = NULL;
20
21 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
22
23#ifndef ELM_SLIDESHOW_ITEM_EXTRA_OPS
24#define ELM_SLIDESHOW_ITEM_EXTRA_OPS
25#endif
26
27 EFL_OPS_DEFINE(ops,
28 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_show, _elm_slideshow_item_show),
29 EFL_OBJECT_OP_FUNC(elm_obj_slideshow_item_object_get, _elm_slideshow_item_object_get),
30 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_slideshow_item_efl_object_constructor),
31 EFL_OBJECT_OP_FUNC(efl_destructor, _elm_slideshow_item_efl_object_destructor),
32 ELM_SLIDESHOW_ITEM_EXTRA_OPS
33 );
34 opsp = &ops;
35
36 return efl_class_functions_set(klass, opsp, ropsp);
37}
38
39static const Efl_Class_Description _elm_slideshow_item_class_desc = {
40 EO_VERSION,
41 "Elm.Slideshow.Item",
42 EFL_CLASS_TYPE_REGULAR,
43 sizeof(Elm_Slideshow_Item_Data),
44 _elm_slideshow_item_class_initializer,
45 NULL,
46 NULL
47};
48
49EFL_DEFINE_CLASS(elm_slideshow_item_class_get, &_elm_slideshow_item_class_desc, ELM_WIDGET_ITEM_CLASS, NULL);
50
51#include "elm_slideshow_item_eo.legacy.c"
diff --git a/src/lib/elementary/elm_slideshow_item_eo.h b/src/lib/elementary/elm_slideshow_item_eo.h
new file mode 100644
index 0000000..065a7f6
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_item_eo.h
@@ -0,0 +1,57 @@
1#ifndef _ELM_SLIDESHOW_ITEM_EO_H_
2#define _ELM_SLIDESHOW_ITEM_EO_H_
3
4#ifndef _ELM_SLIDESHOW_ITEM_EO_CLASS_TYPE
5#define _ELM_SLIDESHOW_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Slideshow_Item;
8
9#endif
10
11#ifndef _ELM_SLIDESHOW_ITEM_EO_TYPES
12#define _ELM_SLIDESHOW_ITEM_EO_TYPES
13
14
15#endif
16/** Elementary slideshow class
17 *
18 * @ingroup Elm_Slideshow_Item
19 */
20#define ELM_SLIDESHOW_ITEM_CLASS elm_slideshow_item_class_get()
21
22EWAPI const Efl_Class *elm_slideshow_item_class_get(void);
23
24/**
25 * @brief Display a given slideshow widget's item, programmatically.
26 *
27 * The change between the current item and @c item will use the transition
28 * @c obj is set to use.
29 *
30 * See: Elm.Slidshow.transition.get
31 * @param[in] obj The object.
32 *
33 * @ingroup Elm_Slideshow_Item
34 */
35EOAPI void elm_obj_slideshow_item_show(Eo *obj);
36
37/**
38 * @brief Get the real Evas object created to implement the view of a given
39 * slideshow item.
40 *
41 * This returns the actual Evas object used to implement the specified
42 * slideshow item's view. This may be @c null, as it may not have been created
43 * or may have been deleted, at any time, by the slideshow. **Do not modify
44 * this object** (move, resize, show, hide, etc.), as the slideshow is
45 * controlling it. This function is for querying, emitting custom signals or
46 * hooking lower level callbacks for events on that object. Do not delete this
47 * object under any circumstances.
48 *
49 * @param[in] obj The object.
50 *
51 * @return Real evas object
52 *
53 * @ingroup Elm_Slideshow_Item
54 */
55EOAPI Efl_Canvas_Object *elm_obj_slideshow_item_object_get(const Eo *obj);
56
57#endif
diff --git a/src/lib/elementary/elm_slideshow_item_eo.legacy.c b/src/lib/elementary/elm_slideshow_item_eo.legacy.c
new file mode 100644
index 0000000..b919b51
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_item_eo.legacy.c
@@ -0,0 +1,12 @@
1
2EAPI void
3elm_slideshow_item_show(Elm_Slideshow_Item *obj)
4{
5 elm_obj_slideshow_item_show(obj);
6}
7
8EAPI Efl_Canvas_Object *
9elm_slideshow_item_object_get(const Elm_Slideshow_Item *obj)
10{
11 return elm_obj_slideshow_item_object_get(obj);
12}
diff --git a/src/lib/elementary/elm_slideshow_item_eo.legacy.h b/src/lib/elementary/elm_slideshow_item_eo.legacy.h
new file mode 100644
index 0000000..7ce66cc
--- /dev/null
+++ b/src/lib/elementary/elm_slideshow_item_eo.legacy.h
@@ -0,0 +1,50 @@
1#ifndef _ELM_SLIDESHOW_ITEM_EO_LEGACY_H_
2#define _ELM_SLIDESHOW_ITEM_EO_LEGACY_H_
3
4#ifndef _ELM_SLIDESHOW_ITEM_EO_CLASS_TYPE
5#define _ELM_SLIDESHOW_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Slideshow_Item;
8
9#endif
10
11#ifndef _ELM_SLIDESHOW_ITEM_EO_TYPES
12#define _ELM_SLIDESHOW_ITEM_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Display a given slideshow widget's item, programmatically.
19 *
20 * The change between the current item and @c item will use the transition
21 * @c obj is set to use.
22 *
23 * See: Elm.Slidshow.transition.get
24 * @param[in] obj The object.
25 *
26 * @ingroup Elm_Slideshow_Item_Group
27 */
28EAPI void elm_slideshow_item_show(Elm_Slideshow_Item *obj);
29
30/**
31 * @brief Get the real Evas object created to implement the view of a given
32 * slideshow item.
33 *
34 * This returns the actual Evas object used to implement the specified
35 * slideshow item's view. This may be @c null, as it may not have been created
36 * or may have been deleted, at any time, by the slideshow. **Do not modify
37 * this object** (move, resize, show, hide, etc.), as the slideshow is
38 * controlling it. This function is for querying, emitting custom signals or
39 * hooking lower level callbacks for events on that object. Do not delete this
40 * object under any circumstances.
41 *
42 * @param[in] obj The object.
43 *
44 * @return Real evas object
45 *
46 * @ingroup Elm_Slideshow_Item_Group
47 */
48EAPI Efl_Canvas_Object *elm_slideshow_item_object_get(const Elm_Slideshow_Item *obj);
49
50#endif
diff --git a/src/lib/elementary/elm_slideshow_legacy.h b/src/lib/elementary/elm_slideshow_legacy.h
index d16ad0e..95a68b6 100644
--- a/src/lib/elementary/elm_slideshow_legacy.h
+++ b/src/lib/elementary/elm_slideshow_legacy.h
@@ -11,5 +11,5 @@
11 */ 11 */
12EAPI Evas_Object *elm_slideshow_add(Evas_Object *parent); 12EAPI Evas_Object *elm_slideshow_add(Evas_Object *parent);
13 13
14#include "elm_slideshow_item.eo.legacy.h" 14#include "elm_slideshow_item_eo.legacy.h"
15#include "elm_slideshow.eo.legacy.h" 15#include "elm_slideshow_eo.legacy.h"
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 139941c..d24f65e 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -22,8 +22,6 @@ pub_legacy_eo_files = [
22 'elm_actionslider_part.eo', 22 'elm_actionslider_part.eo',
23 'elm_bubble_part.eo', 23 'elm_bubble_part.eo',
24 'elm_fileselector_part.eo', 24 'elm_fileselector_part.eo',
25 'elm_slideshow.eo',
26 'elm_slideshow_item.eo',
27 'elm_table.eo', 25 'elm_table.eo',
28 'elm_thumb.eo', 26 'elm_thumb.eo',
29] 27]
@@ -793,6 +791,10 @@ elementary_pub_headers = [
793 'elm_slider_eo.legacy.h', 791 'elm_slider_eo.legacy.h',
794 'elm_slider_part_indicator_eo.h', 792 'elm_slider_part_indicator_eo.h',
795 'elm_slider_part_indicator_eo.legacy.h', 793 'elm_slider_part_indicator_eo.legacy.h',
794 'elm_slideshow_eo.h',
795 'elm_slideshow_eo.legacy.h',
796 'elm_slideshow_item_eo.h',
797 'elm_slideshow_item_eo.legacy.h',
796] 798]
797 799
798elementary_header_src = [ 800elementary_header_src = [