Tizen 2.0 Release
[apps/core/preloaded/ug-image-viewer-efl.git] / main / src / include / ivug-setas-view.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 __IVUG_SETAS_VIEW_H__
18 #define __IVUG_SETAS_VIEW_H__
19
20 #include "ivug-common.h"
21
22 typedef enum {
23         NOTI_SUCCESS,
24         NOTI_FAIL,
25 } TEXT_POPUP_TYPE;
26
27 typedef enum {
28         IVUG_CTRLBAR_SET_SCREEN_HOME,
29         IVUG_CTRLBAR_SET_SCREEN_LOCK,
30         IVUG_CTRLBAR_SET_SCREEN_BOTH,
31         IVUG_CTRLBAR_SET_SCREEN_UNDEFINED,              // Show select popup when click ok button.
32         IVUG_CTRLBAR_SET_SCREEN_CALLERID,
33         IVUG_CTRLBAR_SET_SCREEN_VIDEO_CALL_ID,
34         IVUG_CTRLBAR_SET_SCREEN_MAX
35 } ivug_set_screen_type;
36
37 typedef enum {
38         IVUG_SETAS_NORMAL,      // launched from mainview
39         IVUG_SETAS_UG,          // ug mode
40         IVUG_SETAS_APPSVC,      // appsvc mode
41         IVUG_SETAS_CROP         // crop mode
42 } ivug_setas_mode;
43
44 typedef enum {
45         SETAS_ERROR_TYPE_NONE,
46         SETAS_ERROR_TYPE_UNKNOWN_FORMAT,
47         SETAS_ERROR_TYPE_PERMISSION_DENIED,
48         SETAS_ERROR_TYPE_INVALID_FILE,
49         SETAS_ERROR_TYPE_GENERAL,
50 } SetAs_Error;
51
52 typedef struct {
53         Evas_Object *ly_effect;         // Layout for transition effect
54
55         Evas_Object *content;           // content
56         Evas_Object *genlist_popup;
57
58         char *filename;
59
60         ivug_setas_mode Mode;
61         ivug_set_screen_type Type;
62
63         bool bInitFace;
64 } Ivug_SetAsView;
65
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69
70 Ivug_SetAsView *
71 ivug_setas_view_callerid_ug_create(Evas_Object *parent, const char* filepath, ivug_setas_mode mode, int output_width, int output_height);
72
73 Ivug_SetAsView *
74 ivug_setas_view_video_call_id_ug_create(Evas_Object *parent, const char* filepath, ivug_setas_mode mode, int output_width, int output_height);
75
76 void
77 ivug_setas_view_destroy(Ivug_SetAsView *pSetAsView);
78
79 Evas_Object *
80 ivug_setas_view_object_get(Ivug_SetAsView *pSetAsView);
81
82 // Called by main_view
83 Ivug_SetAsView *
84 ivug_setas_view_screen_create(Evas_Object *parent, ivug_setas_mode mode, ivug_set_screen_type screen_type);
85
86 void ivug_setas_view_create_menu(Ivug_SetAsView *pSetAsView, Evas_Object *navi_bar, ivug_set_screen_type type);
87
88 void ivug_setas_view_load_file(Ivug_SetAsView *pSetAsView, const char* filepath, ivug_set_screen_type type);
89
90 #ifdef __cplusplus
91 }
92 #endif
93
94
95 #endif //__IVUG_SETAS_VIEW_H__