e681f124bd454ea085e1bec1376c4e0f158046d3
[framework/uifw/elementary.git] / src / bin / test_transit.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 typedef struct _Custom_Effect Custom_Effect;
8
9 struct _Custom_Effect
10 {
11    struct _size
12      {
13         Evas_Coord w, h;
14      } from, to;
15 };
16
17 static void
18 _custom_op(Elm_Transit_Effect *effect, Elm_Transit *transit, double progress)
19 {
20    if (!effect) return;
21    Evas_Coord w, h;
22    Evas_Object *obj;
23    const Eina_List *elist;
24
25    Custom_Effect *custom_effect = effect;
26    const Eina_List *objs = elm_transit_objects_get(transit);
27
28    if (progress < 0.5)
29      {
30         h = custom_effect->from.h + (custom_effect->to.h * progress * 2);
31         w = custom_effect->from.w;
32      }
33    else
34      {
35         h = custom_effect->from.h + custom_effect->to.h;
36         w = custom_effect->from.w + \
37             (custom_effect->to.w * (progress - 0.5) * 2);
38      }
39
40    EINA_LIST_FOREACH(objs, elist, obj)
41       evas_object_resize(obj, w, h);
42 <<<<<<< HEAD
43
44 =======
45 >>>>>>> remotes/origin/upstream
46 }
47
48 static Elm_Transit_Effect *
49 _custom_context_new(Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h)
50 {
51    Custom_Effect *custom_effect;
52
53    custom_effect = calloc(1, sizeof(Custom_Effect));
54    if (!custom_effect) return NULL;
55
56    custom_effect->from.w = from_w;
57    custom_effect->from.h = from_h;
58    custom_effect->to.w = to_w - from_w;
59    custom_effect->to.h = to_h - from_h;
60
61    return custom_effect;
62 }
63
64 static void
65 _custom_context_free(Elm_Transit_Effect *effect, Elm_Transit *transit __UNUSED__)
66 {
67    Custom_Effect *custom_effect = effect;
68    free(custom_effect);
69 }
70
71 static void
72 _transit_rotation_translation_color(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
73 {
74    Elm_Transit *trans;
75
76    trans = elm_transit_add();
77    elm_transit_object_add(trans, obj);
78    elm_transit_auto_reverse_set(trans, EINA_TRUE);
79    elm_transit_repeat_times_set(trans, 2);
80
81    /* Translation Effect */
82    elm_transit_effect_translation_add(trans, -70.0, -150.0, 70.0, 150.0);
83
84    /* Color Effect */
85    elm_transit_effect_color_add(trans, 100, 255, 100, 255, 200, 50, 200, 50);
86
87    /* Rotation Effect */
88    elm_transit_effect_rotation_add(trans, 0.0, 135.0);
89
90    elm_transit_duration_set(trans, 5.0);
91    elm_transit_go(trans);
92 }
93
94 static void
95 _transit_wipe(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
96 {
97    Elm_Transit *trans;
98
99    trans = elm_transit_add();
100    elm_transit_object_add(trans, obj);
101    elm_transit_auto_reverse_set(trans, EINA_TRUE);
102
103    elm_transit_effect_wipe_add(trans,
104                                ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE,
105                                ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT);
106
107    elm_transit_duration_set(trans, 5.0);
108    elm_transit_go(trans);
109 }
110
111 static void
112 _transit_del_cb(void *data, Elm_Transit *transit __UNUSED__)
113 {
114    evas_object_freeze_events_set(data, EINA_FALSE);
115 }
116
117 static void
118 _transit_image_animation(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
119 {
120    Eina_List *images = NULL;
121    char buf[PATH_MAX];
122    Elm_Transit *trans;
123    Evas_Object *ic = data;
124
125    snprintf(buf, sizeof(buf), "%s/images/icon_19.png", elm_app_data_dir_get());
126    images = eina_list_append(images, eina_stringshare_add(buf));
127
128    snprintf(buf, sizeof(buf), "%s/images/icon_00.png", elm_app_data_dir_get());
129    images = eina_list_append(images, eina_stringshare_add(buf));
130
131    snprintf(buf, sizeof(buf), "%s/images/icon_11.png", elm_app_data_dir_get());
132    images = eina_list_append(images, eina_stringshare_add(buf));
133
134    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
135    images = eina_list_append(images, eina_stringshare_add(buf));
136
137    trans = elm_transit_add();
138    elm_transit_del_cb_set(trans, _transit_del_cb, obj);
139    elm_transit_object_add(trans, ic);
140    elm_transit_effect_image_animation_add(trans, images);
141    elm_transit_duration_set(trans, 5.0);
142    elm_transit_go(trans);
143
144    evas_object_freeze_events_set(obj, EINA_TRUE);
145 }
146
147 static void
148 _transit_resizing(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
149 {
150    Elm_Transit *trans;
151
152    trans = elm_transit_add();
153    elm_transit_object_add(trans, obj);
154
155    elm_transit_effect_resizing_add(trans, 100, 50, 300, 150);
156
157    elm_transit_duration_set(trans, 5.0);
158    elm_transit_go(trans);
159 }
160
161 static void
162 _transit_flip(void *data, Evas_Object *obj, void *event_info __UNUSED__)
163 {
164    Elm_Transit *trans;
165    Evas_Object *obj2 = data;
166
167    trans = elm_transit_add();
168    elm_transit_object_add(trans, obj);
169    elm_transit_object_add(trans, obj2);
170
171    elm_transit_effect_flip_add(trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_X, EINA_TRUE);
172
173    elm_transit_duration_set(trans, 5.0);
174    elm_transit_go(trans);
175 }
176
177 static void
178 _transit_zoom(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
179 {
180    Elm_Transit *trans;
181
182    trans = elm_transit_add();
183    elm_transit_object_add(trans, obj);
184
185    elm_transit_effect_zoom_add(trans, 1.0, 3.0);
186
187    elm_transit_duration_set(trans, 5.0);
188    elm_transit_go(trans);
189 }
190
191 static void
192 _transit_blend(void *data, Evas_Object *obj, void *event_info __UNUSED__)
193 {
194    Elm_Transit *trans;
195    Evas_Object *obj2 = data;
196
197    trans = elm_transit_add();
198    elm_transit_object_add(trans, obj);
199    elm_transit_object_add(trans, obj2);
200
201    elm_transit_effect_blend_add(trans);
202
203    elm_transit_duration_set(trans, 5.0);
204    elm_transit_go(trans);
205 }
206
207 static void
208 _transit_fade(void *data, Evas_Object *obj, void *event_info __UNUSED__)
209 {
210    Elm_Transit *trans;
211    Evas_Object *obj2 = data;
212
213    trans = elm_transit_add();
214    elm_transit_object_add(trans, obj);
215    elm_transit_object_add(trans, obj2);
216
217    elm_transit_effect_fade_add(trans);
218
219    elm_transit_duration_set(trans, 5.0);
220    elm_transit_go(trans);
221 }
222
223 static void
224 _transit_resizable_flip(void *data, Evas_Object *obj, void *event_info __UNUSED__)
225 {
226    Elm_Transit *trans;
227    Evas_Object *obj2 = data;
228
229    trans = elm_transit_add();
230    elm_transit_object_add(trans, obj);
231    elm_transit_object_add(trans, obj2);
232
233    elm_transit_effect_resizable_flip_add(trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE);
234
235    elm_transit_duration_set(trans, 5.0);
236    elm_transit_go(trans);
237 }
238
239 /* Translation, Rotation, Color, Wipe, ImagemAnimation Effect */
240 void
241 test_transit(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
242 {
243    Evas_Object *win, *bg, *bx, *bt, *ic;
244    char buf[PATH_MAX];
245
246    win = elm_win_add(NULL, "transit", ELM_WIN_BASIC);
247    elm_win_title_set(win, "Transit");
248    elm_win_autodel_set(win, EINA_TRUE);
249
250    bg = elm_bg_add(win);
251    elm_win_resize_object_add(win, bg);
252    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
253    evas_object_show(bg);
254
255    bx = elm_box_add(win);
256    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
257    elm_win_resize_object_add(win, bx);
258    evas_object_size_hint_min_set(bx, 318, 318);
259    evas_object_show(bx);
260
261    ic = elm_icon_add(win);
262    snprintf(buf, sizeof(buf), "%s/images/icon_11.png", elm_app_data_dir_get());
263    elm_icon_file_set(ic, buf, NULL);
264    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
265
266    bt = elm_button_add(win);
267    elm_object_text_set(bt, "ImageAnimation Effect");
268    elm_object_part_content_set(bt, "icon", ic);
269    elm_box_pack_end(bx, bt);
270    evas_object_show(bt);
271    evas_object_show(ic);
272    evas_object_smart_callback_add(bt, "clicked", _transit_image_animation, ic);
273
274    bt = elm_button_add(win);
275    elm_object_text_set(bt, "Color, Rotation and Translation");
276    elm_box_pack_end(bx, bt);
277    evas_object_show(bt);
278    evas_object_smart_callback_add(bt, "clicked",
279                                   _transit_rotation_translation_color, NULL);
280
281    bt = elm_button_add(win);
282    elm_object_text_set(bt, "Wipe Effect");
283    elm_box_pack_end(bx, bt);
284    evas_object_show(bt);
285    evas_object_smart_callback_add(bt, "clicked", _transit_wipe, NULL);
286
287    evas_object_show(win);
288 }
289
290 /* Resizing Effect */
291 void
292 test_transit2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
293 {
294    Evas_Object *win, *bg, *bt;
295
296    win = elm_win_add(NULL, "transit2", ELM_WIN_BASIC);
297    elm_win_title_set(win, "Transit 2");
298    elm_win_autodel_set(win, EINA_TRUE);
299
300    bg = elm_bg_add(win);
301    elm_win_resize_object_add(win, bg);
302    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
303    evas_object_show(bg);
304
305    bt = elm_button_add(win);
306    elm_object_text_set(bt, "Resizing Effect");
307    evas_object_show(bt);
308    evas_object_move(bt, 50, 100);
309    evas_object_resize(bt, 100, 50);
310    evas_object_smart_callback_add(bt, "clicked", _transit_resizing, NULL);
311
312    evas_object_resize(win, 400, 400);
313    evas_object_show(win);
314 }
315
316 /* Flip Effect */
317 void
318 test_transit3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
319 {
320    Evas_Object *win, *bg, *bt, *bt2;
321
322    win = elm_win_add(NULL, "transit3", ELM_WIN_BASIC);
323    elm_win_title_set(win, "Transit 3");
324    elm_win_autodel_set(win, EINA_TRUE);
325
326    bg = elm_bg_add(win);
327    elm_win_resize_object_add(win, bg);
328    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
329    evas_object_show(bg);
330
331    bt = elm_button_add(win);
332    elm_object_text_set(bt, "Front Button - Flip Effect");
333    evas_object_show(bt);
334    evas_object_move(bt, 50, 50);
335    evas_object_resize(bt, 200, 200);
336
337    bt2 = elm_button_add(win);
338    elm_object_text_set(bt2, "Back Button - Flip Effect");
339    evas_object_move(bt2, 50, 50);
340    evas_object_resize(bt2, 200, 200);
341
342    evas_object_resize(win, 300, 300);
343    evas_object_show(win);
344
345    evas_object_smart_callback_add(bt, "clicked", _transit_flip, bt2);
346    evas_object_smart_callback_add(bt2, "clicked", _transit_flip, bt);
347 }
348
349 /* Zoom Effect */
350 void
351 test_transit4(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
352 {
353    Evas_Object *win, *bg, *bt;
354
355    win = elm_win_add(NULL, "transit4", ELM_WIN_BASIC);
356    elm_win_title_set(win, "Transit 4");
357    elm_win_autodel_set(win, EINA_TRUE);
358
359    bg = elm_bg_add(win);
360    elm_win_resize_object_add(win, bg);
361    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
362    evas_object_show(bg);
363
364    bt = elm_button_add(win);
365    elm_object_text_set(bt, "Zoom Effect");
366    evas_object_resize(bt, 100, 50);
367    evas_object_move(bt, 100, 125);
368    evas_object_show(bt);
369
370    evas_object_smart_callback_add(bt, "clicked", _transit_zoom, NULL);
371
372    evas_object_resize(win, 300, 300);
373    evas_object_show(win);
374 }
375
376 /* Blend Effect */
377 void
378 test_transit5(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
379 {
380    Evas_Object *win, *bg, *bt, *bt2, *ic;
381    char buf[PATH_MAX];
382
383    win = elm_win_add(NULL, "transit5", ELM_WIN_BASIC);
384    elm_win_title_set(win, "Transit 5");
385    elm_win_autodel_set(win, EINA_TRUE);
386
387    bg = elm_bg_add(win);
388    elm_win_resize_object_add(win, bg);
389    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
390    evas_object_show(bg);
391
392    ic = elm_icon_add(win);
393    snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get());
394    elm_icon_file_set(ic, buf, NULL);
395    evas_object_size_hint_max_set(ic, 50, 50);
396
397    bt = elm_button_add(win);
398    elm_object_part_content_set(bt, "icon", ic);
399    elm_object_text_set(bt, "Before Button - Blend Effect");
400    evas_object_move(bt, 25, 125);
401    evas_object_resize(bt, 250, 50);
402    evas_object_show(bt);
403
404    ic = elm_icon_add(win);
405    snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
406    elm_icon_file_set(ic, buf, NULL);
407    evas_object_size_hint_max_set(ic, 50, 50);
408
409    bt2 = elm_button_add(win);
410    elm_object_part_content_set(bt2, "icon", ic);
411    elm_object_text_set(bt2, "After Button - Blend Effect");
412    evas_object_move(bt2, 25, 125);
413    evas_object_resize(bt2, 250, 50);
414
415    evas_object_resize(win, 300, 300);
416    evas_object_show(win);
417
418    evas_object_smart_callback_add(bt, "clicked", _transit_blend, bt2);
419    evas_object_smart_callback_add(bt2, "clicked", _transit_blend, bt);
420 }
421
422 /* Fade Effect */
423 void
424 test_transit6(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
425 {
426    Evas_Object *win, *bg, *bt, *bt2, *ic;
427    char buf[PATH_MAX];
428
429    win = elm_win_add(NULL, "transit6", ELM_WIN_BASIC);
430    elm_win_title_set(win, "Transit 6");
431    elm_win_autodel_set(win, EINA_TRUE);
432
433    bg = elm_bg_add(win);
434    elm_win_resize_object_add(win, bg);
435    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
436    evas_object_show(bg);
437
438    ic = elm_icon_add(win);
439    snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get());
440    elm_icon_file_set(ic, buf, NULL);
441    evas_object_size_hint_max_set(ic, 50, 50);
442
443    bt = elm_button_add(win);
444    elm_object_part_content_set(bt, "icon", ic);
445    elm_object_text_set(bt, "Before Button - Fade Effect");
446    evas_object_move(bt, 25, 125);
447    evas_object_resize(bt, 250, 50);
448    evas_object_show(bt);
449
450    ic = elm_icon_add(win);
451    snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
452    elm_icon_file_set(ic, buf, NULL);
453    evas_object_size_hint_max_set(ic, 50, 50);
454
455    bt2 = elm_button_add(win);
456    elm_object_part_content_set(bt2, "icon", ic);
457    elm_object_text_set(bt2, "After Button - Fade Effect");
458    evas_object_move(bt2, 25, 125);
459    evas_object_resize(bt2, 250, 50);
460
461    evas_object_resize(win, 300, 300);
462    evas_object_show(win);
463
464    evas_object_smart_callback_add(bt, "clicked", _transit_fade, bt2);
465    evas_object_smart_callback_add(bt2, "clicked", _transit_fade, bt);
466 }
467
468 /* Resizable Flip Effect */
469 void
470 test_transit7(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
471 {
472    Evas_Object *win, *bg, *bt, *bt2;
473
474    win = elm_win_add(NULL, "transit7", ELM_WIN_BASIC);
475    elm_win_title_set(win, "Transit 7");
476    elm_win_autodel_set(win, EINA_TRUE);
477
478    bg = elm_bg_add(win);
479    elm_win_resize_object_add(win, bg);
480    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
481    evas_object_show(bg);
482
483    bt = elm_button_add(win);
484    elm_object_text_set(bt, "Front Button - Resizable Flip Effect");
485    evas_object_show(bt);
486    evas_object_move(bt, 50, 100);
487    evas_object_resize(bt, 250, 30);
488
489    bt2 = elm_button_add(win);
490    elm_object_text_set(bt2, "Back Button - Resizable Flip Effect");
491    evas_object_move(bt2, 50, 100);
492    evas_object_resize(bt2, 300, 200);
493
494    evas_object_resize(win, 400, 400);
495    evas_object_show(win);
496
497    evas_object_smart_callback_add(bt, "clicked", _transit_resizable_flip, bt2);
498    evas_object_smart_callback_add(bt2, "clicked", _transit_resizable_flip, bt);
499 }
500
501 /* Custom Effect */
502 void
503 test_transit8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
504 {
505    Evas_Object *win, *bg, *bt;
506    Elm_Transit *trans;
507    Elm_Transit_Effect *effect_context;
508
509    win = elm_win_add(NULL, "transit8", ELM_WIN_BASIC);
510    elm_win_title_set(win, "Transit 8");
511    elm_win_autodel_set(win, EINA_TRUE);
512
513    bg = elm_bg_add(win);
514    elm_win_resize_object_add(win, bg);
515    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
516    evas_object_show(bg);
517
518    bt = elm_button_add(win);
519    elm_object_text_set(bt, "Button - Custom Effect");
520    evas_object_show(bt);
521    evas_object_move(bt, 50, 50);
522    evas_object_resize(bt, 150, 150);
523
524    /* Adding Transit */
525    trans = elm_transit_add();
526    elm_transit_auto_reverse_set(trans, EINA_TRUE);
527    elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_DECELERATE);
528    effect_context = _custom_context_new(150, 150, 50, 50);
529    elm_transit_object_add(trans, bt);
530    elm_transit_effect_add(trans,
531                           _custom_op, effect_context,
532                           _custom_context_free);
533    elm_transit_duration_set(trans, 5.0);
534    elm_transit_repeat_times_set(trans, -1);
535    elm_transit_go(trans);
536
537    evas_object_resize(win, 400, 400);
538    evas_object_show(win);
539 }
540
541 /* Chain Transit Effect */
542 void
543 test_transit9(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
544 {
545    Evas_Object *win, *bg, *bt, *bt2, *bt3, *bt4;
546    Elm_Transit *trans, *trans2, *trans3, *trans4;
547
548    win = elm_win_add(NULL, "transit9", ELM_WIN_BASIC);
549    elm_win_title_set(win, "Transit 9");
550    elm_win_autodel_set(win, EINA_TRUE);
551
552    bg = elm_bg_add(win);
553    elm_win_resize_object_add(win, bg);
554    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
555    evas_object_show(bg);
556
557    bt = elm_button_add(win);
558    elm_object_text_set(bt, "Chain 1");
559    evas_object_resize(bt, 100, 100);
560    evas_object_move(bt, 0, 0);
561    evas_object_show(bt);
562
563    bt2 = elm_button_add(win);
564    elm_object_text_set(bt2, "Chain 2");
565    evas_object_resize(bt2, 100, 100);
566    evas_object_move(bt2, 300, 0);
567    evas_object_show(bt2);
568
569    bt3 = elm_button_add(win);
570    elm_object_text_set(bt3, "Chain 3");
571    evas_object_resize(bt3, 100, 100);
572    evas_object_move(bt3, 300, 300);
573    evas_object_show(bt3);
574
575    bt4 = elm_button_add(win);
576    elm_object_text_set(bt4, "Chain 4");
577    evas_object_resize(bt4, 100, 100);
578    evas_object_move(bt4, 0, 300);
579    evas_object_show(bt4);
580
581    trans = elm_transit_add();
582    elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
583    elm_transit_effect_translation_add(trans, 0, 0, 300, 0);
584    elm_transit_object_add(trans, bt);
585    elm_transit_duration_set(trans, 1);
586    elm_transit_objects_final_state_keep_set(trans, EINA_TRUE);
587    elm_transit_go(trans);
588
589    trans2 = elm_transit_add();
590    elm_transit_tween_mode_set(trans2, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
591    elm_transit_effect_translation_add(trans2, 0, 0, 0, 300);
592    elm_transit_object_add(trans2, bt2);
593    elm_transit_duration_set(trans2, 1);
594    elm_transit_objects_final_state_keep_set(trans2, EINA_TRUE);
595    elm_transit_chain_transit_add(trans, trans2);
596
597    trans3 = elm_transit_add();
598    elm_transit_tween_mode_set(trans3, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
599    elm_transit_effect_translation_add(trans3, 0, 0, -300, 0);
600    elm_transit_object_add(trans3, bt3);
601    elm_transit_duration_set(trans3, 1);
602    elm_transit_objects_final_state_keep_set(trans3, EINA_TRUE);
603    elm_transit_chain_transit_add(trans2, trans3);
604
605    trans4 = elm_transit_add();
606    elm_transit_tween_mode_set(trans4, ELM_TRANSIT_TWEEN_MODE_ACCELERATE);
607    elm_transit_effect_translation_add(trans4, 0, 0, 0, -300);
608    elm_transit_object_add(trans4, bt4);
609    elm_transit_duration_set(trans4, 1);
610    elm_transit_objects_final_state_keep_set(trans4, EINA_TRUE);
611    elm_transit_chain_transit_add(trans3, trans4);
612
613    evas_object_resize(win, 400, 400);
614    evas_object_show(win);
615 }
616 <<<<<<< HEAD
617
618
619 =======
620 >>>>>>> remotes/origin/upstream
621 #endif