📄 osd_draw_setup.c
字号:
/******************************************************************************
* Filename : OSD_draw_setup_BASIC.c
* Start : 2003. 8. 25
* By : Hongsik Park
* Contact : hongsik7.park@samsung.com
* Description :
* For another scheme of OSD resource manageent.
*
******************************************************************************
*/
#ifndef _OSD_DRAW_SETUP_BASIC_C_
#define _OSD_DRAW_SETUP_BASIC_C_
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Basic_typedefs.h"
#include "CUSTOM/Custom_option.h"
#include "OS/OS_abstract.h"
#include "API/SH_types.h"
#include "API/SH_api.h"
#include "COMMON/Common.h"
#include "MAIN/Global_state.h"
#include "MAIN/Appl_types.h"
#include "MAIN/Uop_msg.h"
#include "DRIVER/FS/Fs_api.h"
#include "CUSTOM/Osd_types.h"
#include "CUSTOM/Osd_if.h"
#include "CUSTOM/Key_handler_setup.h"
#include "MAIN/DVD/Dvd_predef.h"
#include "MAIN/DVD/Dvd_common.h"
#include "MAIN/SVCD/Svcd_types.h"
#include "MAIN/SVCD/Svcd_ext.h"
#include "MAIN/SVCD/Svcd_show.h"
#include "CUSTOM/Firm_update.h"
#include "MAIN/MMP/Mmp_common.h"
#include "Osd_util.h"
#include "Osd_draw.h"
#include "Osd_data.h"
#include "CUSTOM/Strings_ext.h"
#include "Osd_draw_setup.h"
extern MenuDom3State_et GuiSetupGetFirstDom3Item(MenuDom2State_et d2_state );
//<<<<<<<<<<<< Qian liping 050830 <<<<<<<<<<<<<<<
/* In this array is the order in setup menu "language->menu/disc/audio/subtitle".
* 1. The languade order can be changed freely, but must between 'LANG_AUTO' and 'LANG_OTHER'.
*/
MenuLang_et gSetupOSDLangOrderMap[] =
{
/* The languade order can be changed freely,
And the number of language can be added or deduce freely,
*/
LANG_ENG,
LANG_SPA,
#if _APP_CAP_OSD_LANG_CHINESE
LANG_CHINA,
#elif _APP_CAP_OSD_LANG_JAPANESE
LANG_JAPAN,
#elif _APP_CAP_OSD_LANG_PORTUGUESE
LANG_PORTUGUES,
#elif _APP_CAP_OSD_LANG_RUSSIAN
LANG_RUSSIAN,
#endif
LANG_FRA,
};
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
extern BOOL gOsd_onoff;
extern ONOFF gScr_saver_onoff;
/******************************************************************************
* Function name : Getdom1num
* Arguments :
* IN
* VOID
* OUT
* I/O
* Return : MenuDom1State_et
*
* By :
* Description :
* Revision : 1.0
******************************************************************************
*/
MenuDom1State_et Getdom1num(VOID)
{
OSD_State_st *osd_state;
osd_state = OSD_GetState();
return osd_state->etSetup_dsp.d1_list;
}
/******************************************************************************
* Function name : Getdom2num
* Arguments :
* IN
* VOID
* OUT
* I/O
* Return : MenuDom2State_et
*
* By :
* Description :
* Revision : 1.0
******************************************************************************
*/
MenuDom2State_et Getdom2num(VOID)
{
OSD_State_st *osd_state;
osd_state = OSD_GetState();
return osd_state->etSetup_dsp.d2_list;
}
/******************************************************************************
* Function name : OwGfxSetupDrawBg
* Arguments :
* IN
* VOID
* OUT
* I/O
* Return : VOID
*
* By :
* Description :
* Revision : 1.0
******************************************************************************
*/
VOID OwGfxSetupDrawBg(VOID)
{
BYTE2 x, y;
x = SET_BG_X;
y = SET_BG_Y;
OwGetOsdCenterPosition( &x,&y, SET_BG_W, SET_BG_H );
SH_GfxSetCanvas( SH_CANV1, x, y, SET_BG_W, SET_BG_H );
SH_GfxDrawRec(SH_CANV1, 0, 0, SET_BG_W, SET_BG_H, OSD_COLOR_BORDER);
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_TOP_RECT_X, SETUP_MENU_TOP_RECT_Y, SETUP_MENU_TOP_RECT_W, SETUP_MENU_TOP_RECT_H, OSD_COLOR_TRANS_BG);
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_ACT_RECT_X, SETUP_MENU_ACT_RECT_Y, SETUP_MENU_ACT_RECT_W,SETUP_MENU_ACT_RECT_H, OSD_COLOR_TRANS_BG);
SH_GfxDrawRec(SH_CANV1,SETUP_MENU_BOT_HELP_X , SETUP_MENU_BOT_HELP_Y , SETUP_MENU_BOT_HELP_W , SETUP_MENU_BOT_HELP_H , OSD_COLOR_TRANS_BG);
}
/******************************************************************************
* Function name : OwGfxGetD2PositonUsingD1D2
* Arguments :
* IN
* MenuDom1State_et d1_state,MenuDom2State_et d2_state
* OUT
* I/O
* Return : UINT
*
* By : chang lina
* Description :
* Revision : 1.0
******************************************************************************
*/
//clina 20060313
UINT OwGfxGetD2PositonUsingD1D2(MenuDom1State_et d1_state, MenuDom2State_et d2_state)
{
UINT pos = 0;
switch( d1_state )
{
case MENU_D1_SUB_LANG:
pos = (UINT)d2_state - (MENU_D2_LANG_START+1);
break;
case MENU_D1_SUB_DISP:
pos = (UINT)d2_state - (MENU_D2_DISP_START+1);
break;
case MENU_D1_SUB_AUDIO:
pos = (UINT)d2_state - (MENU_D2_AUDIO_START+1);
break;
#if _APP_CAP_AUD_KARAOKE // Qian liping 060328
case MENU_D1_SUB_KARAOKE:
pos = (UINT)d2_state - (MENU_D2_KARA_START+1);
break;
#endif
#if _APP_CAP_AUD_SETUP_SPEAKER
case MENU_D1_SUB_SPEAKER:
pos = (UINT)d2_state - (MENU_D2_SPK_START+1);
break;
#endif
case MENU_D1_SUB_PARENT:
pos = (UINT)d2_state - (MENU_D2_LOCK_START+1);
break;
}
return pos;
}
/******************************************************************************
* Function name : OwGfxGetD3PositonUsingD2D3
* Arguments :
* IN
* MenuDom2State_et d2_state,MenuDom3State_et d3_state
* OUT
* I/O
* Return : UINT
*
* By : chang lina060523
* Description :
* Revision : 1.0
******************************************************************************
*/
//clina 20060313
STATIC UINT OwGfxGetD3PositonUsingD2D3(MenuDom2State_et d2_state, MenuDom3State_et d3_state)
{
UINT pos = 0;
switch( d2_state )
{ //language
case MENU_D2_LANG_OSDMENU:
pos = (UINT)d3_state - (MENU_D3_LANG_MENU_START+1);
break;
case MENU_D2_LANG_DISCMENU:
pos = (UINT)d3_state - (MENU_D3_LANG_DISC_START+1);
break;
case MENU_D2_LANG_AUDIO:
pos = (UINT)d3_state - (MENU_D3_LANG_AUDIO_START+1);
break;
case MENU_D2_LANG_SUBTITLE:
pos = (UINT)d3_state - (MENU_D3_LANG_SUBTITLE_START+1);
break;
#if _APP_CAP_OSD_MTK_VERSION//clina 061011
case MENU_D2_LANG_VERSION:
pos = (UINT)d3_state - (MENU_D3_LANG_VERSION_START+1);
break;
#endif
/*
case MENU_D2_LANG_RESET:
pos = (UINT)d3_state - (MENU_D3_LANG_RESET_START+1);
break;
*/
//display
case MENU_D2_DISP_ASPECT:
pos = (UINT)d3_state - (MENU_D3_DISP_ASPECT_START+1);
break;
case MENU_D2_DISP_TV:
pos = (UINT)d3_state - (MENU_D3_DISP_TV_START+1);
break;
#if _COP_UI_OSD_HDMI_VIDEO_IN_SETUP
case MENU_D2_DISP_HDMI_VIDEO:
pos = (UINT)d3_state - (MENU_D3_DISP_HDMI_VD_START+1);
break;
#endif
#if _COP_UI_OSD_ANGLE_IN_SETUP
case MENU_D2_DISP_ANGLE:
pos = (UINT)d3_state - (MENU_D3_DISP_ANGLE_START+1);
break;
#endif
#if _APP_CAP_OSD_CAPTURE_LOGO_IN_SETUP
case MENU_D2_DISP_CPT_LOGO:
pos = (UINT)d3_state - (MENU_D3_DISP_CPT_LOGO_START+1);
break;
#endif
case MENU_D2_DISP_CAPTION:
pos=(UINT)d3_state-(MENU_D3_DISP_CAPTION_START+1);
break;
case MENU_D2_DISP_SAVER:
pos = (UINT)d3_state - (MENU_D3_DISP_SAVER_START+1);
break;
#if _COP_UI_OSD_ASV_IN_SETUP//clina 061019
case MENU_D2_DISP_ASV:
pos = (UINT)d3_state - (MENU_D3_DISP_ASV_START+1);
break;
#endif
//audio
case MENU_D2_AUDIO_DIGITAL_OUTPUT:
pos = (UINT)d3_state - (MENU_D3_AUDIO_DIGITAL_OUTPUT_START+1);
break;
case MENU_D2_AUDIO_CHAN_OUTPUT:
pos = (UINT)d3_state - (MENU_D3_AUDIO_CHAN_START+1);
break;
case MENU_D2_AUDIO_DUAL_MONO:
pos = (UINT)d3_state - (MENU_D3_AUDIO_DUAL_MONO_START+1);
break;
case MENU_D2_AUDIO_DYN_COMP:
pos = (UINT)d3_state - (MENU_D3_AUDIO_DRC_START+1);
break;
#if _COP_UI_OSD_HDMI_AUDIO_IN_SETUP
case MENU_D2_AUDIO_HDMI:
pos = (UINT)d3_state - (MENU_D3_AUDIO_HDMI_START+1);
break;
#endif
case MENU_D2_AUDIO_LPCM_OUTPUT:
pos = (UINT)d3_state - (MENU_D3_AUDIO_LPCM_START+1);
break;
#if! _COP_AUD_2CH_ONLY_OUT //clina 060421
case MENU_D2_AUDIO_SPDIF_PCM:
pos = (UINT)d3_state - (MENU_D3_AUDIO_SPDIF_START+1);
break;
#endif
//karaoke
#if _APP_CAP_AUD_KARAOKE // Qian liping 060329
#if !_APP_CAP_MTK_ONLY_KARA_SCORING
case MENU_D2_KARA_ONOFF:
pos = (UINT)d3_state - (MENU_D3_KARA_SET_START+1);
break;
case MENU_D2_KARA_VOL:
case MENU_D2_KARA_ECHO:
case MENU_D2_KARA_KEY:
break;
#endif
#if _APP_CAP_AUD_KARAOKE_SCORING
case MENU_D2_KARA_SCORE:
pos = (UINT)d3_state - (MENU_D3_KARA_SCORE_START+1);
break;
#endif
#endif
//speaker
#if _APP_CAP_AUD_SETUP_SPEAKER
#if _APP_CAP_AUD_EQ
case MENU_D2_SPK_3DEQ:
pos = (UINT)d3_state - (MENU_D3_SPK_3DEQ_START+1);
break;
#endif
#if _APP_CAP_AUD_REVERBERATION
case MENU_D2_SPK_REVERBERATION:
pos = (UINT)d3_state - (MENU_D3_SPK_REVERB_START+1);
break;
#endif
#if! _COP_AUD_2CH_ONLY_OUT //clina 060421
#if _APP_CAP_AUD_BASE_MANAGE
case MENU_D2_SPK_CONFIG:
pos = (UINT)d3_state - (MENU_D3_SPK_CONF_START+1);
break;
#endif
case MENU_D2_SPK_TIME_DELAY:
pos = (UINT)d3_state - (MENU_D3_SPK_TIME_DELAY_START+1);
break;
case MENU_D2_SPK_SURROUD_DALAY:
pos = (UINT)d3_state - (MENU_D3_SPK_SDLY_START+1);
break;
case MENU_D2_SPK_CENTER_DALAY:
pos = (UINT)d3_state - (MENU_D3_SPK_CDLY_START+1);
break;
#if _APP_CAP_AUD_PROLOGIC
case MENU_D2_SPK_PROLOGIC:
pos = (UINT)d3_state - (MENU_D3_SPK_PROLOGIC_START+1);
break;
#endif
case MENU_D2_SPK_VOLUME:
pos = (UINT)d3_state - (MENU_D3_SPK_VOLUME_START+1);
break;
#if _APP_CAP_AUD_CALNOISE
case MENU_D2_SPK_TESTTONE:
pos = (UINT)d3_state - (MENU_D3_SPK_TESTTONE_START+1);
break;
#endif
#endif /*_COP_AUD_2CH_ONLY_OUT */
#endif/* _APP_CAP_AUD_SETUP_SPEAKER*/
//lock(parental)
/*
case MENU_D2_LOCK_ONOFF:
pos = (UINT)d3_state - (MENU_D3_LOCK_PWD_START+1);
break;
*/
case MENU_D2_LANG_RESET:
pos = (UINT)d3_state - (MENU_D3_LANG_RESET_START+1);
break;
case MENU_D2_LOCK_CHANGE:
pos = (UINT)d3_state - (MENU_D3_LOCK_CHANGE_START+1);
break;
case MENU_D2_LOCK_LEVEL:
default:
break;
}
return pos;
}
/******************************************************************************
* Function name : OwGfxGetD4PositonUsingD3D4
* Arguments :
* IN
* MenuDom2State_et d2_state,MenuDom3State_et d3_state
* OUT
* I/O
* Return : UINT
*
* By : chang lina060428
* Description :
* Revision : 1.0
******************************************************************************
*/
STATIC UINT OwGfxGetD4PositonUsingD3D4(MenuDom3State_et d3_state, MenuDom4State_et d4_state)
{ UINT pos = 0;
switch( d3_state )
{
#if _APP_CAP_AUD_SETUP_SPEAKER
#if !_APP_CAP_AUD_ONLY_2CH_OUT
case MENU_D3_SPK_TIME_DELAY_SET:
pos=d4_state-(MENU_D4_SPK_TIME_DLY_START+1);
break;
case MENU_D3_SPK_VOLUME_SET:
pos=d4_state-(MENU_D4_SPK_VOL_START+1);
break;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -