tizen 2.4 release
[apps/home/attach-panel.git] / include / scroller.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __ATTACH_PANEL_SCROLLER_H__
18 #define __ATTACH_PANEL_SCROLLER_H__
19
20 #include <Elementary.h>
21
22 typedef enum {
23         SCROLLER_EVENT_TYPE_INVALID = 0,
24         SCROLLER_EVENT_TYPE_SCROLL,
25         SCROLLER_EVENT_TYPE_MAX,
26 } scroller_event_type_e;
27
28 extern Evas_Object *_scroller_create(Evas_Object *ui_manager, attach_panel_h attach_panel);
29 extern void _scroller_destroy(Evas_Object *scroller);
30
31 extern void _scroller_append_page(Evas_Object *scroller, Evas_Object *page);
32 extern void _scroller_remove_page(Evas_Object *scroller, Evas_Object *page);
33
34 extern void _scroller_bring_in_page(Evas_Object *scroller, Evas_Object *page, int *cur_page_no);
35
36 extern int _scroller_is_scrolling(Evas_Object *scroller);
37 extern void _scroller_resize(Evas_Object *scroller, int width, int height);
38
39 extern int _scroller_register_event_cb(Evas_Object *scroller, int event_type, void (*event_cb)(Evas_Object *scroller, int event_type, void *event_info, void *data), void *data);
40 extern int _scroller_unregister_event_cb(Evas_Object *scroller, int event_type, void (*event_cb)(Evas_Object *scroller, int event_type, void *event_info, void *data));
41
42 #endif /* __ATTACH_PANEL_SCROLLER_H__ */