📄 cameraapp.c
字号:
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/****************************************************************************
* Include Files
*****************************************************************************/
#include "MMI_features.h"
#ifdef __MMI_CAMERA__
#include "stdC.h"
#include "L4Dr1.h"
#include "GlobalDefs.h"
#include "lcd_if.h" /* LCD layer enable flag */
#include "lcd_sw_rnd.h" /* for LCD size */
#define __MMI_CAMERA_ONLY__
#include "MMI_features_camera.h" /* features */
#include "NVRAMType.h" /* NVRAM data type */
#include "NVRAMProt.h" /* NVRAM access fucntions */
#include "NVRAMEnum.h" /* NVRAM ID define */
#ifdef MMI_ON_HARDWARE_P
#include "nvram_data_items.h" /* ID to store file path */
#include "MMI_trc.h"
#endif /* MMI_ON_HARDWARE_P */
/* framework related headers */
#include "CustMenuRes.h"
#include "GlobalConstants.h" /* KEY ID define */
#include "GlobalDefs.h" /* Golbal Image and String ID. */
#include "gui.h" /* Gui functions */
#include "wgui_categories.h"
#include "HistoryGprot.h" /* Screen history */
#include "Unicodexdcl.h" /* Unicode transform functions */
#include "EventsGprot.h"
#include "EventsDef.h"
#include "SettingDefs.h" /* ST_NOTIFYDURATION define */
#include "SettingProfile.h" /* SUCCESS_TONE define */
#include "wgui.h" /* for GetDateTime() */
#include "CommonScreens.h" /* DisplayPopup() */
#include "gpioInc.h" /* LED */
#include "DebugInitDef.h" /* MMI_ASSERT */
#include "ScrMemMgrGprot.h" /* screen memeory manager */
#include "SettingProfile.h"
#include "wgui_categories_multimedia.h"
#include "wgui_categories_popup.h"
#include "wgui_status_icons.h"
#include "wgui_softkeys.h"
#include "SubLCDHistoryGprot.h"
#include "Fat_fs.h"
#include "FileManagerDef.h"
#include "FileManagerGProt.h" /* file path */
#include "FileMgr.h"
#include "mmiapi_enum.h" /* Stop LED */
#include "MMI_trc.h"
#include "MainMenuDef.h" /* Multimedia icon */
#include "ProfileGprots.h" /* playRequestedTone */
#include "KeyBrd.h" /* keypad tone related interface */
#include "SimDetectionGprot.h"
#ifdef EXIF_SUPPORT
#include "exif.h"
#endif
/* gdi, mid, camera app headers */
#include "gdi_include.h" /* graphic library */
#include "gdi_image_jpeg.h" /* jpeg decoder */
#include "mdi_datatype.h"
#include "mdi_camera.h"
#include "mdi_audio.h"
#include "Audio3DEffect.h"
#ifdef __MMI_TVOUT__
#include "mdi_tv.h"
#endif
#ifdef __CAMERA_FEATURE_TOUCH_SCREEN__
#include "wgui_touch_screen.h"
#endif
#include "resource_camera_skins.h" /* UI custom config */
#include "CameraGprot.h"
#include "CameraApp.h" /* camera app data */
#include "CameraMenu.h" /* function declare */
#include "CameraResDefs.h" /* resource ID def */
#include "ImageViewer.h"
#include "gui_setting.h"
#include "wgui.h"
#ifdef __MMI_SUBLCD_CAMERA__
#include "IdleAppProt.h"
#endif
#if defined(__MMI_FTS_SUPPORT__)
#if defined(__MMI_BT_BCHS_SUPPORT__)
#include "BTMMIBCHS.h"
#include "BTMMIScr.h"
#include "FTPMMIGprots.h"
#elif defined(__MMI_BT_MTK_SUPPORT__)
#include "BTMMICm.h"
#include "BTMMIFtpGprots.h"
//#include "BTMMIOppGprots.h"
#endif
#endif
#ifdef __MMI_OPP_SUPPORT__
#if defined(__MMI_BT_BCHS_SUPPORT__)
#include "OPPMMIGprots.h"
#elif defined(__MMI_BT_MTK_SUPPORT__)
#include "BTMMIOppGprots.h"
#endif
#endif
#if defined(__CAMERA_OSD_HORIZONTAL__)
#include "ScreenRotationGprot.h"
#endif
#ifdef __CAMERA_FEATURE_ADD_FRAME_COLOR_IDX__
#include "imgdma.h"
#endif
#ifdef MMI_ON_WIN32
#undef __MMI_CAMERA_MMS_SUPPORT__
#endif
#ifdef __MMI_CAMERA_MMS_SUPPORT__
#include "wapadp.h"
#endif
#include "USBDeviceGprot.h"
#if defined(MT6225) || defined(MT6226) || defined(MT6226M) || defined(MT6227)
#define MMI_CAMERA_CHECK_CONCURRENCY
#endif
/*****************************************************************************
* Define
*****************************************************************************/
#define DUMMY_COMMAND (0)
#define HINT_POPUP_FADE_TIME (1200)
#define TOGGLE_POPUP_FADE_TIME (800)
#define DONE_POPUP_FADE_TIME (1000)
#define CAMERA_ERR_CORRUPT_FAT (-1)
#define CAMERA_ERR_PHONE_DISK_FULL (-2)
#define CAMERA_ERR_CARD_DISK_FULL (-3)
#define CAMERA_ERR_WRITE_PROTECT (-4)
#define CAMERA_ERR_ROOT_DIR_FULL (-5)
#define CAMERA_ERR_SAVE_FAIL (-6)
#define CAMERA_ERR_BT_IS_WORKING (-7)
#define POPLIST_LIST_SPACING (1)
#define CAMERA_AF_LARGE_WIDTH (32)
#define CAMERA_AF_NORMAL_WIDTH (32)
#define CAMERA_AF_SMALL_WIDTH (32)
#if defined(VC0558)
#define CAMEAR_BG_TRASN_COLOR (0x0821)
#else
#define CAMEAR_BG_TRASN_COLOR (GDI_COLOR_TRANSPARENT)
#endif
#define TRANSLATE_COORDINATE_TO_270(X,Y,TMP)\
TMP=X; \
X=Y; \
Y=(LCD_WIDTH-1)-TMP;
#define BEFORE_PLAY_AUDIO()\
g_camera_cntx.is_audio_finished=FALSE;
/*****************************************************************************
* Typedef
*****************************************************************************/
/* camera application state */
typedef enum
{
CAMERA_STATE_EXIT = 0, /* 0 */
/* main lcd */
CAMERA_STATE_PREVIEW, /* 1 */
CAMERA_STATE_COUNTDOWN, /* 2 */
CAMERA_STATE_CONTSHOT, /* 3 */
CAMERA_STATE_BURSTSHOT, /* 4 */
CAMERA_STATE_BURSTSHOT_SAVE_CONFIRM, /* 5 */
CAMERA_STATE_BURSTSHOT_SAVING, /* 6 */
CAMERA_STATE_SAVE_DONE, /* 7 */
CAMERA_STATE_SAVE_CONFIRM, /* 8 */
/* toggle popup */
CAMERA_STATE_TOGGLE_TO_SUB, /* 10 */
CAMERA_STATE_TOGGLE_TO_MAIN, /* 11 */
/* sub lcd */
CAMERA_STATE_SUB_PREVIEW, /* 12 */
CAMERA_STATE_SUB_COUNTDOWN, /* 13 */
CAMERA_STATE_SUB_CONTSHOT, /* 14 */
CAMERA_STATE_SUB_BURSTSHOT, /* 15 */
CAMERA_STATE_SUB_BURSTSHOT_SAVING /* 16 */
} camera_state_enum;
#ifdef __MMI_SUBLCD_CAMERA__
typedef enum
{
SUB_CAMERA_STATE_EXIT = 0, /* 0 */
/* main lcd */
SUB_CAMERA_STATE_PREVIEW, /* 1 */
SUB_CAMERA_STATE_COUNTDOWN, /* 2 */
SUB_CAMERA_STATE_CONTSHOT, /* 3 */
SUB_CAMERA_STATE_BURSTSHOT, /* 4 */
SUB_CAMERA_STATE_BURSTSHOT_SAVE_CONFIRM, /* 5 */
SUB_CAMERA_STATE_BURSTSHOT_SAVING, /* 6 */
SUB_CAMERA_STATE_SAVE_DONE, /* 7 */
SUB_CAMERA_STATE_SAVE_CONFIRM, /* 8 */
} sublcd_camera_state_enum;
#endif
/****************************************************************************
* Setting command map
*****************************************************************************/
/* mapping mmi settings to mdi command. */
/*********** EV ***********/
const U8 camera_ev_command_map[CAMERA_SETTING_EV_COUNT + 1] =
{
#ifdef __CAMERA_FEATURE_EV_4__
MDI_CAMERA_EV_N4, /* CAMERA_SETTING_EV_N4 */
#endif
#ifdef __CAMERA_FEATURE_EV_3__
MDI_CAMERA_EV_N3, /* CAMERA_SETTING_EV_N3 */
#endif
#ifdef __CAMERA_FEATURE_EV_2__
MDI_CAMERA_EV_N2, /* CAMERA_SETTING_EV_N2 */
#endif
MDI_CAMERA_EV_N1, /* CAMERA_SETTING_EV_N1 */
MDI_CAMERA_EV_0, /* CAMERA_SETTING_EV_0 */
MDI_CAMERA_EV_P1, /* CAMERA_SETTING_EV_P1 */
#ifdef __CAMERA_FEATURE_EV_2__
MDI_CAMERA_EV_P2, /* CAMERA_SETTING_EV_P2 */
#endif
#ifdef __CAMERA_FEATURE_EV_3__
MDI_CAMERA_EV_P3, /* CAMERA_SETTING_EV_P3 */
#endif
#ifdef __CAMERA_FEATURE_EV_4__
MDI_CAMERA_EV_P4, /* CAMERA_SETTING_EV_P4 */
#endif
DUMMY_COMMAND
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -