⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cameraapp.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
static void mmi_camera_iconbar_right_arrow_release(void);
static void mmi_camera_iconbar_left_arrow_press(void);
static void mmi_camera_iconbar_left_arrow_releas(void);
static void mmi_camera_iconbar_up_arrow_press(void);
static void mmi_camera_iconbar_up_arrow_release(void);
static void mmi_camera_iconbar_down_arrow_press(void);
static void mmi_camera_iconbar_down_arrow_release(void);
#endif /* __CAMERA_FEATURE_ICONBAR_PANEL__ */ 

#ifdef __CAMERA_AUTOFOCUS_MODE_MANUAL__
static void mmi_camera_mf_forward(void);
static void mmi_camera_mf_backward(void);
static void mmi_camera_mf_stop(void);
static void mmi_camera_mf_forward_continue(void);
static void mmi_camera_mf_backward_continue(void);
#endif /* __CAMERA_AUTOFOCUS_MODE_MANUAL__ */ 

static void mmi_camera_init_function_key(void);

/* static void mmi_camera_exec_function_key(camera_key_map2_function_enum key); */
#ifdef __CAMERA_AUTOFOCUS_MODE_MANUAL__
static void mmi_camera_toggle_updown_key(void);
#endif 

#ifdef __CAMERA_FEATURE_ZOOM__
static void mmi_camera_preview_zoom_in(void);
static void mmi_camera_preview_zoom_out(void);

#ifndef __CAMERA_FEATURE_ICONBAR_PANEL__
static void mmi_camera_preview_up_arrow_press(void);
static void mmi_camera_preview_up_arrow_release(void);
static void mmi_camera_preview_down_arrow_press(void);
static void mmi_camera_preview_down_arrow_release(void);
#endif /* __CAMERA_FEATURE_ICONBAR_PANEL__ */ 
#endif /* __CAMERA_FEATURE_ZOOM__ */ 

/* hotkeys */
#ifndef __CAMERA_FEATURE_ICONBAR_PANEL__
#ifdef __CAMERA_FEATURE_EFFECT__
static void mmi_camera_preview_effect_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_WB__
static void mmi_camera_preview_wb_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_LED_HIGHLIGHT__
static void mmi_camera_preview_led_highlight_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_FLASH__
static void mmi_camera_preview_flash_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_NIGHT__
static void mmi_camera_preview_night_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_CONT_SHOT__
static void mmi_camera_preview_cont_shot_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_DELAY_TIMER__
static void mmi_camera_preview_delay_timer_hotkey_press(void);
#endif 

static void mmi_camera_preview_image_qty_hotkey_press(void);
static void mmi_camera_preview_image_size_hotkey_press(void);

#ifdef __CAMERA_FEATURE_STORAGE__
static void mmi_camera_preview_storage_hotkey_press(void);
#endif 

#ifdef __CAMERA_AUTOFOCUS_MODE__
static void mmi_camera_preview_af_mode_hotkey_press(void);
#endif 

#ifdef __CAMERA_AUTOFOCUS_METERING__
static void mmi_camera_preview_af_meter_hotkey_press(void);
#endif 

#ifdef __CAMERA_DSC_MODE__
static void mmi_camera_preview_dsc_mode_hotkey_press(void);
#endif 

#ifdef __CAMERA_DSC_MODE_ISO__
static void mmi_camera_preview_iso_hotkey_press(void);
#endif 

#ifdef __CAMERA_FEATURE_AE_METER__
static void mmi_camera_preview_ae_meter_hotkey_press(void);
#endif 

#endif /* __CAMERA_FEATURE_ICONBAR_PANEL__ */ 

#ifdef __MMI_CAMERA_AF_TEST__
static void mmi_camera_af_test(void);
static void mmi_camera_af_test_start(void);
static void mmi_camera_af_and_capture(void);
#endif /* __MMI_CAMERA_AF_TEST__ */ 

#ifdef __CAMERA_AUTOFOCUS_MODE__
static void mmi_camera_preview_af_mode_change(BOOL is_next);
#endif 

#ifdef __CAMERA_AUTOFOCUS_METERING__
static void mmi_camera_preview_af_meter_change(BOOL is_next);
#endif 

#ifdef __CAMERA_DSC_MODE__
static void mmi_camera_preview_dsc_mode_change(BOOL is_next);
static void mmi_camera_init_dsc_mode(void);
#endif /* __CAMERA_DSC_MODE__ */ 

#ifdef __CAMERA_FEATURE_EFFECT__
static void mmi_camera_preview_effect_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_WB__
static void mmi_camera_preview_wb_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_LED_HIGHLIGHT__
static void mmi_camera_preview_led_highlight_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_FLASH__
static void mmi_camera_preview_flash_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_NIGHT__
static void mmi_camera_preview_night_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_CONT_SHOT__
static void mmi_camera_preview_cont_shot_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_DELAY_TIMER__
static void mmi_camera_preview_delay_timer_change(BOOL is_next);
#endif 

static void mmi_camera_preview_image_size_change(BOOL is_next);

static void mmi_camera_preview_image_qty_change(BOOL is_next);

#ifdef __CAMERA_FEATURE_STORAGE__
static void mmi_camera_preview_storage_change(BOOL is_next);
#endif 

#ifdef __CAMERA_DSC_MODE_ISO__
static void mmi_camera_preview_iso_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_AE_METER__
static void mmi_camera_preview_ae_meter_change(BOOL is_next);
#endif 

#ifdef __CAMERA_FEATURE_ADD_FRAME__
static void mmi_camera_draw_add_frame(void);
static void mmi_camera_preview_change_frame_up(void);
static void mmi_camera_preview_change_frame_down(void);
#endif /* __CAMERA_FEATURE_ADD_FRAME__ */ 

#ifdef __CAMERA_FEATURE_ADD_FRAME_COLOR_IDX__
static void mmi_camera_draw_add_frame_color_idx(void);
static camera_overlay_frame_kind mmi_camera_get_overlay_frame_kind(void);
#endif /* __CAMERA_FEATURE_ADD_FRAME_COLOR_IDX__ */ 

static void mmi_camera_preview_lsk_press(void);
static void mmi_camera_preview_lsk_release(void);
static void mmi_camera_preview_rsk_press(void);
static void mmi_camera_preview_rsk_release(void);

/* countdown state */
static void mmi_camera_entry_countdown_state(void);
static void mmi_camera_exit_countdown_state(void);
static void mmi_camera_countdown_cyclic(void);
static void mmi_camera_countdown_stop_LED(void);

#ifdef __COUNTDOWN_USING_MMA__
static void mmi_camera_init_countdown_mma(void);
static void mmi_camera_deinit_countdown_mma(void);
#endif

/* contshot state */
static void mmi_camera_entry_contshot_state(void);
static void mmi_camera_exit_contshot_state(void);
static void mmi_camera_contshot_cyclic(void);

#ifdef __CAMERA_FEATURE_CONT_SHOT_BURST__
   /* burstshot state */
static void mmi_camera_entry_burstshot_capture_state(void);
static void mmi_camera_exit_burstshot_capture_state(void);

#if defined(__CAMERA_FEATURE_CONT_SHOT_BURST__) && defined(__CAMERA_FEATURE_CONT_SHOT_BURST_NON_BLOCK__)
static void mmi_camera_burstshot_capture_result_hdlr(MDI_RESULT ret, U16 captured_count);
static void mmi_camera_burstshot_close_multi_sound(void);
#endif /* defined(__CAMERA_FEATURE_CONT_SHOT_BURST__) && defined(__CAMERA_FEATURE_CONT_SHOT_BURST_NON_BLOCK__) */ 

   /* burstshot save confirm state */
static void mmi_camera_entry_burstshot_save_confirm_state(void);
static void mmi_camera_exit_burstshot_save_confirm_state(void);
static void mmi_camera_burstshot_save_confirm_lsk_press(void);
static void mmi_camera_burstshot_save_confirm_lsk_release(void);
static void mmi_camera_burstshot_save_confirm_rsk_press(void);
static void mmi_camera_burstshot_save_confirm_rsk_release(void);

   /* burstshot saving state */
static void mmi_camera_entry_burstshot_saving_state(void);
static void mmi_camera_exit_burstshot_saving_state(void);
static void mmi_camera_burstshot_saving_cyclic(void);
#endif /* __CAMERA_FEATURE_CONT_SHOT_BURST__ */ 

/* save confirm state */
static void mmi_camera_entry_save_confirm_state(void);
static void mmi_camera_exit_save_confirm_state(void);
static void mmi_camera_save_confirm_lsk_press(void);
static void mmi_camera_save_confirm_lsk_release(void);
static void mmi_camera_save_confirm_rsk_press(void);
static void mmi_camera_save_confirm_rsk_release(void);
static void mmi_camera_save_confirm_cancel_file(void);
static void mmi_camera_save_confirm_save_file(void);

#ifdef __MMI_CAMERA_MMS_SUPPORT__
static void mmi_camera_save_confirm_send_to_mms_press(void);
static void mmi_camera_save_confirm_send_to_mms_release(void);
static void mmi_camera_save_and_send_to_mms(void);
#endif /* __MMI_CAMERA_MMS_SUPPORT__ */ 

#if defined(__CAMERA_OSD_HORIZONTAL__) 
static void mmi_camera_update_osd_touch_icon(void);
#endif 

/* capture */
static void mmi_camera_capture(void);
static void mmi_camera_capture_button_press(void);
static void mmi_camera_capture_button_release(void);

#ifdef __CAMERA_AUTOFOCUS__
static void mmi_camera_capture_button_autofocus_pressed(void);
static void mmi_camera_capture_button_autofocus_released(void);
static void mmi_camera_autofocus_callback(mdi_result pMsg);
static void mmi_camera_play_af_succeed_finished(void);
static void mmi_camera_draw_autofocus_process(void);
static void mmi_camera_preview_draw_osd_timer(void);
static void mmi_camera_draw_bolder_rect(S32 x1, S32 y1, S32 x2, S32 y2, S32 bolder_width, gdi_color frame_color);
#endif /* __CAMERA_AUTOFOCUS__ */ 


#if defined(__CAMERA_FEATURE_CONT_SHOT_BURST_NON_BLOCK__)
static void mmi_camera_capture_play_multi_channel_sound(void);
#endif 

/* save done */
static void mmi_camera_entry_save_done_state(void);
static void mmi_camera_exit_save_done_state(void);
static void mmi_camera_save_done_timeout(void);

#ifdef __MMI_SUBLCD__
   /* sub screen */
void mmi_camera_entry_sublcd_screen(void);
void mmi_camera_exit_sublcd_screen(void);
static void mmi_camera_sublcd_capture(void);
#endif /* __MMI_SUBLCD__ */ 

#ifdef __CAMERA_FEATURE_SELF_CAPTURE__
   /* toggle to sub state */
static void mmi_camera_entry_toggle_to_sub_state(void);
static void mmi_camera_exit_toggle_to_sub_state(void);
static void mmi_camera_toggle_to_sub_timeout(void);

   /* toggle to main state */
static void mmi_camera_entry_toggle_to_main_state(void);
static void mmi_camera_exit_toggle_to_main_state(void);
static void mmi_camera_toggle_to_main_timeout(void);

   /* sublcd preview state */
static void mmi_camera_entry_sublcd_preview_state(void);
static void mmi_camera_exit_sublcd_preview_state(void);
static void mmi_camera_sublcd_preview_set_key_hdlr(void);
static void mmi_camera_sublcd_preview_start(void);
static void mmi_camera_sublcd_preview_stop(void);
static void mmi_camera_sublcd_preview_set_blt_layer(BOOL is_previewing);
static void mmi_camera_sublcd_preview_lsk_press(void);
static void mmi_camera_sublcd_preview_rsk_press(void);
static void mmi_camera_sublcd_preview_lsk_release(void);
static void mmi_camera_sublcd_preview_rsk_release(void);

   /* sublcd countdown state */
static void mmi_camera_entry_sublcd_countdown_state(void);
static void mmi_camera_exit_sublcd_countdown_state(void);
static void mmi_camera_sublcd_countdown_cyclic(void);
static void mmi_camera_sublcd_countdown_stop_LED(void);

   /* sublcd contshot state */
static void mmi_camera_entry_sublcd_contshot_state(void);
static void mmi_camera_exit_sublcd_contshot_state(void);
static void mmi_camera_sublcd_contshot_cyclic(void);

#ifdef __CAMERA_FEATURE_CONT_SHOT_BURST__
      /* sublcd burstshot state */
static void mmi_camera_entry_sublcd_burstshot_state(void);
static void mmi_camera_exit_sublcd_burstshot_state(void);

#ifdef __CAMERA_FEATURE_CONT_SHOT_BURST_NON_BLOCK__
static void mmi_camera_sublcd_burstshot_capture_result_hdlr(MDI_RESULT ret, U16 captured_count);
#endif 

#endif /* __CAMERA_FEATURE_CONT_SHOT_BURST__ */ 

   /* sublcd burstshot saving state */
#ifdef __CAMERA_FEATURE_CONT_SHOT_BURST__
static void mmi_camera_entry_sublcd_burstshot_saving_state(void);
static void mmi_camera_exit_sublcd_burstshot_saving_state(void);
static void mmi_camera_sublcd_burstshot_saving_cyclic(void);
#endif /* __CAMERA_FEATURE_CONT_SHOT_BURST__ */ 

   /* sublcd capture */
static void mmi_camera_sublcd_capture_button_press(void);
static void mmi_camera_sublcd_capture(void);

#ifdef __CAMERA_FEATURE_CONT_SHOT_TILE__
static void mmi_camera_tileshot_capture(void);

#ifdef __CAMERA_FEATURE_SELF_CAPTURE__
static void mmi_camera_sublcd_tileshot_capture(void);
#endif 
#endif /* __CAMERA_FEATURE_CONT_SHOT_TILE__ */ 

#endif /* __CAMERA_FEATURE_SELF_CAPTURE__ */ 



/* util draw */
static void mmi_camera_draw_style_text(PS8 str, S32 offset_x, S32 offset_y, camera_style_text_struct *style_txt);
static void mmi_camera_initilize_zoom_factor(void);

#if defined(__CAMERA_FEATURE_TOUCH_SCREEN__) && defined(__MMI_TOUCH_SCREEN__)
static void mmi_camera_touch_scr_pen_down_hdlr(mmi_pen_point_struct pos);
static void mmi_camera_touch_scr_pen_up_hdlr(mmi_pen_point_struct pos);
static void mmi_camera_touch_scr_pen_move_hdlr(mmi_pen_point_struct pos);
static BOOL mmi_camera_touch_scr_hit_test(S32 pos_x, S32 pos_y, camera_ui_touch_struct *touch_obj);
#endif /* defined(__CAMERA_FEATURE_TOUCH_SCREEN__) && defined(__MMI_TOUCH_SCREEN__) */ 

/* screen snapshot */
#ifdef __MMI_SCREEN_SNAPSHOT__
static void mmi_camera_entry_scr_snapshot_screen(void);
static void mmi_camera_exit_scr_snapshot_screen(void);
#endif /* __MMI_SCREEN_SNAPSHOT__ */ 

#ifdef __MMI_SUBLCD_CAMERA__
static void mmi_sublcd_camera_exit_option_screen(void);
static void mmi_sublcd_camera_entry_preview_screen(void);
static void mmi_sublcd_camera_entry_flash_screen(void);
static void mmi_sublcd_camera_flash_highlight_hdlr(S32 idx);
static void mmi_sublcd_camera_exit_flash_screen(void);
static void mmi_sublcd_camera_exit(void);
static void mmi_sublcd_camera_set_flash(void);
static void mmi_sublcd_camera_hilight_preview(void);
static void mmi_sublcd_camera_hilight_flash(void);
static void mmi_sublcd_camera_hilight_flash_option(void);
static void mmi_sublcd_camera_hilight_exit(void);
U8 mmi_sublcd_camera_clam_close_event_hdlr(void *ptr);
static void mmi_sublicd_camera_display_error_screen(void);
static void mmi_sublcd_camera_capture(void);
static void mmi_sublcd_camera_preview_start(void);
static void mmi_sublcd_camera_entry_flash_screen_ex(void);
static void mmi_sublcd_camera_entry_preview_screen_ex(void);
static void mmi_sublcd_camera_entry_option_screen_ex(void);



static void mmi_sublcd_camera_capture(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S8 buf_filename[FMGR_PATH_BUFFER_SIZE];

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/

    /* this function has nvram access */
    mmi_camera_get_next_filename(buf_filename);

    mmi_camera_turn_on_capture_led_highlight();

    g_camera_cntx.is_continue_capture = FALSE;
    g_camera_cntx.last_error = mdi_camera_capture_to_file(buf_filename, g_camera_cntx.is_continue_capture);

    /* play capture sound after capture */
    mmi_camera_capture_play_sound();

    /* restore black background */
#ifdef CAMERA_MODULE_WITH_LCD
    gdi_lcd_set_active(GDI_LCD_SUB_LCD_HANDLE);
    gdi_layer_clear(GDI_COLOR_BLACK);
    gdi_lcd_set_active(GDI_LCD_MAIN_LCD_HANDLE);
#endif /* CAMERA_MODULE_WITH_LCD */ 

    mmi_camera_turn_off_led_highlight();

    /* captured, previwing is stopped, change blt layer */
    mmi_camera_sublcd_preview_set_blt_layer(FALSE);

    ClearKeyEvents();
    if (g_camera_cntx.last_error != MDI_RES_CAMERA_SUCCEED)
    {
        FS_Delete((U16*) buf_filename);
        DisplaySubLcdPopup(IMG_GLOBAL_WARNING);
        DeleteSubLCDScreen(SCR_ID_CAMERA_SUBLCD_APP);
        ClearInputEventHandler(MMI_DEVICE_KEY);
        return;
    }
    mmi_sublcd_camera_preview_start();

}

static void mmi_sublcd_camera_preview_start(void)
{
    mdi_camera_setting_struct camera_setting_data;
    S32 sublcd_width;
    S32 sublcd_height;

    #if defined(ISP_SUPPORT)
        /* set correct lcm rotate && config rotate of preview layer, only ISP_SUPPORT need */
        gdi_layer_push_and_set_active(g_camera_cntx.sublcd_base_layer_handle);
        gdi_layer_set_rotate(CAMERA_LCM_SUBLCD_CLAM_CLOSE_ROTATE);
        gdi_layer_pop_and_restore_active();
    #endif /* defined(ISP_SUPPORT) */ 
      
        gdi_lcd_set_active(GDI_LCD_SUB_LCD_HANDLE);
        gdi_layer_get_dimension(&sublcd_width, &sublcd_height);
        gdi_layer_set_blt_layer(g_camera_cntx.sublcd_base_layer_handle, 0, 0, 0);

    #ifdef CAMERA_MODULE_WITH_LCD
        gdi_layer_clear(CAMEAR_BG_TRASN_COLOR);
    #endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -