name: "guide_line1_outline1_1";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_W1 - 1)/MAIN_W 0.0; }\r
name: "guide_line1";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: GUIDE_LINE_W1/MAIN_W 0.0; }\r
}\r
description {\r
state: "ver_default" 0.0;\r
- rel1 { relative: VER_GUIDE_LINE_W1/VER_MAIN_W 0.1; }\r
- rel2 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP)/VER_MAIN_W 0.9; }\r
+ rel1 { relative: VER_GUIDE_LINE_W1/VER_MAIN_W 0.125; }\r
+ rel2 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP)/VER_MAIN_W 0.875; }\r
image{\r
normal: GUDIE_LINE_1_IMAGE ;\r
}\r
name: "guide_line1_outline1_2";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_W1 + GUIDE_LINE_GAP)/MAIN_W 0.0; }\r
name: "guide_line2_outline2_1";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_W1 + GUIDE_LINE_GAP + GUIDE_LINE_W2 - 1)/MAIN_W 0.0; }\r
name: "guide_line2";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_W1 + GUIDE_LINE_GAP + GUIDE_LINE_W2)/MAIN_W 0.0; }\r
}\r
description {\r
state: "ver_default" 0.0;\r
- rel1 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP + VER_GUIDE_LINE_W2)/VER_MAIN_W 0.1; }\r
- rel2 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP + VER_GUIDE_LINE_W2 + GUIDE_LINE_GAP)/VER_MAIN_W 0.9; }\r
+ rel1 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP + VER_GUIDE_LINE_W2)/VER_MAIN_W 0.125; }\r
+ rel2 { relative: (VER_GUIDE_LINE_W1 + GUIDE_LINE_GAP + VER_GUIDE_LINE_W2 + GUIDE_LINE_GAP)/VER_MAIN_W 0.875; }\r
image{\r
normal: GUDIE_LINE_1_IMAGE ;\r
}\r
name: "guide_line2_outline2_2";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_W1 + GUIDE_LINE_GAP + GUIDE_LINE_W2 + GUIDE_LINE_GAP)/MAIN_W 0.0; }\r
name: "guide_line3_outline3_1";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_H1 - 1)/MAIN_W 0.0; }\r
name: "guide_line3";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
- rel1 { relative: 0.1 GUIDE_LINE_H1/MAIN_H; }\r
- rel2 { relative: 0.9 (GUIDE_LINE_H1 + GUIDE_LINE_GAP)/MAIN_H; }\r
+ rel1 { relative: 0.125 GUIDE_LINE_H1/MAIN_H; }\r
+ rel2 { relative: 0.875 (GUIDE_LINE_H1 + GUIDE_LINE_GAP)/MAIN_H; }\r
image{\r
normal: GUDIE_LINE_2_IMAGE ;\r
}\r
name: "guide_line3_outline3_2";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_H1 + GUIDE_LINE_GAP)/MAIN_W 0.0; }\r
name: "guide_line4_outline4_1";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (GUIDE_LINE_H1 + GUIDE_LINE_GAP + GUIDE_LINE_H2 - 1)/MAIN_W 0.0; }\r
name: "guide_line4";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
- rel1 { relative: 0.1 (GUIDE_LINE_H1 + GUIDE_LINE_GAP + GUIDE_LINE_H2)/MAIN_H; }\r
- rel2 { relative: 0.9 (GUIDE_LINE_H1 + GUIDE_LINE_GAP + GUIDE_LINE_H2 + GUIDE_LINE_GAP)/MAIN_H; }\r
+ rel1 { relative: 0.125 (GUIDE_LINE_H1 + GUIDE_LINE_GAP + GUIDE_LINE_H2)/MAIN_H; }\r
+ rel2 { relative: 0.875 (GUIDE_LINE_H1 + GUIDE_LINE_GAP + GUIDE_LINE_H2 + GUIDE_LINE_GAP)/MAIN_H; }\r
image{\r
normal: GUDIE_LINE_2_IMAGE ;\r
}\r
name: "guide_line4_outline4_2";\r
type: IMAGE;\r
mouse_events: 0;\r
+ scale: 1;\r
description {\r
state: "default" 0.0;\r
rel1 { relative: (VER_GUIDE_LINE_H1 + GUIDE_LINE_GAP + VER_GUIDE_LINE_H2 + GUIDE_LINE_GAP)/MAIN_W 0.0; }\r
GQueue *file_reg_queue;
#endif
- pthread_t camera_start_thread;
-
ui_gadget_h imageviewer_ug;
gboolean ug_is_deleting_process; /*note: now ug is deleting process, and run into camera preview process*/
service_h imageviewer_service;
int cam_appdata_fini(void *data);
CamAppData *cam_handle_get(void);
-gboolean cam_app_start(void *data);
+Eina_Bool cam_app_start(void *data);
Eina_Bool cam_app_stop(void *data);
gboolean cam_app_resume(void *data);
gboolean cam_app_pause(void *data);
void cam_utils_remove_idler_all(void *data);
gdouble _get_current_time(void);
void cam_remove_tmp_file();
-Eina_Bool cam_continuous_af_start(void *data);
Eina_Bool cam_elm_cache_flush();
void cam_app_mdm_syspopup(void *data);
Name: org.tizen.camera-app
Summary: camera application
-Version: 0.3.34
+Version: 0.3.35
Release: 1
Group: misc
License: Flora
}
-void *cam_start_thread_run(void *data)
-{
- struct appdata *ad = (struct appdata *)data;
- cam_retv_if(ad == NULL, NULL);
-
- if (cam_app_start(ad) == FALSE)
- cam_critical(LOG_CAM, "cam_app_start failed");
-
- pthread_exit(NULL);
-
- return NULL;
-}
-
static void cam_service(service_h service, void *user_data)
{
CAM_TA_ACUM_ITEM_BEGIN("==cam_service==", 0);
if (ad->launch_type == CAM_LAUNCH_FIRST) {
debug_fenter(LOG_CAM);
- if (!cam_condition_check_to_start_camera(ad)) {
- cam_critical(LOG_CAM, "cannot start camera");
- return;
- }
-
if (!open_cam_handle((void*)ad)) {
cam_critical(LOG_CAM, "open_cam_handle failed");
return;
}
- if (pthread_create(&(ad->camera_start_thread), NULL, cam_start_thread_run, (void *)ad) < 0) {
- cam_critical(LOG_CAM, "Create camera start thread failed");
- return;
- }
-
#ifdef ENABLE_CAM_POWER_CONTROL
power_lock_state(POWER_STATE_NORMAL, 0);
#endif
return;
}
CAM_TA_ACUM_ITEM_END(" cam_layout_init", 0);
+
+ ecore_idler_add(cam_app_start, ad);
} else {
/* RELUNCHING!! //in paused -> Camera process is called by External process */
if (ad->exe_args == NULL)
return;
- if (!cam_condition_check_to_start_camera(ad)) {
- cam_critical(LOG_CAM, "cannot start camera");
- return;
- }
-
- if (pthread_create(&(ad->camera_start_thread), NULL, cam_start_thread_run, (void *)ad) < 0) {
- cam_critical(LOG_CAM, "Create camera start thread failed");
- return;
- }
-
ResetCaps();
CAM_TA_ACUM_ITEM_BEGIN(" cam_layout_init", 0);
CAM_TA_ACUM_ITEM_END(" cam_layout_init", 0);
evas_object_raise(ad->win_main);
+ ecore_idler_add(cam_app_start, ad);
}
cam_debug(LOG_UI, "############## cam_service END##############");
return TRUE;
}
-gboolean cam_app_start(void *data)
+Eina_Bool cam_app_start(void *data)
{
CAM_TA_ACUM_ITEM_BEGIN("#########cam_app_start", 0);
debug_fenter(LOG_CAM);
- cam_retvm_if(ad == NULL, FALSE, "appdata is NULL");
+ cam_retvm_if(ad == NULL, ECORE_CALLBACK_CANCEL, "appdata is NULL");
camapp = ad->camapp_handle;
- cam_retvm_if(camapp == NULL, FALSE, "camapp_handle is NULL");
+ cam_retvm_if(camapp == NULL, ECORE_CALLBACK_CANCEL, "camapp_handle is NULL");
+
+ if (!cam_condition_check_to_start_camera(ad)) {
+ cam_critical(LOG_CAM, "cannot start camera");
+ return ECORE_CALLBACK_CANCEL;
+ }
/*init guideline value*/
#ifdef GUIDE_LINE_ENALBE
if (!cam_mm_create(CAM_DEVICE_MEGA, camapp->camera_mode)) {
cam_critical(LOG_MM, "cam_mm_create failed");
cam_app_notice_popup(ad, "UNABLE TO LAUNCH CAMERA", cam_app_timeout_notice_response_cb);
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
}
}
CAM_TA_ACUM_ITEM_END(" cam_mm_create", 0);
if (!cam_callback_init(ad)) {
cam_critical(LOG_CAM, "cam_init_mm_callback failed");
cam_app_notice_popup(ad, "UNABLE TO START PREVIEW", cam_app_timeout_notice_response_cb);
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
}
CAM_TA_ACUM_ITEM_END(" cam_callback_init", 0);
* TODO: this func dealt with efl ui api, but cam_app_start is called in thread.
* We should consider it carefully.
*/
- cam_continuous_af_start(ad);
if (!cam_app_preview_start(ad)) {
if (ad->is_calling == CAMERA_ERROR_SOUND_POLICY ||ad->is_calling == RECORDER_ERROR_SOUND_POLICY) {
DEBUG_TRACE(" MM CAMCARORDER ERROR\n");
cam_app_black_screen_show(ad, 2);
ecore_timer_add(0.01, cam_delay_popup, (void *)ad);
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
}
cam_critical(LOG_MM, "cam_app_preview_start failed");
cam_app_notice_popup(ad, "UNABLE TO START PREVIEW", cam_app_timeout_notice_response_cb);
- return FALSE;
+ return ECORE_CALLBACK_CANCEL;
}
CAM_TA_ACUM_ITEM_END(" cam_app_preview_start", 0);
#endif
CAM_TA_ACUM_ITEM_END("#########cam_app_start", 0);
- return TRUE;
+ return ECORE_CALLBACK_CANCEL;
}
gboolean cam_app_pause(void *data)
cam_app_get_preview_offset_coordinate(ad);
- cam_continuous_af_start(ad);
if (!cam_app_preview_start(ad)) {
cam_critical(LOG_MM, "cam_app_preview_start failed");
goto MODE_CHANGE_FAILED;
return FALSE;
}
- cam_continuous_af_start(ad);
if (!cam_app_preview_start(ad)) {
cam_critical(LOG_MM, "cam_app_preview_start failed");
cam_app_notice_popup(ad, "PREVIEW START FAILED !!", cam_app_timeout_notice_response_cb);
}
cam_mm_get_video_size( &camapp->default_preview_width, &camapp->default_preview_height);
DEBUG_TRACE("default_width = %d,default_height = %d", camapp->default_preview_width, camapp->default_preview_height);
-
- cam_continuous_af_start(ad);
}
g_value_init(&value, G_TYPE_INT);
return TRUE;
}
-Eina_Bool cam_continuous_af_start(void *data)
-{
-
- struct appdata *ad = (struct appdata *)data;
- cam_retvm_if(ad == NULL, ECORE_CALLBACK_CANCEL, "appdata is NULL");
-
- CamAppData *camapp = NULL;
- camapp = ad->camapp_handle;
- cam_retvm_if(camapp == NULL, ECORE_CALLBACK_CANCEL, "camapp_handle is NULL");
-
- DEBUG_TRACE("cam_continuous_af_start");
-
- /* init */
- ad->af_x = (ad->win_width / 2) - ad->preview_offset_x;
- ad->af_y = (ad->win_height / 2) - ad->preview_offset_y;
-
- ad->af_x = (ad->af_x * ad->camfw_video_width) / ad->preview_w;
- ad->af_y = (ad->af_y * ad->camfw_video_height) / ad->preview_h;
- /* init */
- ad->touch_lcd_x = (ad->win_height / 2);
- ad->touch_lcd_y = (ad->win_width / 2);
-
- cam_app_draw_af_box(ad);
- camapp->focus_state = CAM_FOCUS_STATUS_RELEASED;
- cam_app_focus_guide_update(ad);
-
- evas_object_show(ad->focus_edje);
-
- camapp->focus_mode = CAM_FOCUS_MODE_CONTINUOUS;
-
- /* cam_mm_set_af_area include init focusing */
- DEBUG_TRACE("start continuous AF");
- if (cam_mm_set_af_area(ad->af_x, ad->af_y, ad->camera_focus_w, ad->camera_focus_h)) {
- DEBUG_TRACE("cam_mm_set_af_area success!");
- /*focus guide update*/
- } else {
- DEBUG_TRACE("cam_mm_set_af_area error!");
- }
- if (!cam_mm_start_focusing(camapp->focus_mode)) {
- cam_critical(LOG_MM, "cam_mm_start_focusing error");
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
Eina_Bool cam_volume_key_press(void *data)
{
struct appdata *ad = (struct appdata *)data;
DEBUG_TRACE("start caf");
cam_app_focus_guide_create(ad);
cam_app_focus_guide_update(ad);
- ad->continuous_af_timer= ecore_timer_add(FOCUS_FOCUSED_TIME_OUT, cam_continuous_af_start, ad);
}
}
break;
DEBUG_TRACE("start caf");
cam_app_focus_guide_create(ad);
cam_app_focus_guide_update(ad);
- ad->continuous_af_timer= ecore_timer_add(FOCUS_FAILED_TIME_OUT, cam_continuous_af_start, ad);
}
}
break;
unsigned int capacity = 0;
GetCamDevFuncCaps(&capacity, NULL);
-
+#if 0
if(capacity & CAM_CP_FUNC_EDIR_SHORTCUT)
eina_array_push(composer->array, (void*)&setting[0]);
-
+#endif
if(capacity & CAM_CP_FUNC_TIMER)
eina_array_push(composer->array, (void*)&setting[1]);
if (g_file_test(tmpfile_name, G_FILE_TEST_EXISTS)) {
DEBUG_TRACE("Error : tmp file exist on the %s", file_path);
cam_remove_tmp_file();
- return NULL;
}
return g_strdup(tmpfile_name);
} else {
if (ad->is_recording) {
edje_object_signal_emit(_EDJ(ad->toolbar_edje), "toolbar_bg,hide", "program");
- __toolbar_recording_capture_button_create(ad);
__toolbar_menu_item_update(ad, TOOLBAR_ITEM_STATE_INVISIBLE);
__toolbar_mode_item_hide(ad);
__toolbar_shutter_button_hide(ad);
}
} else {
edje_object_signal_emit(_EDJ(ad->toolbar_edje), "toolbar_bg,show", "program");
- __toolbar_recording_capture_button_destroy(ad);
__toolbar_menu_item_update(ad, TOOLBAR_ITEM_STATE_NORMAL);
__toolbar_mode_item_update(ad);
__toolbar_shutter_button_update(ad);
if (wide_mode) {
DEBUG_TRACE("hor,wide_mode");
- edje_object_signal_emit(_EDJ(ad->guideline_edje),
- "guide_line,1,2,normal", "prog_guideline");
- edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ switch (ad->target_direction) {
+ case CAM_TARGET_DIRECTION_LANDSCAPE:
+ case CAM_TARGET_DIRECTION_LANDSCAPE_INVERSE:
+ DEBUG_TRACE("landscape");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,1,2,normal", "prog_guideline");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
"guide_line,3,4,wide", "prog_guideline");
+ break;
+ case CAM_TARGET_DIRECTION_PORTRAIT:
+ case CAM_TARGET_DIRECTION_PORTRAIT_INVERSE:
+ DEBUG_TRACE("portrait");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,1,2,vertical,wide", "prog_guideline");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,3,4,vertical,normal", "prog_guideline");
+ break;
+ }
} else {
DEBUG_TRACE("hor,normal mode");
- edje_object_signal_emit(_EDJ(ad->guideline_edje),
- "guide_line,1,2,normal", "prog_guideline");
- edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ switch (ad->target_direction) {
+ case CAM_TARGET_DIRECTION_LANDSCAPE:
+ case CAM_TARGET_DIRECTION_LANDSCAPE_INVERSE:
+ DEBUG_TRACE("landscape");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,1,2,normal", "prog_guideline");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
"guide_line,3,4,normal", "prog_guideline");
+ break;
+ case CAM_TARGET_DIRECTION_PORTRAIT:
+ case CAM_TARGET_DIRECTION_PORTRAIT_INVERSE:
+ DEBUG_TRACE("portrait");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,1,2,vertical,normal", "prog_guideline");
+ edje_object_signal_emit(_EDJ(ad->guideline_edje),
+ "guide_line,3,4,vertical,normal", "prog_guideline");
+ break;
+ }
+
}
/*evas_object_lower(ad->guideline_edje);*/