📄 cameraapp.c
字号:
/*********** EFFECT ***********/
const U8 camera_effect_command_map[CAMERA_SETTING_EFFECT_COUNT + 1] =
{
#ifdef __CAMERA_FEATURE_EFFECT_NORMAL__
MDI_CAMERA_EFFECT_NOMRAL, /* CAMERA_SETTING_EFFECT_NOMRAL */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_GRAYSCALE__
MDI_CAMERA_EFFECT_GRAYSCALE, /* CAMERA_SETTING_EFFECT_GRAYSCALE */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_SEPIA__
MDI_CAMERA_EFFECT_SEPIA, /* CAMERA_SETTING_EFFECT_SEPIA */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_SEPIA_GREEN__
MDI_CAMERA_EFFECT_SEPIA_GREEN, /* CAMERA_SETTING_EFFECT_SEPIA_GREEN */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_SEPIA_BLUE__
MDI_CAMERA_EFFECT_SEPIA_BLUE, /* CAMERA_SETTING_EFFECT_SEPIA_BLUE */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_COLOR_INVERT__
MDI_CAMERA_EFFECT_COLOR_INVERT, /* CAMERA_SETTING_EFFECT_COLOR_INVERT */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_GRAY_INVERT__
MDI_CAMERA_EFFECT_GRAY_INVERT, /* CAMERA_SETTING_EFFECT_GRAY_INVERT */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_BLACKBOARD__
MDI_CAMERA_EFFECT_BLACKBOARD, /* CAMERA_SETTING_EFFECT_BLACKBOARD */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_WHITEBOARD__
MDI_CAMERA_EFFECT_WHITEBOARD, /* CAMERA_SETTING_EFFECT_WHITEBOARD */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_COPPER_CARVING__
MDI_CAMERA_EFFECT_COPPER_CARVING, /* CAMERA_SETTING_EFFECT_COPPER_CARVING */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_BLUE_CARVING__
MDI_CAMERA_EFFECT_BLUE_CARVING, /* CAMERA_SETTING_EFFECT_BLUE_CARVING */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_EMBOSSMENT__
MDI_CAMERA_EFFECT_EMBOSSMENT, /* CAMERA_SETTING_EFFECT_EMBOSSMENT */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_CONTRAST__
MDI_CAMERA_EFFECT_CONTRAST, /* CAMERA_SETTING_EFFECT_CONTRAST */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_JEAN__
MDI_CAMERA_EFFECT_JEAN, /* CAMERA_SETTING_EFFECT_JEAN */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_SKETCH__
MDI_CAMERA_EFFECT_SKETCH, /* CAMERA_SETTING_EFFECT_SKETCH */
#endif
#ifdef __CAMERA_FEATURE_EFFECT_OIL__
MDI_CAMERA_EFFECT_OIL, /* CAMERA_SETTING_EFFECT_OIL */
#endif
DUMMY_COMMAND
};
/*********** WB ***********/
const U8 camera_wb_command_map[CAMERA_SETTING_WB_COUNT + 1] =
{
#ifdef __CAMERA_FEATURE_WB_AUTO__
MDI_CAMERA_WB_AUTO, /* CAMREA_SETTING_WB_AUTO */
#endif
#ifdef __CAMERA_FEATURE_WB_DAYLIGHT__
MDI_CAMERA_WB_DAYLIGHT, /* CAMERA_SETTING_WB_DAYLIGHT */
#endif
#ifdef __CAMERA_FEATURE_WB_TUNGSTEN__
MDI_CAMERA_WB_TUNGSTEN, /* CAMERA_SETTING_WB_TUNGSTEN */
#endif
#ifdef __CAMERA_FEATURE_WB_FLUORESCENT__
MDI_CAMERA_WB_FLUORESCENT, /* CAMERA_SETTING_WB_FLUORESCENT */
#endif
#ifdef __CAMERA_FEATURE_WB_CLOUD__
MDI_CAMERA_WB_CLOUD, /* CAMERA_SETTING_WB_CLOUD */
#endif
#ifdef __CAMERA_FEATURE_WB_INCANDESCENCE__
MDI_CAMERA_WB_INCANDESCENCE, /* CAMERA_SETTING_WB_INCANDESCENCE */
#endif
#ifdef __CAMERA_FEATURE_WB_MANUAL__
MDI_CAMERA_WB_MANUAL, /* MDI_CAMERA_WB_MANUAL */
#endif
DUMMY_COMMAND
};
/*********** Image Qty ***********/
const U8 camera_image_qty_command_map[CAMERA_SETTING_IMAGE_QTY_COUNT + 1] =
{
#ifdef __CAMERA_FEATURE_IMAGE_QTY_LOW__
MDI_CAMERA_JPG_QTY_LOW, /* CAMERA_SETTING_IMAGE_QTY_LOW */
#endif
#ifdef __CAMERA_FEATURE_IMAGE_QTY_NORMAL__
MDI_CAMERA_JPG_QTY_NORMAL, /* CAMERA_SETTING_IMAGE_QTY_NORMAL */
#endif
#ifdef __CAMERA_FEATURE_IMAGE_QTY_HIGH__
MDI_CAMERA_JPG_QTY_HIGH, /* CAMERA_SETTING_IMAGE_QTY_HIGH */
#endif
#ifdef __CAMERA_FEATURE_IMAGE_QTY_FINE__
MDI_CAMERA_JPG_QTY_FINE, /* CAMREA_SETTING_IMAGE_QTY_FINE */
#endif
DUMMY_COMMAND
};
/*********** Banding ***********/
const U8 camera_banding_command_map[CAMERA_SETTING_BANDING_COUNT + 1] =
{
MDI_CAMERA_BANDING_50HZ,
MDI_CAMERA_BANDING_60HZ,
DUMMY_COMMAND
};
/*********** AE meter ***********/
const U8 camera_ae_meter_command_map[CAMERA_SETTING_AE_METER_COUNT + 1] =
{
#ifdef __CAMERA_FEATURE_AE_METER_AUTO__
MDI_CAMERA_AE_METER_AUTO, /* CAMERA_SETTING_AE_METER_AUTO */
#endif
#ifdef __CAMERA_FEATURE_AE_METER_SPOT__
MDI_CAMERA_AE_METER_SPOT, /* CAMERA_SETTING_AE_METER_SPOT */
#endif
#ifdef __CAMERA_FEATURE_AE_METER_CENTER__
MDI_CAMERA_AE_METER_CENTER, /* CAMERA_SETTING_AE_METER_CENTER */
#endif
#ifdef __CAMERA_FEATURE_AE_METER_AVERAGE__
MDI_CAMERA_AE_METER_AVERAGE, /* CAMERA_SETTING_AE_METER_AVERAGE */
#endif
DUMMY_COMMAND
};
/*********** Flash ***********/
const U8 camera_flash_command_map[CAMERA_SETTING_FLASH_COUNT + 1] =
{
MDI_CAMERA_FLASH_OFF, /* CAMERA_SETTING_FLASH_OFF */
MDI_CAMERA_FLASH_ON, /* CAMERA_SETTING_FLASH_ON */
#ifdef __CAMERA_FEATURE_FLASH_AUTO__
MDI_CAMERA_FLASH_AUTO, /* CAMERA_SETTING_FLASH_AUTO */
#endif
#ifdef __CAMERA_FEATURE_FLASH_REDEYE__
MDI_CAMERA_FLASH_REDEYE, /* CAMERA_SETTING_FLASH_REDEYE */
#endif
DUMMY_COMMAND
};
/*********** ISO ***********/
const U8 camera_iso_command_map[CAMERA_SETTING_ISO_COUNT + 1] =
{
#ifdef __CAEMRA_FEATURE_ISO_AUTO__
MDI_CAMERA_ISO_AUTO, /* CAMERA_SETTING_ISO_AUTO */
#endif
#ifdef __CAEMRA_FEATURE_ISO_100__
MDI_CAMERA_ISO_100, /* CAMERA_SETTING_ISO_100 */
#endif
#ifdef __CAEMRA_FEATURE_ISO_200__
MDI_CAMERA_ISO_200, /* CAMERA_SETTING_ISO_200 */
#endif
#ifdef __CAEMRA_FEATURE_ISO_400__
MDI_CAMERA_ISO_400, /* CAMERA_SETTING_ISO_400 */
#endif
DUMMY_COMMAND
};
const U8 camera_autofocus_command_map[CAMERA_SETTING_AUTOFOCUS_COUNT + 1] =
{
#ifdef __CAMERA_AUTOFOCUS_1_ZONE__
MDI_CAMERA_AUTOFOCUS_1_ZONE,
#endif
#ifdef __CAMERA_AUTOFOCUS_3_ZONE__
MDI_CAMERA_AUTOFOCUS_3_ZONE,
#endif
#ifdef __CAMERA_AUTOFOCUS_5_ZONE__
MDI_CAMERA_AUTOFOCUS_5_ZONE,
#endif
DUMMY_COMMAND
};
const U8 camera_autofocus_mode_command_map[CAMERA_SETTING_AUTOFOCUS_MODE_COUNT + 1] =
{
#ifdef __CAMERA_AUTOFOCUS_MODE_AUTO__
MDI_CAMERA_AUTOFOCUS_MODE_AUTO,
#endif
#ifdef __CAMERA_AUTOFOCUS_MODE_MACRO__
MDI_CAMERA_AUTOFOCUS_MODE_MACRO,
#endif
#ifdef __CAMERA_AUTOFOCUS_MODE_INFINITE__
MDI_CAMERA_AUTOFOCUS_MODE_INFINITE,
#endif
#ifdef __CAMERA_AUTOFOCUS_MODE_MANUAL__
MDI_CAMERA_AUTOFOCUS_MODE_MANUAL,
#endif
DUMMY_COMMAND
};
/*********** Shot Mode ***********/
const U8 camera_dsc_mode_command_map[CAMERA_SETTING_DSC_MODE_COUNT + 1] =
{
#ifdef __CAMERA_DSC_MODE_AUTO__
MDI_CAMERA_DSC_MODE_AUTO, /* CAMERA_SETTING_DSC_MODE_AUTO */
#endif
#ifdef __CAMERA_DSC_MODE_PORTRAIT__
MDI_CAMERA_DSC_MODE_PORTRAIT, /* CAMERA_SETTING_DSC_MODE_PORTRAIT */
#endif
#ifdef __CAMERA_DSC_MODE_LANDSCAPE__
MDI_CAMERA_DSC_MODE_LANDSCAPE, /* CAMERA_SETTING_DSC_MODE_LANDSCAPE */
#endif
#ifdef __CAMERA_DSC_MODE_SPORT__
MDI_CAMERA_DSC_MODE_SPORT, /* CAMERA_SETTING_DSC_MODE_SPORT */
#endif
#ifdef __CAMERA_DSC_MODE_FLOWER__
MDI_CAMERA_DSC_MODE_FLOWER, /* CAMERA_SETTING_DSC_MODE_FLOWER */
#endif
#ifdef __CAMERA_DSC_MODE_NIGHT__
MDI_CAMERA_DSC_MODE_NIGHT, /* CAMERA_SETTING_DSC_MODE_NIGHT */
#endif
#ifdef __CAMERA_DSC_MODE_SHUTTER_PRI__
MDI_CAMERA_DSC_MODE_SHUTTER_PRI, /* CAMERA_SETTING_DSC_MODE_SHUTTER_PRI */
#endif
#ifdef __CAMERA_DSC_MODE_APERTURE_PRI__
MDI_CAMERA_DSC_MODE_APERTURE_PRI, /* CAMERA_SETTING_DSC_MODE_APERTURE_PRI */
#endif
#ifdef __CAMERA_DSC_MODE_ISO__
MDI_CAMERA_DSC_MODE_ISO, /* CAMERA_SETTING_DSC_MODE_APERTURE_PRI */
#endif
DUMMY_COMMAND
};
/****************************************************************************
* Global Variable - Extern
*****************************************************************************/
extern BOOL r2lMMIFlag;
// wangbei add start 20071010
#ifdef __NEW_STATUS_ICONS_STYLE__
extern BOOL g_is_need_draw_statusicons;
#endif
// wangbei add end
/****************************************************************************
* Global Function
*****************************************************************************/
#ifdef MMI_ON_HARDWARE_P
extern void custom_start_flashlight(kal_uint8 red_level, kal_uint8 green_level, kal_uint8 blue_level, kal_uint8 duty);
extern void custom_stop_flashlight(void);
#else /* MMI_ON_HARDWARE_P */
/* For PC Simulator - Dummy function */
/*****************************************************************************
* FUNCTION
* custom_start_flashlight
* DESCRIPTION
*
* PARAMETERS
* red_level [IN]
* green_level [IN]
* blue_level [IN]
* duty [IN]
* RETURNS
* void
*****************************************************************************/
void custom_start_flashlight(kal_uint8 red_level, kal_uint8 green_level, kal_uint8 blue_level, kal_uint8 duty)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
}
/*****************************************************************************
* FUNCTION
* custom_stop_flashlight
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void custom_stop_flashlight(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
}
#endif /* MMI_ON_HARDWARE_P */
extern kal_uint8 GpioCtrlReq(kal_uint8 action);
extern BOOL IsClamClose(void);
extern void SetClamState(U16 clam_state);
extern void AudioStopReq(U16 soundId);
extern U16 GetCurKeypadTone(void);
extern void GpioDetectInd(void *info);
#ifdef __MMI_CAMERA_MMS_SUPPORT__
extern int wap_is_ready(void);
#endif
#ifdef __MMI_TOUCH_SCREEN__
MMI_BOOL wgui_test_lsk_position(mmi_pen_point_struct pos);
#endif
/*****************************************************************************
* Local Variable
*****************************************************************************/
/* camera contex */
camera_context_struct g_camera_cntx;
#if defined(__CAMERA_DSC_MODE_SHUTTER_PRI__) || defined(__CAMERA_DSC_MODE_APERTURE_PRI__)
camera_dsc_mode_inline_data_struct g_camera_dsc_mode_cntx;
#endif
/*****************************************************************************
* Local Function
*****************************************************************************/
static U8 mmi_camera_del_scr_callback(void* ptr);
/* setting / path / stroage */
static BOOL mmi_camera_get_storage_disk_path(PS8 drv_buf);
static void mmi_camera_get_next_filename(PS8 file_buf_p);
static void mmi_camera_display_error_popup(void);
#ifdef __CAMERA_FEATURE_SELF_CAPTURE__
static void mmi_camera_display_sublcd_error_popup(void);
#endif
static void mmi_camera_dummy_func(void);
/* app */
static void mmi_camera_hilight_app(void);
static U16 mmi_camera_get_img_size_str_id(S32 image_width, S32 image_height);
static void mmi_camera_exit_app_screen(void);
static void mmi_camera_enter_state(camera_state_enum state);
static void mmi_camera_exit_current_state(void);
U8 mmi_camera_clam_close_event_hdlr(void *ptr);
static void mmi_camera_calc_remain_storage(void);
#ifdef __CAMERA_FEATURE_SELF_CAPTURE__
static void mmi_camera_toggle_self_capture(void);
#endif
static void mmi_camera_toggle_hide_osd(void);
static void mmi_camera_turn_on_preview_led_highlight(void);
static void mmi_camera_turn_on_capture_led_highlight(void);
static void mmi_camera_turn_off_led_highlight(void);
/* mainlcd preview state */
static void mmi_camera_entry_preview_state(void);
static void mmi_camera_exit_preview_state(void);
static void mmi_camera_preview_set_key_hdlr(void);
static void mmi_camera_preview_create_resource(void);
static void mmi_camera_preview_free_resource(void);
#if defined(__MMI_CAMERA_5_OSD_LAYER__) || defined(__MMI_CAMERA_3_OSD_LAYER__)
static void mmi_camera_create_osd_layer(void);
static void mmi_camera_free_osd_layer(void);
static void mmi_camera_init_osd_icon_layer_position(void);
#endif /* defined(__MMI_CAMERA_5_OSD_LAYER__) || defined(__MMI_CAMERA_3_OSD_LAYER__) */
void mmi_camera_preview_create_preview_resource(S32 offset_x, S32 offset_y, S32 width, S32 height, U8 rotate);
void mmi_camera_preview_free_preview_resource(void);
static void mmi_camera_preview_start(void);
static void mmi_camera_preview_stop(void);
static void mmi_camera_preview_set_blt_layer(BOOL is_previewing);
static void mmi_camera_preview_clear_background(void);
static void mmi_camera_preview_flatten_layer(BOOL is_previewing);
static void mmi_camera_preview_draw_osd(void);
static void mmi_camera_preview_draw_title(void);
static void mmi_camera_preview_draw_softkey(void);
static void mmi_camera_preview_draw_hint(void);
static void mmi_camera_preview_draw_icon(void);
static void mmi_camera_preview_draw_osd_timer(void);
static S32 mmi_camera_get_zoom_total_level_cnt(void);
#ifdef __CAMERA_FAST_ZOOM_SUPPORT__
static U16 mmi_camera_get_zoom_level_idx(S32 factor);
static void mmi_camera_start_fast_zoom_in(void);
static void mmi_camera_start_fast_zoom_out(void);
static void mmi_camera_stop_fast_zoom(void);
#endif /* __CAMERA_FAST_ZOOM_SUPPORT__ */
#ifdef __CAMERA_FEATURE_CONT_SHOT_DRAW_COUNTBAR__
static void mmi_camera_preview_draw_contshot_countbar(void);
#endif
static void mmi_camera_preview_set_hint(PS8 hint_str1, PS8 hint_str2, U16 fade_time);
static void mmi_camera_preview_hide_hint(void);
static U16 mmi_camera_preview_get_zoom_factor(void);
static void mmi_camera_preview_ev_inc_key_press(void);
static void mmi_camera_preview_ev_inc_key_release(void);
static void mmi_camera_preview_ev_dec_key_press(void);
static void mmi_camera_preview_ev_dec_key_release(void);
#ifdef __CAMERA_FEATURE_ICONBAR_PANEL__
static void mmi_camera_iconbar_right_arrow_press(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -