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

📄 mmidc_preview_wintab.c

📁 手机Camera部分上层软件代码
💻 C
📖 第 1 页 / 共 5 页
字号:
LOCAL void SetFlash(BOOLEAN is_flash);

/*****************************************************************************/
// 	Description : play shutter voice
//	Global resource dependence : 
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL void PlayShutterVoice(BOOLEAN is_play);

/*****************************************************************************/
// 	Description : open the window of setting save location
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL MMIDC_RESULT_E Dc_OpenSaveLocationWin(void);

/*****************************************************************************/
// 	Description : to handle the message of Save Disk  win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleSaveDiskWinMsg(
                                        MMI_WIN_ID_T		win_id, 
                                        MMI_MESSAGE_ID_E    msg_id, 
                                        DPARAM              param
                                        );

//*****************************************************************************/
// 	Description : open the window of setting AF
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL MMIDC_RESULT_E Dc_OpenDCAFSettingWin(void);

/*****************************************************************************/
// 	Description : handle the message of setting af window
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAFSettingWinMsg(
										 MMI_WIN_ID_T	win_id, 
										 MMI_MESSAGE_ID_E	msg_id, 
										 DPARAM				param
										 );

//*****************************************************************************/
// 	Description : alert DC_Open, DC_SetPreviewParam, DC_StartPreview wrong
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL void AlertDCStartPreviewWrong(void);

/*****************************************************************************/
// 	Description : Handle_TP_Button_Register
//         
//	Global resource dependence : 
//   Author:        bown.zhang
//	Note:   
/*****************************************************************************/
LOCAL void Handle_TP_Button_Register(MMI_WIN_ID_T win_id );

//the window for camera menu
WINDOW_TABLE(MMIDC_MENUWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleMenuWinMsg),    
    WIN_ID(MMIDC_MENU_WIN_ID),
	CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC, MMIDC_MENU_CTRL_ID),
    END_WIN
};


//the window for preview
WINDOW_TABLE(MMIDC_PREVIEWWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)MMIDC_HandlePreviewWinMsg),    
    WIN_ID(MMIDC_PREVIEW_WIN_ID),
    END_WIN
};

//the window for set effect
WINDOW_TABLE(MMIDC_EFFECTSETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleEffectSettingWinMsg),    
    WIN_ID(MMIDC_EFFECT_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_EFFECT_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_EFFECT),
    END_WIN
};

// Mode Setting
WINDOW_TABLE(MMIDC_MODESETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleModeSettingWinMsg),    
    WIN_ID(MMIDC_MODE_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_MODE_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_MODE),
    END_WIN
};

//the window for set quality
WINDOW_TABLE(MMIDC_QUALITYSETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleQualitySettingWinMsg),    
    WIN_ID(MMIDC_QUALITY_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_QUALITY_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_QUALITY),
    END_WIN
};

//the window for set photo size
WINDOW_TABLE(MMIDC_SIZESETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleSizeSettingWinMsg),    
    WIN_ID(MMIDC_SIZE_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_SIZE_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_SIZE),
    END_WIN
};

//the window for set video size
WINDOW_TABLE(MMIDV_VIDEO_SIZESETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleVideoSizeSettingWinMsg),    
    WIN_ID(MMIDV_SIZE_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDV_SIZE_LIST_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_SIZE),
    END_WIN
};

//the window for set video format
WINDOW_TABLE(MMIDV_VIDEO_FORMAT_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleVideoFormatSettingWinMsg),    
    WIN_ID(MMIDV_FORMAT_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDV_FORMAT_LIST_CTRL_ID),
    WIN_TITLE_ID(TXT_VC_FORMAT),
    END_WIN
};

//the window for set voice record
WINDOW_TABLE(MMIDV_VOICE_REC_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleVoiceRecSettingWinMsg),    
    WIN_ID(MMIVC_RECORDSET_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIVC_RECORDSET_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_VC_VOICE_REC_QULITY),
    END_WIN
};


//the window for set shutter voice
WINDOW_TABLE(MMIDC_SHUTTERVOICESETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleShutterVoiceSettingWinMsg),    
    WIN_ID(MMIDC_SHUTTERVOICE_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_ENABLE_OR_DISABLE_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_SHUTTERVOICE),
    END_WIN
};

// Timer Setting
WINDOW_TABLE(MMIDC_TIMERSETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleOverTimeSettingWinMsg),    
    WIN_ID(MMIDC_TIMER_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_TIMER_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_TIMER),
    END_WIN
};

// Circle Setting
WINDOW_TABLE(MMIDC_CIRCLE_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleOverCircleSettingWinMsg),    
    WIN_ID(MMIDC_CRICLE_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_FRAME_SETTING_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_CIRCLE),
    END_WIN
};


//the window for set strobe light
WINDOW_TABLE(MMIDC_FLASHSETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleFlashSettingWinMsg),    
    WIN_ID(MMIDC_FLASH_SETTING_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_ENABLE_OR_DISABLE_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_SETFLASH),
    END_WIN
};

WINDOW_TABLE(MMIDC_RECORDSPEED_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleRecordSpeedSettingWinMsg),    
    WIN_ID(MMIVC_VELOCITY_LIST_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIVC_VELOCITY_LIST_CTRL_ID),
    WIN_TITLE_ID(TXT_VC_VELOCITY),
    END_WIN
};


//the window for set capture osd type
WINDOW_TABLE(MMIDC_CAPTURE_OSD_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleCaptureOSDSettingWinMsg),    
    WIN_ID(MMIDC_CAPTURE_OSD_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_CAPTURE_SETTING_LIST_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_PHOTO_CHARACTER),
    END_WIN
};

//the window for capture character osd
WINDOW_TABLE(MMIDC_OSD_CHARACTER_INPUT_WIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleInputOSDCharacterWinMsg),    
    WIN_ID(MMIDC_CAPTURE_CHARACTER_WIN_ID),
	CREATE_TEXTEDITBOX_CTRL(INPUT_RECT_LEFT, INPUT_RECT_TOP, INPUT_RECT_RIGHT, INPUT_RECT_BOTTOM, \
							MAX_OSD_STRING_NUM * 2, MAX_OSD_STRING_NUM, \
							IM_DEFAULT_ALL_INPUT_MODE_SET, \
							IM_PINYIN_MODE, \
							MMIDC_CAPTURE_CHARACTER_OSD_EDIT_CTRL_ID\
							),
    WIN_TITLE_ID(TXT_DC_PHOTO_INPUT),
    END_WIN
};

//the window for select storage device
WINDOW_TABLE(MMIDC_SAVE_DISK_WIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleSaveDiskWinMsg),    
    WIN_ID(MMIDC_SAVE_DISK_WIN_ID),
    WIN_TITLE_ID(TXT_MMIMULTIM_SAVE_DISK),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIDC_SAVE_DISK_CTRL_ID),
    END_WIN
};

//the window for set af
WINDOW_TABLE(MMIDC_AF_SETTINGWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleAFSettingWinMsg),    
    WIN_ID(MMIVC_AFSET_WIN_ID),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_RADIOLIST_E, LISTBOX_RADIO1_E, MMIVC_AFSET_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_AF),
    END_WIN
};
#ifdef _MMI_OCR
WINDOW_TABLE(MMIOCR_CAPTURE_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)MMIOCR_HandleCaptureWinMsg),    
    WIN_ID(MMIOCR_CAPTURE_WIN_ID),
    END_WIN
};

/*****************************************************************************/
// 	Description : open the window of camera menu
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
PUBLIC BOOLEAN MMIOCR_OpenCaptureWin(void)
{
 return MMK_CreateWin((uint32*)MMIOCR_CAPTURE_TAB, PNULL);
}

#endif
/*****************************************************************************/
// 	Description : open the window of camera menu
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
MMIDC_RESULT_E MMIDC_OpenMenuWin(void)
{
	MMK_CreateWin((uint32*)MMIDC_MENUWIN_TAB, PNULL);
    return (MMIDC_RESULT_SUCCESS);
}

/*****************************************************************************/
// 	Description : handle the message of camera menu window
//	Global resource dependence : none
//  Author: bruce.chi
//	Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleMenuWinMsg(
											 MMI_WIN_ID_T	win_id, 
											 MMI_MESSAGE_ID_E	msg_id, 
											 DPARAM				param
											 )
{
	MMI_RESULT_E		recode		= MMI_RESULT_TRUE;
	MMI_MENU_GROUP_ID_T	group_id	= 0;
	MMI_MENU_ID_T		menu_id		= 0;
    MMI_STRING_T		prompt_str	= {0};
	MMI_CTRL_ID_T		menu_ctrl_id = MMIDC_MENU_CTRL_ID;
	BOOLEAN				is_grayed	= FALSE;

	MMIDC_ALBUM_OPEN_FROM open_album_status = {0};

	switch(msg_id)
    {
    case MSG_FULL_PAINT:
        MMK_SetAtvCtrl(win_id, menu_ctrl_id);
	//设置菜单项是否要变灰
#ifdef MMI_SDCARD
		if(MMI_GetSDStatus()&&MMI_GetUdiskStatus())
		{
			 is_grayed = FALSE;
		}
		else
		{
			 is_grayed = TRUE;
		}
		MMI_EnableGrayed(
                    MENU_DC, 
                    ID_DC_COPY_ALL, 
                    is_grayed
                    );
#endif
        break;

    case MSG_CTL_OK:
		GUIMENU_GetRetID(MMIDC_MENU_CTRL_ID, &group_id, &menu_id);
		switch(menu_id)
		{
        case ID_DC_NORMAL:
        	open_album_status.is_from_mms = FALSE;
			open_album_status.max_siz = 0;
			open_album_status.win_id = win_id;
        	SetAlbumOpenStatus(open_album_status);
			SCI_TRACE_LOW("LW TRACE:IdleWin_HandleMsg__DDDDDDDDDDDDDDDDDDDD");
			MMIDC_OpenPreviewWin(TRUE);
            break;

		case ID_DC_ALBUM:
			open_album_status.is_from_mms = FALSE;
			open_album_status.max_siz = 0;
			open_album_status.win_id = win_id;
            MMIDC_OpenAlbumWin(open_album_status);
			break;
#ifdef _MMI_OCR
        case ID_DC_OCR://app_web for enter ocr preview window @annie.an
            MMIOCR_OpenPreviewWin(TRUE);
            break;
#endif
		case ID_DC_SAVE_DISK:
			Dc_OpenSaveLocationWin( );
			break;

		case ID_DC_COPY_ALL:
			MMIDC_OpenCopyAllWin();
			break;
			

⌨️ 快捷键说明

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