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

📄 osd_draw_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/******************************************************************************
 *   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 + -