38cf3e731ea315a78b2761d782afaa55f618879c
[apps/core/preloaded/ug-camera-efl.git] / include / cam_property.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
18 #ifndef __DEF_CAM_PROPERTY_H_
19 #define __DEF_CAM_PROPERTY_H_
20
21 #include <glib.h>
22 /*#include <mmf/mm_camcorder.h>*/
23 #include <camera.h>
24 #include <recorder.h>
25 #include <Evas.h>
26 #include <Eina.h>
27
28
29 #define CAM_LCD_WVGA
30
31 #define PI (4 * atan(1))
32 #define NEW_GUI
33 /* Macros
34  */
35 #define HIWORD(x)                                                       ((x) >> 16)
36 #define LOWORD(y)                                                       (((y) << 16) >> 16)
37 #define MAKE_DWORD(x, y)                                        ((x) << 16 | (y))
38
39 /* Resolution
40  */
41 #define PREVIEW_W                                                       (640)
42 #define PREVIEW_WIDE_W                                          (800)
43 #define PREVIEW_H                                                       (480)
44
45 #define CAM_RESOLUTION(w, h)                            MAKE_DWORD(w, h)
46 #define CAM_RESOLUTION_W(r)                                     HIWORD(r)
47 #define CAM_RESOLUTION_H(r)                                     LOWORD(r)
48
49 #define CAM_RESOLUTION_3264x2448 /*8M*/                                 CAM_RESOLUTION(3264, 2448)
50 #define CAM_RESOLUTION_3264x2176 /*7M_WIDE*/                    CAM_RESOLUTION(3264, 2176)
51 #define CAM_RESOLUTION_3264x1960 /*6M_WIDE*/                    CAM_RESOLUTION(3264, 1960)
52 #define CAM_RESOLUTION_3264x1836 /*6M_WIDE*/                    CAM_RESOLUTION(3264, 1836)
53 #define CAM_RESOLUTION_2800x1920 /*5M_WIDE*/                    CAM_RESOLUTION(2800, 1920)
54 #define CAM_RESOLUTION_2560x1920 /*5M*/                                 CAM_RESOLUTION(2560, 1920)
55 #define CAM_RESOLUTION_2560x1536 /*4M_WIDE*/                    CAM_RESOLUTION(2560, 1536)
56 #define CAM_RESOLUTION_2560x1440 /*3M_WIDE*/                    CAM_RESOLUTION(2560, 1440)
57 #define CAM_RESOLUTION_2048x1536 /*3M*/                                 CAM_RESOLUTION(2048, 1536)
58 #define CAM_RESOLUTION_2048x1152 /*2.4M*/                               CAM_RESOLUTION(2048, 1152)
59 #define CAM_RESOLUTION_1920x1080 /*2M_WIDE*/                    CAM_RESOLUTION(1920, 1080)
60 #define CAM_RESOLUTION_1600x1200 /*2M*/                                 CAM_RESOLUTION(1600, 1200)
61 #define CAM_RESOLUTION_1392x1392 /*2M*/                                 CAM_RESOLUTION(1392, 1392)
62 #define CAM_RESOLUTION_1280x720  /*0.9M*/                               CAM_RESOLUTION(1280, 720)
63 #define CAM_RESOLUTION_1280x960  /*1M*/                                 CAM_RESOLUTION(1280, 960)
64
65
66 #define CAM_RESOLUTION_FULLHD                   CAM_RESOLUTION(1920, 1080)
67 #define CAM_RESOLUTION_HD                               CAM_RESOLUTION(1280, 720)
68 #define CAM_RESOLUTION_SVGA                             CAM_RESOLUTION(800, 600)
69 #define CAM_RESOLUTION_WVGA                             CAM_RESOLUTION(800, 480)
70 #define CAM_RESOLUTION_WVGA2                    CAM_RESOLUTION(720, 480)
71 #define CAM_RESOLUTION_VGA                              CAM_RESOLUTION(640, 480)
72 #define CAM_RESOLUTION_WQVGA                    CAM_RESOLUTION(400, 240)
73 #define CAM_RESOLUTION_QVGA                             CAM_RESOLUTION(320, 240)
74 #define CAM_RESOLUTION_CIF                              CAM_RESOLUTION(352, 288)
75 #define CAM_RESOLUTION_QCIF                             CAM_RESOLUTION(176, 144)
76
77 /* resolution string for camera ug */
78 #define CAM_CAPTURE_RES_VGA                             "VGA"
79 #define CAM_RECORDING_RES_QCIF                  "QCIF"
80
81 #define MAX_CONTINUOUS_SHOT                     (20)
82 #define MAX_BEST_PHOTO                          (8)
83 #define CONTINUOUS_SHOT_INTERVAL        (150)
84
85 #define LONG_PRESS_TIME (0.50)
86
87 #define CAM_REC_NORMAL_MAX_SIZE (4*1024*1024)   /* kbyte */
88 #define CAM_REC_MMS_MAX_SIZE    (295)                   /* kbyte */
89
90 #define STILL_MINIMAL_SPACE             (100*1024)      /* byte */
91 #define REC_MMS_MIN_SPACE       (300*1024)      /* byte */
92
93 #define CAM_TIME_FORMAT "u:%02u:%02u"
94 #define CAM_TIME_FORMAT2 "02u:%02u"
95
96 #define CAM_TIME_ARGS(t) \
97         (uint) (t / (60*60)), \
98         (uint) ((t / 60) % 60), \
99         (uint) (t % 60)
100
101 #define CAM_TIME_ARGS2(t) \
102         (uint) ((t / 60) % 60), \
103         (uint) (t % 60)
104
105 #define REMOVE_TIMER(timer) \
106         if (timer != NULL) {\
107                 ecore_timer_del(timer); \
108                 timer = NULL; \
109         }
110
111 #define REMOVE_IDLER(idler) \
112         if (idler != NULL) {\
113                 ecore_idler_del(idler); \
114                 idler = NULL; \
115         }
116
117 #define DEL_EVAS_OBJECT(eo) \
118                 if (eo != NULL) {\
119                         evas_object_del(eo); \
120                         eo = NULL; \
121                 }
122 #define HIDE_EVAS_OBJECT(eo) \
123                 if (eo != NULL) {\
124                         evas_object_hide(eo); \
125                 }
126 #define SHOW_EVAS_OBJECT(eo) \
127                 if (eo != NULL) {\
128                         evas_object_show(eo); \
129                 }
130
131 #define SCALED_W(w)             (int)((double)w/MAIN_W*((struct appdata *)cam_appdata_get())->win_width)
132 #define SCALED_H(h)             (int)((double)h/MAIN_H*((struct appdata *)cam_appdata_get())->win_height)
133
134 /* set line byte */
135 #define LINEBYTES_BGR565(w)             (((w) * 2 + 3) >> 2 << 2)
136 #define LINEBYTES_YUV420(w)             (((w) + 3) >> 2 << 2)
137 #define LINEBYTES_YUV422(w)             (((w) * 2))
138 #define LINEBYTES_RGB888(w)             (((w) * 3))
139
140 #define CAMERA_APP_TIMEOUT                      (120.0) /* No input for 2 minite, Auto close camera app */
141 #define CAM_SETTING_POPUP_TIMEOUT       (10)
142 #ifndef ABS
143 #define ABS(x) ((x) < 0 ? -(x) : (x))
144 #endif
145
146 #ifndef CLAMP
147 #define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : (x)))
148 #endif
149
150 #ifndef MIN
151 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
152 #endif
153
154 #ifndef CAM_LCD_WVGA
155 #define FIT_TO_RESOLUTION(p1, p2)       (p1)
156 #else
157 #define FIT_TO_RESOLUTION(p1, p2)       (((p2) == -1) ? ((p1) * 2) : (p2))
158 #endif
159
160 #ifndef CAM_LCD_WVGA
161 #define FIT_TO_FONT_SIZE(s1, s2)        (s1)
162 #else
163 #define FIT_TO_FONT_SIZE(s1, s2)        (((s2) == -1) ? (s1) : (s2))
164 #endif
165
166 /* temporary code */
167 #ifndef YUV422_SIZE
168 #define YUV422_SIZE(width, height) ((width) * (height) *  2)
169 #endif                          /* YUV422_SIZE */
170
171 #ifndef YUV420_SIZE
172 #define YUV420_SIZE(width, height) ((width) * (height) * 3 / 2)
173 #endif                          /* YUV420_SIZE */
174
175 #define CAM_AUDIO_BITRATE_MMS           (12200)
176 #define CAM_AUDIO_BITRATE_NORMAL                (288000)
177
178 #define MODE_DEFAULT                    CAM_CAMERA_MODE
179 #define SHOTMODE_DEFAULT                CAM_SINGLE_MODE
180 #define RECMODE_DEFAULT                 CAM_RECORD_NORMAL
181 #define PG_MODE_DEFAULT                 CAM_SCENE_NONE
182 #define RESOLUTION_DEFAULT              CAM_RESOLUTION_VGA
183 #define REC_RESOLUTION_DEFAULT                  CAM_RESOLUTION_FULLHD
184 #define IMAGE_RESOLUTION_DEFAULT                CAM_RESOLUTION_3264x2448
185 #define SELF_REC_RESOLUTION_DEFAULT     CAM_RESOLUTION_HD
186 #define SELF_IMAGE_RESOLUTION_DEFAULT   CAM_RESOLUTION_1392x1392
187 #define WB_DEFAULT                              CAM_SETTINGS_WB_AWB
188 #define ISO_DEFAULT                     CAM_ISO_AUTO
189 #define AE_DEFAULT                              CAM_METERING_CENTER_WEIGHTED
190 #define EFFECT_DEFAULT                  CAM_SETTINGS_EFFECTS_NOR
191 #define AF_DEFAULT                              CAM_FOCUS_AUTO
192 #define AHS_DEFAULT                     CAM_AHS_OFF
193 #define WDR_DEFAULT                     CAM_WDR_OFF
194 #define FLASH_DEFAULT                   CAM_FLASH_AUTO
195 #define GUIDE_LINE_DEFAULT      FALSE
196 #define REC_FLASH_DEFAULT               CAM_FLASH_OFF
197 #define BRIGHTNESS_DEFAULT              4       /* should get from caps query */
198 #define TIMER_DEFAULT                   CAM_SETTINGS_TIMER_OFF
199 #define ZOOM_DEFAULT                    (0)
200 #define QUALITY_DEFAULT                 CAM_QUALITY_HIGH
201 #define FPS_DEFAULT                     (30)
202 #define FPS_SLOW                                (15)
203 #define IMAGE_COUNT_DEFAULT     (1)
204 #define AUDIOREC_DEFAULT                TRUE
205 #define STORAGE_DEFAULT                 CAM_STORAGE_INTERNAL
206 #define REC_SIZE_LIMIT_DEFAULT  CAM_REC_NORMAL_MAX_SIZE
207 #define SHUTTER_SOUND_DEFAULT   CAM_SETTINGS_SOUND_1
208 #define SOUND_DEFAULT                   TRUE
209 #define BURST_SHOT_DEFAULT              TRUE
210
211 #define POP_TIP_DEFAULT                 TRUE
212
213
214 #define REC_MAX_TIME_LIMITED    (60*60) /*  one hour */
215 #define DEFAULT_REC_FPS (1.0)
216 #define SLOW_MOTION_REC_FPS     (120)
217 #define FAST_MOTION_REC_FPS     (30)
218 #define SLOW_MOTION_PLAY_FPS    (0.25)
219 #define FAST_MOTION_PLAY_FPS    (4)
220 #define CAM_EPSINON (0.000001)
221
222 /*note: for focus edje zoom effect */
223 #define CAM_FOCUS_EDJE_ZOOM_EFFECT_START_RATE (1.0)
224 #define CAM_FOCUS_EDJE_ZOOM_EFFECT_END_RATE (1.5)
225 #define CAM_FOCUS_EDJE_ZOOM_EFFECT_DURATION (0.20)
226 /*note: for thumbnail effect*/
227 #define CAM_THUMBNAIL_ANTIMATION_EFFECT_DURATION (0.25)
228 /*note: for icons animation effect*/
229 #define CAM_ROTATE_ICONS_ANTIMATION_DURATION (0.35)
230
231 #define EDIT_SHORTCUTS_TIP_WIDTH (680)
232 #define EDIT_SHORTCUTS_TIP_HEIGHT (546)
233 #define EDIT_SHORTCUTS_TIPS_COORDINATE_PORTRAIT_Y (320)
234 #define EDIT_SHORTCUTS_TIPS_COORDINATE_PORTRAIT_X (20)
235
236 #define EDIT_SHORTCUTS_TIPS_COORDINATE_LANDSCAPE_X (320)
237 #define EDIT_SHORTCUTS_TIPS_COORDINATE_LANDSCAPE_Y (87)
238
239 typedef struct _cam_rectangle CamRectangle;
240
241 struct _cam_rectangle {
242         int x, y, width, height;
243 };
244
245 /* face */
246 typedef struct _cam_face_data CamFaceData;
247 struct _cam_face_data {
248         CamRectangle *pFaceRect;
249         int nFace;              /* face count. */
250         int faceOrient;         /* the face angle 1:0angle 2:90angle, 3:270 angle */
251 };
252
253 /* Eyes */
254 typedef struct _cam_eyes_data CamEyesData;
255 struct _cam_eyes_data {
256         CamRectangle *pEyesRect;
257         int *nClosedEyesFlag;   /* true is closed eyes otherwise false */
258         int nEyes;
259 };
260
261 typedef struct _cam_exe_args CamExeArgs;
262 struct _cam_exe_args {
263         int cam_mode;
264         int resolution;
265         int width;
266         int height;
267         int size_limit;
268         gboolean review;
269         gboolean allow_switch;
270         char *caller;
271 };
272
273 enum _CamAppProperty {
274         PROP_MODE,                                      // 0
275         PROP_SELF_PORTRAIT,
276         PROP_SHOT_MODE,
277         PROP_REC_MODE,
278         PROP_SCENE_MODE,
279         PROP_PHOTO_RESOLUTION,          // 5
280         PROP_VIDEO_RESOLUTION,
281         PROP_FPS,
282         PROP_BRIGHTNESS,
283         PROP_WB,
284         PROP_ISO,                                       // 10
285         PROP_AUTO_CONTRAST,
286         PROP_METERING,
287         PROP_EFFECT,
288         PROP_AF_MODE,
289         PROP_AHS,                                       // 15
290         PROP_WDR,
291         PROP_FLASH,
292         PROP_TIMER,
293         PROP_IMAGE_QUALITY,
294         PROP_VIDEO_QUALITY,                     // 20
295         PROP_AUDIO_REC,
296         PROP_AUDIO_QUALITY,
297         PROP_BATTERY_LEVEL,
298         PROP_BATTERY_CHARG,
299         PROP_GPS_LEVEL,                         // 25
300         PROP_ZOOM,
301         PROP_STORAGE,
302         PROP_GUIDELINE,
303         PROP_GPS,
304         PROP_REVIEW,                            // 30
305         PROP_IMAGE_COUNT,
306         PROP_SHUTTER_SOUND,
307         PROP_SIZE_LIMIT,
308         PROP_SIZE_LIMIT_TYPE,
309         PROP_REC_TIME,                          // 35
310         PROP_REC_FILE_SIZE,
311         PROP_OUTDOOR_VISIBILITY,
312         PROP_VOLUME_KEY,
313         PROP_SAVE_AS_FLIP,
314         PROP_BURST_SHOT,                        // 40
315
316         PROP_NUMS
317 };
318
319 #define PROP_MODE_NAME                          "mode"
320 #define PROP_SELF_PORTRAIT_NAME         "self_portrait"
321 #define PROP_SCENE_MODE_NAME            "scene_mode"
322 #define PROP_PHOTO_RESOLUTION_NAME                      "photo_resolution"
323 #define PROP_VIDEO_RESOLUTION_NAME                      "video_resolution"
324 #define PROP_SELF_PHOTO_RESOLUTION_NAME         "self_photo_resolution"
325 #define PROP_SELF_VIDEO_RESOLUTION_NAME         "self_video_resolution"
326 #define PROP_WB_NAME                            "wb"
327 #define PROP_ISO_NAME                           "iso"
328 #define PROP_AUTO_CONTRAST_NAME         "auto_contrast"
329 #define PROP_METERING_NAME                      "metering"
330 #define PROP_AF_NAME                            "af_mode"
331 #define PROP_AHS_NAME                           "ahs"
332 #define PROP_WDR_NAME                           "wdr"
333 #define PROP_FLASH_NAME                         "flash"
334 #define PROP_STORAGE_NAME                       "storage"
335 #define PROP_GUIDELINE_NAME                     "guideline"
336 #define PROP_GPS_NAME                           "gps"
337 #define PROP_REVIEW_NAME                        "review"
338 #define PROP_VOLUME_KEY_NAME            "volume_key"
339 #define PROP_BURST_SHOT_NAME            "burst_shot"
340
341 #define PROP_TOOLBAR_0_TYPE_NAME        "toolbar_0"
342 #define PROP_TOOLBAR_1_TYPE_NAME        "toolbar_1"
343 #define PROP_TOOLBAR_2_TYPE_NAME        "toolbar_2"
344 #define PROP_TOOLBAR_3_TYPE_NAME        "toolbar_3"
345 #define PROP_TOOLBAR_4_TYPE_NAME        "toolbar_4"
346
347 /*NOTE: edit shortcuts*/
348 #define PROP_SHOW_POP_TIP       "pop_tip"
349 #define PROP_SHORTCUTS_INIT_PART_INDEX  "init_part_index"
350
351 #define PROP_SHORTCUTS_PART_INDEX_0     "part_index_0"
352 #define PROP_SHORTCUTS_PART_INDEX_1     "part_index_1"
353 #define PROP_SHORTCUTS_PART_INDEX_2     "part_index_2"
354 #define PROP_SHORTCUTS_PART_INDEX_3     "part_index_3"
355
356 #define PROP_SHORTCUTS_PART_INDEX_4     "part_index_4"
357 #define PROP_SHORTCUTS_PART_INDEX_5     "part_index_5"
358 #define PROP_SHORTCUTS_PART_INDEX_6     "part_index_6"
359 #define PROP_SHORTCUTS_PART_INDEX_7     "part_index_7"
360
361 #define PROP_SHORTCUTS_PART_INDEX_8     "part_index_8"
362 #define PROP_SHORTCUTS_PART_INDEX_9     "part_index_9"
363 #define PROP_SHORTCUTS_PART_INDEX_10    "part_index_10"
364 #define PROP_SHORTCUTS_PART_INDEX_11    "part_index_11"
365
366 #define PROP_SHORTCUTS_PART_INDEX_12    "part_index_12"
367 #define PROP_SHORTCUTS_PART_INDEX_13    "part_index_13"
368 #define PROP_SHORTCUTS_PART_INDEX_14    "part_index_14"
369 #define PROP_SHORTCUTS_PART_INDEX_15    "part_index_15"
370
371 #define PROP_SHORTCUTS_PART_INDEX_16    "part_index_16"
372 #define PROP_SHORTCUTS_PART_INDEX_17    "part_index_17"
373 #define PROP_SHORTCUTS_PART_INDEX_18    "part_index_18"
374 #define PROP_SHORTCUTS_PART_INDEX_19    "part_index_19"
375
376
377 #define STR_MOVE_PREV "move,prev"
378 #define STR_MOVE_NEXT "move,next"
379 #define STR_ANI_RETURN "ani,return"
380
381
382 typedef enum _CamDeviceType {
383         CAM_DEVICE_MEGA = CAMERA_DEVICE_CAMERA0,
384         CAM_DEVICE_VGA = CAMERA_DEVICE_CAMERA1,
385 } CamDeviceType;
386
387 typedef enum _CamLaunchingMode {
388         CAM_LAUNCHING_MODE_NORMAL = 0,
389         CAM_LAUNCHING_MODE_EXTERNAL,
390         CAM_LAUNCHING_MODE_NUMS,
391 } CamLaunchingMode;
392
393 #define CAMCORDER_MODE_IMAGE 1
394 #define CAMCORDER_MODE_VIDEO 2
395 typedef enum _CamMode {
396         CAM_CAMERA_MODE = CAMCORDER_MODE_IMAGE,
397         CAM_CAMCORDER_MODE = CAMCORDER_MODE_VIDEO,
398         CAM_MODE_NUMS = CAM_CAMCORDER_MODE
399 } CamMode;
400
401 typedef enum __CAM_MENU_ITEM{
402         CAM_MENU_EMPTY = -1,
403         CAM_MENU_SHORTCUTS = 0,
404         CAM_MENU_VOLUME_KEY,
405         CAM_MENU_BURST_SHOT_MODE,
406         CAM_MENU_SELF_PORTRAIT,
407         CAM_MENU_FLASH,
408         CAM_MENU_SHOOTING_MODE,
409         CAM_MENU_RECORDING_MODE,
410         CAM_MENU_SCENE_MODE,
411         CAM_MENU_EXPLOSURE_VALUE,
412         CAM_MENU_FOCUS_MODE,
413         CAM_MENU_TIMER,
414         CAM_MENU_EFFECTS,
415         CAM_MENU_PHOTO_RESOLUTION,
416         CAM_MENU_VIDEO_RESOLUTION,
417         CAM_MENU_WHITE_BALANCE,
418         CAM_MENU_ISO,
419         CAM_MENU_METERING,
420         CAM_MENU_ANTI_SHAKE,
421         CAM_MENU_OUTDOOR_VISIBILITY,
422         CAM_MENU_AUTO_CONTRAST,
423         CAM_MENU_GUIDELINES,
424         CAM_MENU_CAPTURE_VOICE,
425         CAM_MENU_GPS_TAG,
426         CAM_MENU_SAVE_AS_FLIP,
427         CAM_MENU_STORAGE,
428         CAM_MENU_RESET,
429         CAM_MENU_SCENE_AUTO, /* scene */
430         CAM_MENU_SCENE_PORTRAIT,
431         CAM_MENU_SCENE_LANDSCAPE,
432         CAM_MENU_SCENE_NIGHT,
433         CAM_MENU_SCENE_SPORTS,
434         CAM_MENU_SCENE_PARTY,
435         CAM_MENU_SCENE_BEACHSNOW,
436         CAM_MENU_SCENE_SUNSET,
437         CAM_MENU_SCENE_DUSKDAWN,
438         CAM_MENU_SCENE_FALL,
439         CAM_MENU_SCENE_FIREWORK,
440         CAM_MENU_SCENE_TEXT,
441         CAM_MENU_SCENE_CANDLELIGHT,
442         CAM_MENU_SCENE_BACKLIGHT,
443         CAM_MENU_SCENE_SHOW_WINDOW,
444         CAM_MENU_SHOOTING_SINGLE,       /*shooting mode*/
445         CAM_MENU_SHOOTING_SELF_SINGLE,
446         CAM_MENU_VIDEO_RESOLUTION_FULLHD, /* video resolution */
447         CAM_MENU_VIDEO_RESOLUTION_HD,
448         CAM_MENU_VIDEO_RESOLUTION_WVGA,
449         CAM_MENU_VIDEO_RESOLUTION_VGA,
450         CAM_MENU_VIDEO_RESOLUTION_QVGA,
451         CAM_MENU_VIDEO_RESOLUTION_QCIF,
452         CAM_MENU_PHOTO_RESOLUTION_3264x2448, /* photo resolution */
453         CAM_MENU_PHOTO_RESOLUTION_3264x1960,
454         CAM_MENU_PHOTO_RESOLUTION_3264x1836,
455         CAM_MENU_PHOTO_RESOLUTION_2800x1920,
456         CAM_MENU_PHOTO_RESOLUTION_2560x1920,
457         CAM_MENU_PHOTO_RESOLUTION_2560x1536,
458         CAM_MENU_PHOTO_RESOLUTION_2560x1440,
459         CAM_MENU_PHOTO_RESOLUTION_2048x1536,
460         CAM_MENU_PHOTO_RESOLUTION_2048x1152,
461         CAM_MENU_PHOTO_RESOLUTION_1920x1080,
462         CAM_MENU_PHOTO_RESOLUTION_1600x1200,
463         CAM_MENU_PHOTO_RESOLUTION_1392x1392,
464         CAM_MENU_PHOTO_RESOLUTION_1280x960,
465         CAM_MENU_PHOTO_RESOLUTION_1280x720,
466         CAM_MENU_PHOTO_RESOLUTION_640x480,
467         CAM_MENU_WB_AWB,                /* WB */
468         CAM_MENU_WB_INCANDESCENT,
469         CAM_MENU_WB_FLUORESCENT,
470         CAM_MENU_WB_DAYLIGHT,
471         CAM_MENU_WB_CLOUDY,
472         CAM_MENU_WB_SHADE,
473         CAM_MENU_WB_HORIZON,
474         CAM_MENU_WB_FLASH,
475         CAM_MENU_WB_CUSTOM,
476         CAM_MENU_EFFECT_NONE,
477         CAM_MENU_EFFECT_NEGATIVE,
478         CAM_MENU_EFFECT_BLACKANDWHITE,
479         CAM_MENU_EFFECT_SEPIA,
480         CAM_MENU_FOCUS_AUTO, /* Focus mode */
481         CAM_MENU_FOCUS_MACRO,
482         CAM_MENU_FOCUS_FACE_DETECTION,
483         CAM_MENU_RECORDING_MODE_NORMAL, /* Recording mode */
484         CAM_MENU_RECORDING_MODE_LIMIT,
485         CAM_MENU_RECORDING_MODE_SLOW,
486         CAM_MENU_RECORDING_MODE_FAST,
487         CAM_MENU_RECORDING_MODE_SELF_NORMAL,
488         CAM_MENU_RECORDING_MODE_SELF_LIMIT,
489         CAM_MENU_FLASH_OFF, /* Flash */
490         CAM_MENU_FLASH_ON,
491         CAM_MENU_FLASH_AUTO,
492         CAM_MENU_METERING_MATRIX, /* Metering */
493         CAM_MENU_METERING_CENTER_WEIGHTED,
494         CAM_MENU_METERING_SPOT,
495         CAM_MENU_ISO_AUTO, /* ISO */
496         CAM_MENU_ISO_50,
497         CAM_MENU_ISO_100,
498         CAM_MENU_ISO_200,
499         CAM_MENU_ISO_400,
500         CAM_MENU_ISO_80O,
501         CAM_MENU_ISO_1600,
502         CAM_MENU_ISO_320O,
503         CAM_MENU_TIMER_OFF, /*TIMER*/
504         CAM_MENU_TIMER_2SEC,
505         CAM_MENU_TIMER_5SEC,
506         CAM_MENU_TIMER_10SEC,
507         CAM_MENU_STORAGE_PHONE,
508         CAM_MENU_STORAGE_MMC,
509         CAM_MENU_VOLUME_KEY_ZOOM,
510         CAM_MENU_VOLUME_KEY_SHUTTER,
511         CAM_MENU_MAX_NUMS,
512 }CAM_MENU_ITEM;
513
514 typedef enum _CamStorage {
515         CAM_STORAGE_INTERNAL = 0,
516         CAM_STORAGE_EXTERNAL,
517         CAM_STORAGE_DCF,
518         CAM_STORAGE_NUM,
519 } CamStorage;
520
521 typedef enum _CamToolbarButton {
522         CAM_TOOLBAR_BUTTON_MODE,
523         CAM_TOOLBAR_BUTTON_SHOT,
524         CAM_TOOLBAR_BUTTON_RECORD,
525         CAM_TOOLBAR_BUTTON_SCENE,
526         CAM_TOOLBAR_BUTTON_SETTINGS,
527
528         CAM_TOOLBAR_BUTTON_BACK,
529         CAM_TOOLBAR_BUTTON_FLASH,
530         CAM_TOOLBAR_BUTTON_BRIGHTNESS,
531         CAM_TOOLBAR_BUTTON_QUICKVIEW,
532
533         CAM_TOOLBAR_BUTTON_NUM,
534 } CamToolbarButton;
535
536 typedef enum _CamShotMode {
537         CAM_SINGLE_MODE,
538         /* self shooting mode */
539         CAM_SELF_SINGLE_MODE,
540         CAM_SHOT_MODE_NUMS
541 } CamShotMode;
542
543 enum _CamRecordMode {
544         CAM_RECORD_NORMAL,
545         CAM_RECORD_SLOW,
546         CAM_RECORD_FAST,
547         CAM_RECORD_MMS,
548         /* self recording mode */
549         CAM_RECORD_SELF,
550         CAM_RECORD_SELF_MMS,
551         CAM_RECORD_MODE_NUMS,
552 };
553
554 typedef enum _CamSceneMode {
555         CAM_SCENE_NONE = CAMERA_ATTR_SCENE_MODE_NORMAL,
556         CAM_SCENE_PORTRAIT = CAMERA_ATTR_SCENE_MODE_PORTRAIT,
557         CAM_SCENE_LANDSCAPE = CAMERA_ATTR_SCENE_MODE_LANDSCAPE,
558         CAM_SCENE_SPORTS = CAMERA_ATTR_SCENE_MODE_SPORTS,
559         CAM_SCENE_PARTY = CAMERA_ATTR_SCENE_MODE_PARTY_N_INDOOR,
560         CAM_SCENE_BEACHSNOW = CAMERA_ATTR_SCENE_MODE_BEACH_N_INDOOR,
561         CAM_SCENE_SUNSET = CAMERA_ATTR_SCENE_MODE_SUNSET,
562         CAM_SCENE_DUSKDAWN = CAMERA_ATTR_SCENE_MODE_DUSK_N_DAWN,
563         CAM_SCENE_FALL = CAMERA_ATTR_SCENE_MODE_FALL_COLOR,
564         CAM_SCENE_NIGHT = CAMERA_ATTR_SCENE_MODE_NIGHT_SCENE,
565         CAM_SCENE_FIREWORK = CAMERA_ATTR_SCENE_MODE_FIREWORK,
566         CAM_SCENE_TEXT = CAMERA_ATTR_SCENE_MODE_TEXT,
567         CAM_SCENE_SHOW_WINDOW = CAMERA_ATTR_SCENE_MODE_SHOW_WINDOW,
568         CAM_SCENE_CANDLELIGHT = CAMERA_ATTR_SCENE_MODE_CANDLE_LIGHT,
569         CAM_SCENE_BACKLIGHT = CAMERA_ATTR_SCENE_MODE_BACKLIGHT,
570
571 } CamSceneMode;
572
573 typedef enum _CamIso {
574         CAM_ISO_AUTO = CAMERA_ATTR_ISO_AUTO,
575         CAM_ISO_50 = CAMERA_ATTR_ISO_50,
576         CAM_ISO_100 = CAMERA_ATTR_ISO_100,
577         CAM_ISO_200 = CAMERA_ATTR_ISO_200,
578         CAM_ISO_400 = CAMERA_ATTR_ISO_400,
579         CAM_ISO_800 = CAMERA_ATTR_ISO_800,
580         CAM_ISO_1600 = CAMERA_ATTR_ISO_1600,
581         CAM_ISO_3200 = CAMERA_ATTR_ISO_3200,
582 }CamIso;
583
584 typedef enum _CamMetering {
585         CAM_METERING_MATRIX = CAMERA_ATTR_EXPOSURE_MODE_ALL,
586         CAM_METERING_CENTER_WEIGHTED = CAMERA_ATTR_EXPOSURE_MODE_CENTER,
587         CAM_METERING_SPOT = CAMERA_ATTR_EXPOSURE_MODE_SPOT,
588 }CamMetering;
589
590 #define CAMCORDER_WDR_OFF 0
591 #define CAMCORDER_WDR_ON 1
592 enum _CamWDR {
593         CAM_WDR_OFF =CAMCORDER_WDR_OFF, /*TODO:now capi not surpprot this attribute*/
594         CAM_WDR_ON = CAMCORDER_WDR_ON,
595 };
596 #define CAMCORDER_AHS_OFF 0
597 #define CAMCORDER_AHS_ON 1
598 enum _CamAHS { /*TODO:now capi not surpprot this attribute*/
599         CAM_AHS_OFF = CAMCORDER_AHS_OFF,
600         CAM_AHS_ON = CAMCORDER_AHS_ON,
601 };
602
603 typedef enum _CamFlashMode {
604         CAM_FLASH_OFF = CAMERA_ATTR_FLASH_MODE_OFF,
605         CAM_FLASH_ON = CAMERA_ATTR_FLASH_MODE_ON,
606         CAM_FLASH_AUTO = CAMERA_ATTR_FLASH_MODE_AUTO,
607         CAM_FLASH_MOVIE_ON = CAMERA_ATTR_FLASH_MODE_PERMANENT,
608 } CamFlashMode;
609
610 typedef enum _CamFocusMode {
611         CAM_FOCUS_NONE = CAMERA_ATTR_AF_NONE,
612         CAM_FOCUS_AUTO = CAMERA_ATTR_AF_NORMAL,
613         CAM_FOCUS_MACRO = CAMERA_ATTR_AF_MACRO,
614         CAM_FOCUS_CAF = CAMERA_ATTR_AF_FULL,
615         CAM_FOCUS_FACE = 100,   /* It is not focus mode in MMF, set detect mode */
616 } CamFocusMode;
617
618 typedef enum _CamFocusStatus {
619         CAM_FOCUS_STATUS_RELEASED = 0,
620                                      /**< AF status released.*/
621         CAM_FOCUS_STATUS_ONGOING,    /**< AF in pregress*/
622         CAM_FOCUS_STATUS_FOCUSED,    /**< AF success*/
623         CAM_FOCUS_STATUS_FAILED,     /**< AF fail*/
624         CAM_FOCUS_STATUS_NUM,        /**< Number of AF status*/
625 } CamFocusStatus;
626
627 typedef enum _CamTouchAFState {
628         CAM_TOUCH_AF_STATE_NONE,
629         CAM_TOUCH_AF_STATE_READY,
630         CAM_TOUCH_AF_STATE_DOING,
631 }CamTouchAFState;
632
633 typedef enum _CamContinuousShotStatus {
634         CAM_CONTI_SHOT_STATUS_DEFAULT = 0, /**< NOT Started */
635         CAM_CONTI_SHOT_STATUS_CAPTURING,/**< NOW Capturing */
636         CAM_CONTI_SHOT_STATUS_STOPPING,  /**< NOW Stopping */
637         CAM_CONTI_SHOT_STATUS_STOPPED,   /**< Ignore Capture data */
638         CAM_CONTI_SHOT_STATUS_NUM,       /**< Number of Continuous shot status*/
639 } CamContinuousShotStatus;
640
641 typedef enum _CamContinuousShotError {
642         CAM_CONTI_SHOT_ERROR_NONE = 0, /**< NOT Started */
643         CAM_CONTI_SHOT_ERROR_ENCODING, /**< JPEG Encoding error*/
644         CAM_CONTI_SHOT_ERROR_MMC_REMOVED,
645                                        /**< MMC is removed */
646         CAM_CONTI_SHOT_ERROR_FILE_WRITE,
647                                        /**< File write failed */
648         CAM_CONTI_SHOT_ERROR_NUM,      /**< Number of Continuous shot status*/
649 } CamContinuousShotError;
650
651 typedef enum _CamSettingOnOff {
652         CAM_SETTINGS_OFF,
653         CAM_SETTINGS_ON,
654 } CamSettingsOnOff;
655
656 typedef enum _CamSettingsTimer {
657         CAM_SETTINGS_TIMER_OFF,
658         CAM_SETTINGS_TIMER_2SEC,
659         CAM_SETTINGS_TIMER_5SEC,
660         CAM_SETTINGS_TIMER_10SEC,
661         CAM_SETTINGS_TIMER_NUMS
662 } CamSettingsTimer;
663
664 typedef enum _CamSettingsWB {
665         CAM_SETTINGS_WB_AWB = CAMERA_ATTR_WHITE_BALANCE_AUTOMATIC,
666         CAM_SETTINGS_WB_INCANDESCENT = CAMERA_ATTR_WHITE_BALANCE_INCANDESCENT,
667         CAM_SETTINGS_WB_FLUORESCENT = CAMERA_ATTR_WHITE_BALANCE_FLUORESCENT,
668         CAM_SETTINGS_WB_DAYLIGHT = CAMERA_ATTR_WHITE_BALANCE_DAYLIGHT,
669         CAM_SETTINGS_WB_CLOUDY = CAMERA_ATTR_WHITE_BALANCE_CLOUDY,
670         CAM_SETTINGS_WB_SHADE = CAMERA_ATTR_WHITE_BALANCE_SHADE,
671         CAM_SETTINGS_WB_HORIZON = CAMERA_ATTR_WHITE_BALANCE_HORIZON,
672         CAM_SETTINGS_WB_FLASH = CAMERA_ATTR_WHITE_BALANCE_FLASH,
673         CAM_SETTINGS_WB_CUSTOM = CAMERA_ATTR_WHITE_BALANCE_CUSTOM,
674 } CamSettingsWB;
675
676 typedef enum _CamSettingsEffects {
677         /*
678            CAM_SETTINGS_EFFECTS_NOR = MM_CAMCORDER_COLOR_TONE_NORMAL,
679          */
680
681         CAM_SETTINGS_EFFECTS_NOR                = CAMERA_ATTR_EFFECT_NONE,                      /**< None */
682         CAM_SETTINGS_EFFECTS_MONO               = CAMERA_ATTR_EFFECT_MONO,                      /**< Mono */
683         CAM_SETTINGS_EFFECTS_SEPIA              = CAMERA_ATTR_EFFECT_SEPIA,                     /**< Sepia */
684         CAM_SETTINGS_EFFECTS_NEGATIVE   = CAMERA_ATTR_EFFECT_NEGATIVE,          /**< Negative */
685         CAM_SETTINGS_EFFECTS_BLUE               = CAMERA_ATTR_EFFECT_BLUE,                      /**< Blue */
686         CAM_SETTINGS_EFFECTS_GREEN              = CAMERA_ATTR_EFFECT_GREEN,                     /**< Green */
687         CAM_SETTINGS_EFFECTS_AQUA               = CAMERA_ATTR_EFFECT_AQUA,                      /**< Aqua */
688         CAM_SETTINGS_EFFECTS_VIOLET     = CAMERA_ATTR_EFFECT_VIOLET,                    /**< Violet (Samsung Extension)*/
689         CAM_SETTINGS_EFFECTS_ORANGE     = CAMERA_ATTR_EFFECT_ORANGE,                    /**< Orange (Samsung Extension)*/
690         CAM_SETTINGS_EFFECTS_GRAY               = CAMERA_ATTR_EFFECT_GRAY,                      /**< Gray (Samsung Extension)*/
691         CAM_SETTINGS_EFFECTS_RED                = CAMERA_ATTR_EFFECT_RED,                       /**< Red (Samsung Extension)*/
692         CAM_SETTINGS_EFFECTS_ANTIQUE    = CAMERA_ATTR_EFFECT_ANTIQUE,           /**< Antique (Samsung Extension)*/
693         CAM_SETTINGS_EFFECTS_WARM               = CAMERA_ATTR_EFFECT_WARM,                      /**< Warm (Samsung Extension)*/
694         CAM_SETTINGS_EFFECTS_PINK               = CAMERA_ATTR_EFFECT_PINK,                      /**< Pink (Samsung Extension)*/
695         CAM_SETTINGS_EFFECTS_YELLOW             = CAMERA_ATTR_EFFECT_YELLOW,                    /**< Yellow (Samsung Extension)*/
696         CAM_SETTINGS_EFFECTS_PURPLE     = CAMERA_ATTR_EFFECT_PURPLE,                    /**< Purple (Samsung Extension)*/
697         CAM_SETTINGS_EFFECTS_EMBOSS     = CAMERA_ATTR_EFFECT_EMBOSS,                    /**< Emboss (Samsung Extension)*/
698         CAM_SETTINGS_EFFECTS_OUTLINE    = CAMERA_ATTR_EFFECT_OUTLINE,           /**< Outline (Samsung Extension)*/
699         CAM_SETTINGS_EFFECTS_SOLARIZATION= CAMERA_ATTR_EFFECT_SOLARIZATION,     /**< Solarization (Samsung Extension)*/
700         CAM_SETTINGS_EFFECTS_SKETCH_1   = CAMERA_ATTR_EFFECT_SKETCH,            /**< Sketch (Samsung Extension/secondary camera only)*/
701         CAM_SETTINGS_EFFECTS_WASHED     = CAMERA_ATTR_EFFECT_WASHED,     /**< Washed */
702         CAM_SETTINGS_EFFECTS_VINTAGE_WARM               = CAMERA_ATTR_EFFECT_VINTAGE_WARM,       /**< Vintage warm      */
703         CAM_SETTINGS_EFFECTS_VINTAGE_COLD               = CAMERA_ATTR_EFFECT_VINTAGE_COLD,       /**< Vintage cold      */
704         CAM_SETTINGS_EFFECTS_POSTERIZATION              = CAMERA_ATTR_EFFECT_POSTERIZATION,     /**< Posterization */
705         CAM_SETTINGS_EFFECTS_CARTOON                    = CAMERA_ATTR_EFFECT_CARTOON,   /**< Cartoon */
706         CAM_SETTINGS_EFFECTS_SELECTIVE_RED              = CAMERA_ATTR_EFFECT_SELECTIVE_RED,       /**< Selective color - Red */
707         CAM_SETTINGS_EFFECTS_SELECTIVE_GREEN    = CAMERA_ATTR_EFFECT_SELECTIVE_GREEN,     /**< Selective color - Green */
708         CAM_SETTINGS_EFFECTS_SELECTIVE_BLUE     = CAMERA_ATTR_EFFECT_SELECTIVE_BLUE,     /**< Selective color - Blue */
709         CAM_SETTINGS_EFFECTS_SELECTIVE_YELLOW   = CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW,     /**< Selective color - Yellow */
710         CAM_SETTINGS_EFFECTS_SELECTIVE_RED_YELLOW = CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW,     /**< Selective color - Red and Yellow */
711
712 } CamSettingsEffects;
713
714 enum _CamMMSizeLimit {
715         CAM_MM_SIZE_LIMIT_TYPE_BYTE,
716         CAM_MM_SIZE_LIMIT_TYPE_SECOND,
717 };
718
719 enum _CamQuality {
720         CAM_QUALITY_BEST = 100,
721         CAM_QUALITY_HIGH = 95,  /*  still only */
722         CAM_QUALITY_MEDIUM = 80,
723         CAM_QUALITY_LOW = 65,
724 };
725
726 enum _CamSound {
727         CAM_SETTINGS_SOUND_OFF = -1,
728         CAM_SETTINGS_SOUND_1,
729         CAM_SETTINGS_SOUND_2,
730         CAM_SETTINGS_SOUND_3,
731 };
732
733 typedef enum _CamVolumeKeyMode {
734         CAM_VOLUME_KEY_ZOOM,
735         CAM_VOLUME_KEY_SHUTTER,
736 } CamVolumeKeyMode;
737
738 typedef enum _CamZoomValue {
739         CAM_ZOOM_VALUE_MIN,
740
741         CAM_ZOOM_VALUE_01,
742         CAM_ZOOM_VALUE_02,
743         CAM_ZOOM_VALUE_03,
744         CAM_ZOOM_VALUE_04,
745         CAM_ZOOM_VALUE_05,
746         CAM_ZOOM_VALUE_06,
747         CAM_ZOOM_VALUE_07,
748         CAM_ZOOM_VALUE_08,
749         CAM_ZOOM_VALUE_09,
750         CAM_ZOOM_VALUE_10,
751         CAM_ZOOM_VALUE_11,
752         CAM_ZOOM_VALUE_12,
753         CAM_ZOOM_VALUE_13,
754         CAM_ZOOM_VALUE_14,
755         CAM_ZOOM_VALUE_15,
756         CAM_ZOOM_VALUE_16,
757         CAM_ZOOM_VALUE_17,
758         CAM_ZOOM_VALUE_18,
759         CAM_ZOOM_VALUE_19,
760         CAM_ZOOM_VALUE_20,
761         CAM_ZOOM_VALUE_21,
762         CAM_ZOOM_VALUE_22,
763         CAM_ZOOM_VALUE_23,
764         CAM_ZOOM_VALUE_24,
765         CAM_ZOOM_VALUE_25,
766         CAM_ZOOM_VALUE_26,
767         CAM_ZOOM_VALUE_27,
768         CAM_ZOOM_VALUE_28,
769         CAM_ZOOM_VALUE_29,
770         CAM_ZOOM_VALUE_30,
771         CAM_ZOOM_VALUE_4x,
772
773         CAM_ZOOM_VALUE_MAX
774 } CamZoomValue;
775
776 /*  Continuous Shot */
777 typedef struct _CamContinuousShotData {
778         int shot_num;
779         int lock;
780         CamContinuousShotStatus capture_status;
781         GError *error;
782         char *first_filename;
783         char *file_path[MAX_CONTINUOUS_SHOT];
784         char *thumbnail_file_path[MAX_CONTINUOUS_SHOT];
785 } CamContinuousShotData;
786
787 enum _CamRecStopType {
788         CAM_REC_STOP_UNEXPECTED = 0,
789         CAM_REC_STOP_NORMAL,
790         CAM_REC_STOP_LOW_BATTERY,
791         CAM_REC_STOP_ASM,
792         CAM_REC_STOP_MAX_SIZE,
793         CAM_REC_STOP_TIME_LIMIT,
794         CAM_REC_STOP_NO_SPACE,
795         CAM_REC_STOP_USB_CONN,
796         CAM_REC_STOP_POWER_KEY,
797
798         CAM_REC_STOP_NUM,
799 };
800
801 typedef enum _CamUgState {
802         CAM_UG_PAUSE_STATE = 1,
803         CAM_UG_RESUME_STATE,
804         CAM_UG_RESET_STATE,
805         CAM_UG_TERMINATE_STATE,
806 } CamUgState;
807
808 typedef enum _CamFoucusMode {
809         CAM_FOCUS_MODE_TOUCH_AUTO = 0,
810         CAM_FOCUS_MODE_HALFSHUTTER = 1,
811         CAM_FOCUS_MODE_CONTINUOUS = 2,
812 } CamAppFocusMode;
813
814 typedef struct __ShortCutData {
815         /*fixed*/
816         Evas_Object *icon;
817         Evas_Object_Event_Cb func;
818         CAM_MENU_ITEM setting_type;
819         char *icon_filepath;
820         char *name;
821         /*if change, should swap*/
822         int menu_bar_no;/*-1,if -1, not in menubar;0,1,2,3,4, from left to right; now: 0 be always setting */
823         gboolean is_on_menu_bar;
824         gboolean is_virtual;
825         /*varible*/
826         Evas_Coord x, y, w, h;
827         int part_index;/*part index*/
828         int list_index; /*list index*/
829         int row;/*unused*/
830         int col;/*unused*/
831
832 } ShortCutData;
833
834
835 typedef struct __MenuBar_Shortcut {
836         Evas_Object *icon;
837         Evas_Object *icon_button;
838         Evas_Object_Event_Cb func;
839         CAM_MENU_ITEM setting_type;
840         int menu_bar_no;
841 }MenuBar_Shortcut;
842
843 typedef struct __Ecore_Pipe_Data_Info {
844         void *data;
845         unsigned int cmd;
846 } Ecore_Pipe_Data_Info;
847
848 enum {
849         CAM_MENU_BAR_LEFT_INVALID = -1,
850         CAM_MENU_BAR_LEFT_0 = 0,
851         CAM_MENU_BAR_LEFT_1,
852         CAM_MENU_BAR_LEFT_2,
853         CAM_MENU_BAR_LEFT_3,
854         CAM_MENU_BAR_LEFT_4,
855         CAM_MENU_BAR_LEFT_MAX_NUM,
856 };
857
858 enum  {
859         CAM_MAIN_PIPE_OP_TYPE_INVAILD = -1,
860         CAM_MAIN_PIPE_OP_TYPE_UPDATE_THUMBNAIL, /*update thumbnail type*/
861         CAM_MAIN_PIPE_OP_TYPE_UPDATE_THUMBNAIL_NO_ANI, /*update thumbnail type*/
862         CAM_MAIN_PIPE_OP_TYPE_ROTATE_ANIMATOR, /*rotate target, start rotate icons*/
863         CAM_MAIN_PIPE_OP_TYPE_SHUTTER_ANIMATION, /*shutter: show rect and thumbnail effect*/
864         CAM_MAIN_PIPE_OP_TYPE_BURST_SHOT_UPDATE_PROGRESS, /*burstshot: update capture progress*/
865         CAM_MAIN_PIPE_OP_TYPE_BURST_SHOT_DISPLAY_POPUP,
866         CAM_MAIN_PIPE_OP_TYPE_BEST_SHOT_IMAGE_HANDLE,
867         CAM_MAIN_PIPE_OP_TYPE_UPDATE_VIEW,
868         CAM_MAIN_PIPE_OP_TYPE_ERROR_POPUP, /*error popup*/
869         CAM_MAIN_PIPE_OP_TYPE_VIDEO_CAPTURE_HANDLE,
870         CAM_MAIN_PIPE_OP_TYPE_RUN_IMAGE_VIEWER,
871         CAM_MAIN_PIPE_OP_TYPE_MAX_NUM,
872 }; /*note: this define for main pipe operation type*/
873
874
875 typedef enum __CAM_EDIT_SHORTCUTS_INDEX{
876         CAM_EDIT_SHORTCUTS_INDEX_INVALID = -1,
877         CAM_EDIT_SHORTCUTS_INDEX_0 = 0,/*row 1*/
878         CAM_EDIT_SHORTCUTS_INDEX_1,
879         CAM_EDIT_SHORTCUTS_INDEX_2,
880         CAM_EDIT_SHORTCUTS_INDEX_3,
881         CAM_EDIT_SHORTCUTS_INDEX_4,/*row 2*/
882         CAM_EDIT_SHORTCUTS_INDEX_5,
883         CAM_EDIT_SHORTCUTS_INDEX_6,
884         CAM_EDIT_SHORTCUTS_INDEX_7,
885         CAM_EDIT_SHORTCUTS_INDEX_8,/*row 3*/
886         CAM_EDIT_SHORTCUTS_INDEX_9,
887         CAM_EDIT_SHORTCUTS_INDEX_10,
888         CAM_EDIT_SHORTCUTS_INDEX_11,
889         CAM_EDIT_SHORTCUTS_INDEX_12,/*row 4*/
890         CAM_EDIT_SHORTCUTS_INDEX_13,
891         CAM_EDIT_SHORTCUTS_INDEX_14,
892         CAM_EDIT_SHORTCUTS_INDEX_15,
893         CAM_EDIT_SHORTCUTS_INDEX_16,/*row 5*/
894         CAM_EDIT_SHORTCUTS_INDEX_17,
895         CAM_EDIT_SHORTCUTS_INDEX_18,
896         CAM_EDIT_SHORTCUTS_INDEX_19,
897         CAM_EDIT_SHORTCUTS_INDEX_MAX,
898 } CAM_EDIT_SHORTCUTS_INDEX;
899
900 typedef enum _CamTargetDirection {
901         CAM_TARGET_DIRECTION_LANDSCAPE = 0,
902         CAM_TARGET_DIRECTION_LANDSCAPE_INVERSE,
903         CAM_TARGET_DIRECTION_PORTRAIT,
904         CAM_TARGET_DIRECTION_PORTRAIT_INVERSE,
905         CAM_TARGET_DIRECTION_MAX,
906 }CamTargetDirection;
907
908 typedef struct __cam_menu_composer {
909         const char* title;
910         Eina_Array* array;
911 } cam_menu_composer;
912
913 typedef struct __Edit_ShortCuts_Rect {
914         Evas_Coord x;
915         Evas_Coord y;
916         Evas_Coord w;
917         Evas_Coord h;
918 } CAM_Edit_ShortCuts_Rect;
919
920 typedef struct __cam_menubar_data {
921         Evas_Object *icon;
922         int menu_type;
923 } cam_menubar_data;
924
925 typedef struct __cam_reserved_setting_data {
926         gint front_shooting_mode;
927         gint front_recording_mode;
928         gint rear_shooting_mode;
929         gint rear_recording_mode;
930
931         gint front_photo_resolution;
932         gint front_video_resolution;
933         gint rear_photo_resolution;
934         gint rear_video_resolution;
935
936         gint front_effect;
937         gint rear_effect;
938
939         gint front_wb;
940         gint rear_wb;
941 } cam_reserved_setting_data;
942
943 typedef enum _CamErrorType {
944         CAM_ERROR_TYPE_NONE = 0,
945         CAM_ERROR_TYPE_UNABLE_TO_LAUNCH,
946 } CamErrorType;
947
948 typedef enum _CamTipPopupType {
949         CAM_TIP_POPUP_NONE = -1,
950         CAM_TIP_POPUP_BURSTSHOT_HELP = 0,
951         CAM_TIP_POPUP_VOLUMEKEY_HELP,
952         CAM_TIP_POPUP_MAX,
953 } CamTipPopupType;
954
955 #endif                          /* __DEF_CAM_PROPERTY_H_ */