summaryrefslogtreecommitdiff
path: root/main/src/view/ivug-slider.h
blob: bff73c2d44ad5375fddb925f49197823e03ca525 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
 * Copyright 2012  Samsung Electronics Co., Ltd
 *
 * Licensed under the Flora License, Version 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *	  http://www.tizenopensource.org/license
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


#ifndef __IVUG_SLIDER_H__
#define __IVUG_SLIDER_H__

#include "ivug-data.h"
#include "ivug-slider-item.h"

typedef enum {
	SLIDE_SHOW_STOPPED = 0x00,
	SLIDE_SHOW_RUNNING,
	SLIDE_SHOW_PAUSE,
} slideshow_state_t;


//define callback function.
typedef void (*ivug_slider_shift_cb)(Media_Data *cur_sd, void* user_data);
typedef void (*ivug_slider_delete_cb)(Media_Data *cur_sd, void* user_data);
typedef void (*ivug_slider_slide_show_finish_cb)(Media_Data *cur_sd, void* user_data);

/*
	Slider signal list.

	"slider,clicked" : when click once
	"slider,clicked,double" : when double click
	"slider,longpressed" : when long pressed on slider
	"slider,clicked,icon" : video icon clicked.
	"slider,item,changed"

	"slider,item,state,changed"
	"slider,item,deleted"
	"slider,slideshow,finished" : slide show ended cause last slide
	"slider,slideshow,interrupted" : slide show stopped by user
*/

Evas_Object*
ivug_slider_add(Evas_Object* parent);

Eina_Bool
ivug_slider_set_slide_list(Evas_Object* obj, Media_List *mList, Eina_List *new_list, Media_Item *current, int index, int total_count);

Media_Data *
ivug_slider_create_media_list(Evas_Object* obj, ivug_parameter* ivug_param);

void
ivug_slider_delete_current_slide(Evas_Object* obj);

void ivug_slider_restore_window_list(Evas_Object *obj);

Slide_Item *
ivug_slider_get_current_slide_item(Evas_Object* obj);

/* Will be deprecated */
int
ivug_slider_get_current_slide_count(Evas_Object* obj);

int
ivug_slider_get_total_slide_count(Evas_Object* obj);

/* Will be deprecated*/
char*
ivug_slider_get_next_exist_filepath(Evas_Object* obj);

// Slide Show
void
ivug_slider_pause_slide_show(Evas_Object* obj);

void
ivug_slider_resume_slide_show(Evas_Object* obj);

/* if bSlideFirst == EINA_TRUE, slide and then wait interval time
   if bSlideFirst == EINA_FALSE, wait interval time and then slide */
void
ivug_slider_start_slide_show(Evas_Object* obj, Eina_Bool bSlideFirst);

void
ivug_slider_stop_slide_show(Evas_Object* obj);


#endif