📄 mmidc_preview_wintab.c
字号:
case OSD_MENU_VIDEO_FOMAT:
Dc_OpenVideoFormatSettingWin();
break;
#ifdef MMI_ENABLE_AUTO_FOCUS
case OSD_MENU_DC_AF:
Dc_OpenDCAFSettingWin();
break;
#endif
default:
DC_ASSERT_LOW(0);
break;
}
break;
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
//弹出像框设置菜单
Dc_OpenCircleSettingWin();
break;
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
DC_ASSERT_LOW(0);
break;
default:
DC_ASSERT_LOW(0);
break;
}
}
break;
case MSG_APP_CANCEL:
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU://预览主屏全屏、文字OSD MENU
//close this win
MMK_CloseWin(win_id);
break;
case PREVIEW_WIN_FULLSCREEN_IMAGE_OSDMENU://预览主屏全屏、图片OSD MENU
//stop preview
DCAdap_StopPreview();
//draw character osd menu
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
DrawPreviewCharacterOSDMenu(is_from_dc);
//退出设置栏注册软键行
Handle_TP_Button_Register(win_id);
//start preview
DCAdap_StartPreview();
//save the status
DCSetting_SetPreviewWinMode(PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU);
break;
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
//close this win
MMK_CloseWin(win_id);
break;
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
//close this win
MMK_CloseWin(win_id);
break;
default:
DC_ASSERT_LOW(0);
break;
}
break;
case MSG_APP_LEFT:
#ifdef _MMI_OCR
if(!MMIOCR_Is_From_OCR())
#endif
{
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_FULLSCREEN_IMAGE_OSDMENU:
DCSetting_GetPreviewImgOSDMenuIndex(&img_osd_menu_cur_index, &img_osd_menu_left_index);
// move osd menu left
if (0 == img_osd_menu_cur_index)
{
//do not to move
}
else
{
img_osd_menu_cur_index--;
if (img_osd_menu_cur_index < img_osd_menu_left_index)
{
img_osd_menu_left_index = img_osd_menu_cur_index;
}
// Update OSD Menu
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
DCSetting_GetTrimRect(&trim_rect, &disp_rect, MMIDC_GetSettingInfo(), MMIDC_PREVIEW_NO_AF);
DCAdap_StopPreview();
DrawImgOSDMenu(is_from_dc, img_osd_menu_cur_index, img_osd_menu_left_index, &disp_rect);
SCI_Sleep(MMIDC_PREVIEW_OSD_PROTECT_TIME);
DCAdap_StartPreview();
}
DCSetting_SetPreviewImgOSDMenuIndex(img_osd_menu_cur_index, img_osd_menu_left_index);
break;
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD:
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU:
//decrease brightness
DC_DecreaseBrightness();
break;
default:
break;
}
}
break;
case MSG_APP_RIGHT:
#ifdef _MMI_OCR
if(!MMIOCR_Is_From_OCR())
#endif
{
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_FULLSCREEN_IMAGE_OSDMENU:
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
DCSetting_GetTrimRect(&trim_rect, &disp_rect, MMIDC_GetSettingInfo(), MMIDC_PREVIEW_NO_AF);
osd_num_in1screen = (disp_rect.w_width - 2 * OSD_MENU_CHAR_LEFT_MARGIN + OSD_MENU_IMG_INTERVAL) / (OSD_IMG_WIDTH + OSD_MENU_IMG_INTERVAL);
DCSetting_GetPreviewImgOSDMenuIndex(&img_osd_menu_cur_index, &img_osd_menu_left_index);
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
// move osd menu to the right
if (is_from_dc)
{
i_osd_max_num = DC_OSD_MENU_NUM;
}
else
{
i_osd_max_num = DV_OSD_MENU_NUM;
}
if (img_osd_menu_cur_index == (i_osd_max_num - 1))
{
//need not to move
}
else
{
img_osd_menu_cur_index++;
if ((img_osd_menu_cur_index - img_osd_menu_left_index) >= osd_num_in1screen)
{
img_osd_menu_left_index = img_osd_menu_cur_index - osd_num_in1screen + 1;
}
// Update OSD Menu
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
DCAdap_StopPreview();
DrawImgOSDMenu(is_from_dc, img_osd_menu_cur_index, img_osd_menu_left_index, &disp_rect);
SCI_Sleep(MMIDC_PREVIEW_OSD_PROTECT_TIME);
DCAdap_StartPreview();
}
DCSetting_SetPreviewImgOSDMenuIndex(img_osd_menu_cur_index, img_osd_menu_left_index);
break;
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD:
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU:
//decrease brightness
DC_IncreaseBrightness();
break;
default:
break;
}
} break;
case MSG_APP_UP:
#ifdef _MMI_OCR
if(!MMIOCR_Is_From_OCR())
#endif
{
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_FULLSCREEN_IMAGE_OSDMENU://预览主屏全屏、图片OSD MENU
//根据相应的OSD MENU,做出相应的调节
osd_menu_type = OSD_GetCurOSDMenuID();
switch(osd_menu_type)
{
case OSD_MENU_CONTRAST:
DC_IncreaseContrast();
break;
case OSD_MENU_BRIGHTNESS:
DC_IncreaseBrightness();
break;
default:
break;
}
break;
#ifdef MMIDC_ZOOM_SUPPORT
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU://预览主屏全屏、文字OSD MENU
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
{
uint32 e_preview_photo_size = DCSetting_GetPhotoSize();
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
SCI_TRACE_LOW("e_preview_photo_size: %d", e_preview_photo_size);
if (e_preview_photo_size > MMIDC_PHOTO_SIZE_640X480 || !is_from_dc)
{
break;
}
DCAdap_StopPreview();
SCI_ASSERT(zoom_level <= MMIDC_MAX_ZOOM_NUM );
zoom_level = zoom_level < MMIDC_MAX_ZOOM_NUM ? (++zoom_level) : MMIDC_MAX_ZOOM_NUM;
DCAdap_SetZoomLevel(zoom_level);
SCI_Sleep(MMIDC_PREVIEW_OSD_PROTECT_TIME);
//set preivew all parameters
if (!DCAdap_SetAllPreviewParam())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_openwin, DCAdap_SetAllPreviewParam error");
AlertDCStartPreviewWrong();
MMK_CloseWin(win_id);
break;
}
//init global
DCSetting_SetPreviewImgOSDMenuIndex(0, 0);
s_timer_id = 0;
s_lose_focus_reason = 0;
//start preview
if (!DCAdap_StartPreview())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_openwin, DCAdap_StartPreview error");
AlertDCStartPreviewWrong();
MMK_CloseWin(win_id);
break;
}
//avoid that user press the capture key too quickly
SCI_Sleep(MMIDC_PREVIEW_TO_CAP_PROTECT_TIME);
}
break;
#else
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU://预览主屏全屏、文字OSD MENU
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
DC_IncreaseContrast();
break;
#endif
default:
DC_ASSERT_LOW(0);
break;
}
}
break;
case MSG_APP_DOWN:
#ifdef _MMI_OCR
if(!MMIOCR_Is_From_OCR())
#endif
{
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_FULLSCREEN_IMAGE_OSDMENU://预览主屏全屏、图片OSD MENU
//根据相应的OSD MENU,做出相应的调节
osd_menu_type = OSD_GetCurOSDMenuID();
switch(osd_menu_type)
{
case OSD_MENU_CONTRAST:
DC_DecreaseContrast();
break;
case OSD_MENU_BRIGHTNESS:
DC_DecreaseBrightness();
break;
default:
break;
}
break;
#ifdef MMIDC_ZOOM_SUPPORT
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU://预览主屏全屏、文字OSD MENU
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
{
uint32 e_preview_photo_size = DCSetting_GetPhotoSize();
is_from_dc = (int)MMK_GetWinAddDataPtr(win_id);
SCI_TRACE_LOW("e_preview_photo_size: %d is_from_dc = %d", e_preview_photo_size,is_from_dc);
if (e_preview_photo_size > MMIDC_PHOTO_SIZE_640X480 || !is_from_dc)
{
break;
}
DCAdap_StopPreview();
SCI_ASSERT(zoom_level >= 0 );
zoom_level = zoom_level > 0 ? (--zoom_level) : 0;
DCAdap_SetZoomLevel(zoom_level);
SCI_Sleep(MMIDC_PREVIEW_OSD_PROTECT_TIME);
//set preivew all parameters
if (!DCAdap_SetAllPreviewParam())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_openwin, DCAdap_SetAllPreviewParam error");
AlertDCStartPreviewWrong();
MMK_CloseWin(win_id);
break;
}
//init global
DCSetting_SetPreviewImgOSDMenuIndex(0, 0);
s_timer_id = 0;
s_lose_focus_reason = 0;
//start preview
if (!DCAdap_StartPreview())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_openwin, DCAdap_StartPreview error");
AlertDCStartPreviewWrong();
MMK_CloseWin(win_id);
break;
}
//avoid that user press the capture key too quickly
SCI_Sleep(MMIDC_PREVIEW_TO_CAP_PROTECT_TIME);
}
break;
#else
case PREVIEW_WIN_FULLSCREEN_CHAR_OSDMENU://预览主屏全屏、文字OSD MENU
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD://预览主屏半屏、像框
case PREVIEW_WIN_SUBLCD_NO_OSD://预览副屏
DC_DecreaseContrast();
break;
#endif
default:
DC_ASSERT_LOW(0);
break;
}
}
break;
case MSG_APP_UPSIDE:
#ifdef _MMI_OCR
if(!MMIOCR_Is_From_OCR())
#endif
{
e_preview_win_mode = DCSetting_GetPreviewWinMode();
switch(e_preview_win_mode)
{
case PREVIEW_WIN_PARTSCREEN_CIRCLE_OSD:
//change the osd circle
e_dc_circle = DCSetting_GetOSDCircle();
e_dc_circle++;
if (e_dc_circle >= MMIDC_CIRCLE_MAX)
{
e_dc_circle = MMIDC_CIRCLE_NONE + 1;
}
DCSetting_SetOSDCircle(e_dc_circle);
//stop preview, change preview param, restart preview
if (!DCAdap_StopPreview())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_keyflip, DCAdap_StopPreview error");
break;
}
if (!DCAdap_SetAllPreviewParam())
{
SCI_TRACE_LOW("mmidc_preview_wintab.c:HandlePreviewWinMsg_keyflip, DCAdap_SetAllPreviewParam error");
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -