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

📄 osd_draw_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#endif
	       default:
		   	break;
	}
	return pos;
}


#if _APP_CAP_AUD_SETUP_SPEAKER
/******************************************************************************
* Function name  	: OwGfxGetD5PositonUsingD4D5
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state,MenuDom3State_et d3_state
*     OUT       
*     I/O       
* Return         	:  UINT
*					
* By             		: chang lina060428
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/  
STATIC UINT OwGfxGetD5PositonUsingD4D5(MenuDom4State_et d4_state, MenuDom5State_et d5_state)
{	UINT pos = 0;

	switch( d4_state )
	{
		case MENU_D4_SPK_TIME_SDLY:
			pos=d5_state-(MENU_D5_SPK_SDLY_START+1);
			break;
			
		case MENU_D4_SPK_TIME_CDLY:
			pos=d5_state-(MENU_D5_SPK_CDLY_START+1);
			break;
			
#if _APP_CAP_AUD_CONTROL_VOLUME
		case MENU_D4_SPK_VOL_FL:
			pos=d5_state-(MENU_D5_SPK_VOL_FL_START+1);
			break;
		case MENU_D4_SPK_VOL_FR:
			pos=d5_state-(MENU_D5_SPK_VOL_FR_START+1);
			break;
		case MENU_D4_SPK_VOL_SL:
			pos=d5_state-(MENU_D5_SPK_VOL_SL_START+1);
			break;
		case MENU_D4_SPK_VOL_SR:
			pos=d5_state-(MENU_D5_SPK_VOL_SR_START+1);
			break;
		case MENU_D4_SPK_VOL_CEN:
			pos=d5_state-(MENU_D5_SPK_VOL_CEN_START+1);
			break;
		case MENU_D4_SPK_VOL_SUB:
			pos=d5_state-(MENU_D5_SPK_VOL_SUB_START+1);
			break;
#endif
		default:
			break;
	}

	return pos;
}

#endif
/******************************************************************************
* Function name  	: OwGfxGetD3ItemNum
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state
*     OUT       
*     I/O       
* Return         	:  UINT
*					
* By             		: chang lina 060523
* Description    	: Get the num of d3 items in current d2
* Revision       	: 1.0 
******************************************************************************
*/  
UINT OwGfxGetD3ItemNum(MenuDom2State_et d2_state)
{     UINT num=0;

	switch(d2_state)
	{
		case MENU_D2_LANG_OSDMENU:
			num=(UINT)(MENU_D3_LANG_MENU_END-MENU_D3_LANG_MENU_START-1);
			break;
		case MENU_D2_LANG_DISCMENU:
			num=(UINT)(MENU_D3_LANG_DISC_END-MENU_D3_LANG_DISC_START-1);
			break;
		case MENU_D2_LANG_AUDIO:
			num=(UINT)(MENU_D3_LANG_AUDIO_END-MENU_D3_LANG_AUDIO_START-1);
			break;
		case MENU_D2_LANG_SUBTITLE:
			num=(UINT)(MENU_D3_LANG_SUBTITLE_END-MENU_D3_LANG_SUBTITLE_START-1);
			break;
#if _APP_CAP_OSD_MTK_VERSION
		case MENU_D2_LANG_VERSION:
			num=(UINT)(MENU_D3_LANG_VERSION_END-MENU_D3_LANG_VERSION_START-1);
			break;
#endif
			/*
		case MENU_D2_LANG_SAVER:
			num=(UINT)(MENU_D3_LANG_SAVER_END-MENU_D3_LANG_SAVER_START-1);
			break;
		case MENU_D2_LANG_RESET:
			num=(UINT)(MENU_D3_LANG_RESET_END-MENU_D3_LANG_RESET_START-1);
			break;
		*/

		/*
			Display
		*/
		
		case MENU_D2_DISP_ASPECT:		
			num=(UINT)(MENU_D3_DISP_ASPECT_END-MENU_D3_DISP_ASPECT_START-1);
			break;
#if _COP_UI_OSD_HDMI_VIDEO_IN_SETUP			
		case MENU_D2_DISP_HDMI_VIDEO:		
			num=(UINT)(MENU_D3_DISP_HDMI_VD_END-MENU_D3_DISP_HDMI_VD_START-1);
			break;
#endif	
#if _COP_UI_OSD_ASV_IN_SETUP///clina 061019			
		case MENU_D2_DISP_ASV:		
			num=(UINT)(MENU_D3_DISP_ASV_END-MENU_D3_DISP_ASV_START-1);
			break;
#endif	
		case MENU_D2_DISP_TV:	
			num=(UINT)(MENU_D3_DISP_TV_END-MENU_D3_DISP_TV_START-1);
			break;
			
//#if _COP_UI_OSD_ANGLE_IN_SETUP
		case MENU_D2_DISP_ANGLE:
			num = (UINT)(MENU_D3_DISP_ANGLE_END - MENU_D3_DISP_ANGLE_START-1);	
			break;
//#endif
		case MENU_D2_DISP_CPT_LOGO:
			num = (UINT)(MENU_D3_DISP_CPT_LOGO_END - MENU_D3_DISP_CPT_LOGO_START-1);	
			break;
			
        case MENU_D2_DISP_CAPTION:
			 num = (UINT)(MENU_D3_DISP_CAPTION_END - MENU_D3_DISP_CAPTION_START-1);	
			break;	
			
		case MENU_D2_DISP_SAVER:
			num=(UINT)(MENU_D3_DISP_SAVER_END-MENU_D3_DISP_SAVER_START-1);
			break;	
			
		
	/*
		Audio
				*/	
		case MENU_D2_AUDIO_DIGITAL_OUTPUT:
			num=(UINT)(MENU_D3_AUDIO_DIGITAL_OUTPUT_END-MENU_D3_AUDIO_DIGITAL_OUTPUT_START-1);
			break;
			
		case MENU_D2_AUDIO_CHAN_OUTPUT:
                  	num=(UINT)(MENU_D3_AUDIO_CHAN_END-MENU_D3_AUDIO_CHAN_START-1);
			 break;
			 
		case MENU_D2_AUDIO_DUAL_MONO:
			 num=(UINT)(MENU_D3_AUDIO_DUAL_MONO_END-MENU_D3_AUDIO_DUAL_MONO_START-1);
			 break;
			 
		case MENU_D2_AUDIO_DYN_COMP:	
			num=(UINT)(MENU_D3_AUDIO_DRC_END-MENU_D3_AUDIO_DRC_START-1);
			break;
#if _COP_UI_OSD_HDMI_AUDIO_IN_SETUP			
		case MENU_D2_AUDIO_HDMI:	
			num=(UINT)(MENU_D3_AUDIO_HDMI_END-MENU_D3_AUDIO_HDMI_START-1);
			break;
#endif			
		case MENU_D2_AUDIO_LPCM_OUTPUT:
			num=(UINT)(MENU_D3_AUDIO_LPCM_END-MENU_D3_AUDIO_LPCM_START-1);
			break;

#if! _COP_AUD_2CH_ONLY_OUT //clina 060421					 
		case MENU_D2_AUDIO_SPDIF_PCM:
			num=(UINT)(MENU_D3_AUDIO_SPDIF_END-MENU_D3_AUDIO_SPDIF_START-1);	
			break;
#endif


   /*Need be add the karaoke d2 item in below cases Lina 20060310*/
#if _APP_CAP_AUD_KARAOKE // Qian liping 060329
 #if !_APP_CAP_MTK_ONLY_KARA_SCORING                
		case 	MENU_D2_KARA_ONOFF:
				num=(UINT)(MENU_D3_KARA_SET_END-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:
				num=(UINT)(MENU_D3_KARA_SCORE_END-MENU_D3_KARA_SCORE_START-1);
			break;

#endif
				
#endif/*_APP_CAP_AUD_KARAOKE*/
 /*Need be add the karaoke d2 item in  cases Lina 20060310*/

 	/*
   		Speaker
          			*/
#if _APP_CAP_AUD_SETUP_SPEAKER	
#if _APP_CAP_AUD_EQ
             case MENU_D2_SPK_3DEQ:
			num=(UINT)(MENU_D3_SPK_3DEQ_END-MENU_D3_SPK_3DEQ_START-1);	
			 break;
#endif
                  
#if _APP_CAP_AUD_REVERBERATION
		case MENU_D2_SPK_REVERBERATION:
		 	num=(UINT)(MENU_D3_SPK_REVERB_END-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:	
		 	num=(UINT)(MENU_D3_SPK_CONF_END-MENU_D3_SPK_CONF_START-1);
		 	break;
#endif
			
		case MENU_D2_SPK_TIME_DELAY:	
		 	num=(UINT)(MENU_D3_SPK_TIME_DELAY_END-MENU_D3_SPK_TIME_DELAY_START-1);
		 	break;
			
		case MENU_D2_SPK_SURROUD_DALAY:	
			num=(UINT)(MENU_D3_SPK_SDLY_END-MENU_D3_SPK_SDLY_START-1);
			 break;
		 
		case MENU_D2_SPK_CENTER_DALAY:
			num=(UINT)(MENU_D3_SPK_CDLY_END-MENU_D3_SPK_CDLY_START-1);
	 		break;

#if _APP_CAP_AUD_PROLOGIC
		case MENU_D2_SPK_PROLOGIC:	
		 	num=(UINT)(MENU_D3_SPK_PROLOGIC_END-MENU_D3_SPK_PROLOGIC_START-1);
		 	break;
#endif

		case MENU_D2_SPK_VOLUME:	
		 	num=(UINT)(MENU_D3_SPK_VOLUME_END-MENU_D3_SPK_VOLUME_START-1);
		 	break;

#if _APP_CAP_AUD_CALNOISE
		case MENU_D2_SPK_TESTTONE:
	  	num=(UINT)(MENU_D3_SPK_TESTTONE_END-MENU_D3_SPK_TESTTONE_START-1);
	              break;
#endif

#endif /* _COP_AUD_2CH_ONLY_OUT //clina 060421*/

#endif/*_APP_CAP_AUD_SETUP_SPEAKER*/	

			/*
   				lock(parental)
          							*/
          	/*
		case MENU_D2_LOCK_ONOFF:
			num=(UINT)(MENU_D3_LOCK_PWD_END-MENU_D3_LOCK_PWD_START-1);		
			break;
			*/
		case MENU_D2_LANG_RESET:
			num=(UINT)(MENU_D3_LANG_RESET_END-MENU_D3_LANG_RESET_START-1);		
			break;
		
		case MENU_D2_LOCK_CHANGE:
			num=(UINT)(MENU_D3_LOCK_CHANGE_END-MENU_D3_LOCK_CHANGE_START-1);	
			break;
		case MENU_D2_LOCK_LEVEL:
			break;
}
	return  num;
}

/******************************************************************************
* Function name  	: OwGfxGetYPositionD3
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state,MenuDom3State_et d3_state
*     OUT       
*     I/O       
* Return         	:  BYTE2
*					
* By             		: chang lina 060329
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/  
BYTE2 OwGfxGetStartYPositionD3( MenuDom2State_et d2_state,MenuDom3State_et d3_state )
{
	UINT	max_item;
	UINT  	tmp_state;
	SINT		 start_y, d2_pos, y2;
	MenuDom1State_et d1_state;
	
	d1_state 		= Getdom1num();
	//index		=OwGfxGetD3PositonUsingD2D3(d2_state, d3_state);
	tmp_state	= OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
	max_item 	= OwGfxGetD3ItemNum(d2_state);
                              
	d2_pos = SETUP_MENU_D2_TXT_Y + SETUP_MENU_D2_ITEM_H*tmp_state ; //the position of now D2 item txt clina 060422
	y2 = 50 + 310 - SETUP_MENU_D3_ITEM_H*max_item ;	
	
	/* find the start-y*/
	/*if D3 begining position can be equal to d2,take it(y1==d2 positon);else if have no enough place 
	/to draw, take y2. */
	if(d2_pos <= y2)
	{
		start_y = d2_pos;
	}	
	else
	{
		start_y = y2;
	}	

	return start_y;
	
}
BYTE2 OwGfxGetYPositionD3( MenuDom2State_et d2_state,MenuDom3State_et d3_state )
{	
	SINT y_start,index;
       UINT y_pos;
	y_start=OwGfxGetStartYPositionD3(d2_state,d3_state);
	index=OwGfxGetD3PositonUsingD2D3(d2_state, d3_state);
     	y_pos=y_start+index*SETUP_MENU_D3_ITEM_H;
	return y_pos;

}
/******************************************************************************
* Function name  	: OwGfxSetupDrawD2Rectangle
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/  
STATIC VOID OwGfxSetupDrawD2Rectangle( MenuDom1State_et d1_state,MenuDom2State_et d2_state)
{
	
	UINT pos=OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
	
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*(BYTE2)pos, 
		                       SETUP_MENU_D2_ITEM_W, SETUP_MENU_D2_ITEM_H, OSD_COLOR_TRANS_BG);

}

/******************************************************************************
* Function name  	: OwGfxSetupDrawD2Icon
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: 
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 
VOID OwGfxSetupDrawD2Icon(MenuDom1State_et d1_state,MenuDom2State_et d2_state)
{
	//Lu Shuai 060116
	UINT pos =OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
	
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*pos, 
		                                 SETUP_ICON_W, SETUP_ICON_H, COLOR_DARK_GREEN);
	
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X+SETUP_ICON_GAP/2, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*pos+SETUP_ICON_GAP/2,
	                                              SETUP_ICON_W-SETUP_ICON_GAP, SETUP_ICON_H -SETUP_ICON_GAP, COLOR_BLUE_NORM);
	
	SH_GfxDrawImage(SH_CANV1, IMG_ICON_DEFAULT, SETUP_MENU_D2_ITEM_X+6,SETUP_ICON_Y_OFFSET+SETUP_MENU_D2_ITEM_H*pos);
	
}

/******************************************************************************
* Function name  	: OwGfxSetupDrawD3Rectangle
* Arguments      	:  
*     IN        
*					MenuDom3State_et d3_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 
VOID OwGfxSetupDrawD3Rectangle(MenuDom2State_et d2_state,MenuDom3State_et d3_state)
{
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D3_ITEM_X,  OwGfxGetYPositionD3(d2_state,d3_state),SETUP_MENU_D3_ITEM_W, SETUP_MENU_D3_ITEM_H, OSD_COLOR_TRANS_BG);
}

/******************************************************************************
* Function name  	: OwGfxSetupDrawArrow
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: Lu Shuai
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 
VOID OwGfxSetupDrawArrow(MenuDom1State_et d1_state,MenuDom2State_et d2_state,BOOL draw_it)
{
	BYTE2		pos;

	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);		

⌨️ 快捷键说明

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