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

📄 osd_draw_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
* By             		: changlina
* Description    	: D2 background highligt 
* Revision       	: 1.0 
******************************************************************************
*/ //clina 20060316
STATIC VOID OwGfxSetupSetD2HLBG(MenuDom2State_et d2_state, BOOL highlight)
	{
	UINT pos = 0;

	pos=OwGfxGetD2PositonUsingD1D2( gOSD_state.etSetup_dsp.d1_list,  d2_state);
	

	if( highlight )
	{
		//background
		SH_GfxChgAreaColor(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_SUB_H, 
								OSD_SETUP_COLOR_FONT_BG_DEFAULT,  OSD_SETUP_COLOR_FONT_BG_HIGHLIGHT);
		
        	//font    
		SH_GfxChgAreaColor(SH_CANV1,SETUP_MENU_D2_ITEM_X+SETUP_ICON_W, SETUP_MENU_D2_ITEM_Y+2+SETUP_MENU_D2_ITEM_H*pos, 
		                                SETUP_MENU_D2_ITEM_W-SETUP_ICON_W, SETUP_MENU_D2_ITEM_SUB_H,OSD_SETUP_COLOR_FONT_SELECTED,OSD_SETUP_COLOR_FONT_HIGHLIGHT);
	}	
	else
	{
		SH_GfxChgAreaColor(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_SUB_H, 
								OSD_SETUP_COLOR_FONT_BG_HIGHLIGHT,OSD_SETUP_COLOR_FONT_BG_DEFAULT);
		SH_GfxChgAreaColor(SH_CANV1 ,SETUP_MENU_D2_TXT_X - SET_BG_X, SETUP_MENU_D2_ITEM_Y+2+SETUP_MENU_D2_ITEM_H*pos,
		                               SETUP_MENU_D2_ITEM_W, SETUP_MENU_D2_ITEM_H,OSD_SETUP_COLOR_FONT_HIGHLIGHT,OSD_SETUP_COLOR_FONT_SELECTED);
	
	}
}
/******************************************************************************
* Function name  	: OwGfxSetupShowD2UnderD1
* Arguments      	:  
*     IN        
*					MenuDom1State_et d1_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina 20060316
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ //clina 20060316
VOID OwGfxSetupShowD2UnderD1(MenuDom1State_et d1_state)
	{
#if 0	//(weilf)20060726	
       SetupAdult_t   adult;
#endif 
	SetupAudio_t   audio;
	MenuDom2State_et   d2_state;
#if 0		//(weilf)20060726	
#if _APP_CAP_OSD_CAPTURE_LOGO_IN_SETUP
	UINT pos;
#endif 
#endif 
	SetupInfoGetMenuAudio(&audio);
	
	switch(d1_state)
	{
  		case  MENU_D1_SUB_LANG:
                      for(d2_state=MENU_D2_LANG_START+1;d2_state<MENU_D2_LANG_END;d2_state++)
    					OwGfxSetupShowD2(d1_state,d2_state);
  			  break;
  		case  MENU_D1_SUB_DISP:
#if _APP_CAP_OSD_CAPTURE_LOGO_IN_SETUP
  			 if( GetDiscState() !=NO_DISC && GetDiscState() != DUMMY_DISC ) 
  			 {
  			 	for(d2_state=MENU_D2_DISP_START+1;d2_state<MENU_D2_DISP_END-1;d2_state++)
              	{
					OwGfxSetupShowD2(d1_state,d2_state);
              	}
  			 }else
#endif
  			 	for(d2_state=MENU_D2_DISP_START+1;d2_state<MENU_D2_DISP_END;d2_state++)
              {
				OwGfxSetupShowD2(d1_state,d2_state);
              }
   			  break;
			  
 		case  MENU_D1_SUB_AUDIO:
#if !_COP_AUD_2CH_ONLY_OUT //clina 060425
#if !_APP_CAP_AUD_SPDIF_PCM_DOWNMIX
			  if(audio.channel==SPK_CHANNEL_5_1)
			  {
                     	 for(d2_state=MENU_D2_AUDIO_START+1;d2_state<MENU_D2_AUDIO_END;d2_state++)
    					OwGfxSetupShowD2(d1_state,d2_state);
			  }
			  else
			  {
			  	 for(d2_state=MENU_D2_AUDIO_START+1;d2_state<MENU_D2_AUDIO_END-1;d2_state++)
    					OwGfxSetupShowD2(d1_state,d2_state);
			  }
#else
 			for(d2_state=MENU_D2_AUDIO_START+1;d2_state<MENU_D2_AUDIO_END-1;d2_state++)
    					OwGfxSetupShowD2(d1_state,d2_state);
#endif
#else 
			 for(d2_state=MENU_D2_AUDIO_START+1;d2_state<MENU_D2_AUDIO_END;d2_state++)
    					OwGfxSetupShowD2(d1_state,d2_state);
#endif
   			  break;

#if _APP_CAP_AUD_KARAOKE
  		case MENU_D1_SUB_KARAOKE:
                      for(d2_state=MENU_D2_KARA_START+1;d2_state<MENU_D2_KARA_END;d2_state++)
     					OwGfxSetupShowD2(d1_state,d2_state);
   			  break;
#endif
#if _APP_CAP_AUD_SETUP_SPEAKER
  		case MENU_D1_SUB_SPEAKER:
			
#if! _COP_AUD_2CH_ONLY_OUT //clina 060421	

			 if(audio.channel==SPK_CHANNEL_5_1)
			 {
			 
#if _APP_CAP_AUD_CALNOISE//clina 060405
				if(GetDiscState() !=NO_DISC && GetDiscState() != DUMMY_DISC )
				{
					for(d2_state=MENU_D2_SPK_START+1;d2_state<MENU_D2_SPK_END-1;d2_state++)
    						OwGfxSetupShowD2(d1_state,d2_state);
				}					
				else
#endif
				{					
                     		 for(d2_state=MENU_D2_SPK_START+1;d2_state<MENU_D2_SPK_END;d2_state++)
    						OwGfxSetupShowD2(d1_state,d2_state);
			 	}
			 }
			 else
#endif /*#! _COP_AUD_2CH_ONLY_OUT //clina 060421*/
			 {
			 	OwGfxSetupShowD2(d1_state,MENU_D2_SPK_START+1);
			 	OwGfxSetupShowD2(d1_state,MENU_D2_SPK_START+2);
			 }
   			  break;
#endif
  		case MENU_D1_SUB_PARENT:
                       for(d2_state=MENU_D2_LOCK_START+1;d2_state<MENU_D2_LOCK_END;d2_state++)
     					OwGfxSetupShowD2(d1_state,d2_state);
   			  break;
 			
	}
	}
/******************************************************************************
* Function name  	: OwGfxSetupShowD3UnderD2
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ //clina 20060316
 VOID OwGfxSetupShowD3UnderD2(MenuDom2State_et d2_state)
{               
			OwGfxSetupShowPageD3(NULL,d2_state,TRUE);
	
}

/******************************************************************************
* Function name  	: OwGfxSetupPartialCtrlD1
* Arguments      	:  
*     IN        
*					MenuDom1State_et d1_old,MenuDom1State_et d1_new
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 
VOID OwGfxSetupPartialCtrlD1(MenuDom1State_et d1_old,MenuDom1State_et d1_new)
{
	
	OwGfxSetupShowD1(d1_old);
	OwGfxSetupShowD1HL(d1_new);
	OwGfxSetupHideAct();
	OwGfxSetupShowD2UnderD1(d1_new);	
}


//clina 060531
VOID OwGfxSetupCreateDrc(MenuDom2State_et d2_state,BOOL first_draw,BOOL hl)
{
	BYTE1 i,height,max_cur;
	BYTE1 old_color, new_color = COLOR_BLUE_NORM;
	BYTE2 y2 = SETUP_MENU_D2_AUDIO_DYN_Y+20+34*0-SET_BG_Y, y3 = SETUP_MENU_D2_AUDIO_DYN_Y+20+17+34*0-SET_BG_Y;
	
	height = 34;
	max_cur = 4;
	
	if(first_draw)
	{
		SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X - SET_BG_X, SETUP_MENU_D2_AUDIO_DYN_Y-SET_BG_Y,SETUP_MENU_D2_AUDIO_DYN_W, SETUP_MENU_D2_AUDIO_DYN_H, COLOR_DARK_WHITE);
		SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+4 - SET_BG_X, SETUP_MENU_D2_AUDIO_DYN_Y+4-SET_BG_Y, SETUP_MENU_D2_AUDIO_DYN_W-8, SETUP_MENU_D2_AUDIO_DYN_H-8, COLOR_BLUE_NORM);
		for(i = 0; i < max_cur;i++)
		{
			y2 = SETUP_MENU_D2_AUDIO_DYN_MID_Y+height/2+i*height-SET_BG_Y;
			SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+19 - SET_BG_X, y2, 20, 5, COLOR_DARK_WHITE);
		}
		for(i = 0; i < (max_cur+1);i++)
		{
			y3 = SETUP_MENU_D2_AUDIO_DYN_MID_Y+i*height-SET_BG_Y;
			SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+79 - SET_BG_X, y3, 20, 5, COLOR_DARK_WHITE);
		}
	}else
	{
		if( hl )	
		{
			old_color = COLOR_BLUE_NORM;
			new_color = COLOR_DARK_BLUE;
		}else
		{
			old_color = COLOR_DARK_BLUE;
			new_color = COLOR_BLUE_NORM;

		}
		SH_GfxChgAreaColor(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+4 - SET_BG_X, SETUP_MENU_D2_AUDIO_DYN_Y+4-SET_BG_Y, SETUP_MENU_D2_AUDIO_DYN_W-8, SETUP_MENU_D2_AUDIO_DYN_H-8, old_color,new_color);
	}

}

VOID OwGfxSetupDrcValueSetting(MenuDom2State_et d2_state,MenuDom3State_et d3_state, BOOL hl)
{
	//SetupKaraoke_t	karaoke;
	SetupAudio_t         audio;
	//NCHAR			help2_txt[4], kara_txt[4];			//(weilf)20060726
	NCHAR			kara_txt[4];	
	signed char			help_val,kara_val;
	BYTE1	color1 = COLOR_GREEN, color3 = COLOR_BLUE_NORM;
	BYTE2			red_y_pos = SETUP_MENU_D2_AUDIO_DYN_MID_Y-SET_BG_Y,red_h;
	
	//Mid rec
	if(hl)
	{
		color1 = COLOR_YELLOW;
		color3 = COLOR_DARK_BLUE;
	}
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+39 - SET_BG_X,  SETUP_MENU_D2_AUDIO_DYN_MID_Y -SET_BG_Y, 35, 190,  color3);
	
	
	SetupInfoGetMenuAudio( &audio );
	
	if( d3_state == NULL )
	{
		d3_state= GuiSetupGetFirstDom3Item( d2_state );
	}
	
	if(d2_state==MENU_D2_AUDIO_DYN_COMP)
	{
		help_val = audio.dynamic; //help txt2
		kara_val = d3_state-(MENU_D3_AUDIO_DRC_START+1); //kara txt
		sprintf((char*)kara_txt,"%s",gDynamic_string[MENU_LANG][d3_state-(MENU_D3_AUDIO_DRC_START+1)]);
		red_h =  4*34;
		red_y_pos +=red_h-kara_val * 17 ;
	}
	
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+55 - SET_BG_X , SETUP_MENU_D2_AUDIO_DYN_MID_Y-SET_BG_Y, 8, red_h, COLOR_RED);
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+44 - SET_BG_X, red_y_pos, 30, 5, color1);
	
	SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_AUDIO_DYN_X+30 - SET_BG_X,  SETUP_MENU_D2_AUDIO_DYN_Y+4+180-SET_BG_Y,  SETUP_MENU_D2_AUDIO_DYN_W-30-8, 30, color3);
	SH_GfxDrawStr(SH_CANV1, kara_txt, SETUP_MENU_D2_AUDIO_DYN_X+30 - SET_BG_X, SETUP_MENU_D2_AUDIO_DYN_Y+4+180-SET_BG_Y, NULL);



}

/******************************************************************************
* Function name  	: OwGfxSetupPartialCtrlD2
* Arguments      	:  
*     IN        
*					MenuDom2State_et d2_old,MenuDom2State_et d2_new
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             	: changlina 060310
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 
VOID OwGfxSetupPartialCtrlD2(MenuDom2State_et d2_old,MenuDom2State_et d2_new)
{
	

	OwGfxSetupShowD2HL(d2_old,d2_new);	
	OwGfxSetupHideD3();
	
	//if( d2_new < MENU_D2_LOCK_LEVEL )
	{
		OwGfxSetupShowD3UnderD2(d2_new);	
	}

}

/******************************************************************************
* Function name  	: OwGfxSetupShowHelpStr
* Arguments      	:  
*     IN        
*					MenuDom3State_et d3
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: changlina 060527
* Description    	: Show bottom help str
* Revision       	: 1.0 
******************************************************************************
*/ 
//clina 20060324
VOID OwGfxSetupShowHelpStr(MenuDom2State_et d2, MenuDom3State_et d3)
{
	UCHAR  help1_string[MAX_SUPPORT_DYNAMIC_LENGTH], help2_string[MAX_SUPPORT_DYNAMIC_LENGTH],help_string[50];//clina 060725 fix the bug52.
																												  //Caution:the help_string length(50)  cannot be decrease because if
																												  //the length is not enough for the content ,it will occupy the space of "help_string2"
	MenuDom1State_et d1_state=Getdom1num();	
	CHAR* help3_string=OwGfxGetD3String(d2,d3);

	switch(d1_state)
	{
             case MENU_D1_SUB_LANG:
			 strcpy((char*)help1_string, (char *)gMenu_d2_lang_help_str[MENU_LANG][d2-(MENU_D2_LANG_START+1)]);
			sprintf((char*)help2_string, (char *)gMenu_d3_lang_help_str[MENU_LANG][d2-(MENU_D2_LANG_START+1)],help3_string);
			break;
		case MENU_D1_SUB_DISP:
			 strcpy((char*)help1_string,(char *)gMenu_d2_display_help_str[MENU_LANG][d2-(MENU_D2_DISP_START+1)]);
			 sprintf((char*)help2_string,(char *)gMenu_d3_display_help_str[MENU_LANG][d2-(MENU_D2_DISP_START+1)],help3_string);
			break;
		case MENU_D1_SUB_AUDIO:
			 strcpy((char*)help1_string, (char *)gMenu_d2_audio_help_str[MENU_LANG][d2-(MENU_D2_AUDIO_START+1)]);
			 sprintf((char*)help2_string, (char *)gMenu_d3_audio_help_str[MENU_LANG][d2-(MENU_D2_AUDIO_START+1)],help3_string);
			break;
#if _APP_CAP_AUD_KARAOKE && (!_APP_CAP_MTK_ONLY_KARA_SCORING||_APP_CAP_AUD_KARAOKE_SCORING)//(weilf)20060711
		case MENU_D1_SUB_KARAOKE:
			 strcpy((char*)help1_string, (char *)gMenu_d2_kara_str[MENU_LANG][d2-(MENU_D2_KARA_START+1)]);
			 sprintf((char*)help2_string, (char *)gMenu_d3_kara_help_str[MENU_LANG][d2-(MENU_D2_KARA_START+1)],help3_string);
			break;
#endif

#if _APP_CAP_AUD_SETUP_SPEAKER  			
		case MENU_D1_SUB_SPEAKER:
			 strcpy((char*)help1_string, (char *)gMenu_d2_spk_help_str[MENU_LANG][d2-(MENU_D2_SPK_START+1)]);
			 sprintf((char*)help2_string, (char *)gMenu_d3_spk_help_str[MENU_LANG][d2-(MENU_D2_SPK_START+1)],help3_string);
			break;
#endif
		case MENU_D1_SUB_PARENT:
			 strcpy((char*)help1_string,(char *)gMenu_d2_lock_help_str[MENU_LANG][d2-(MENU_D2_LOCK_START+1)]);
			 sprintf((char*)help2_string,(char *)gMenu_d3_lock_help_str[MENU_LANG][d2-(MENU_D2_LOCK_START+1)],help3_string);
			break;
	}
	
	if(d1_state== MENU_D1_SUB_PARENT&&d2 !=MENU_D2_LOCK_LEVEL)
		sprintf( (char*)help_string, "%s " ,help1_string);	
	else 
		sprintf( (char*)help_string, "%s %s" ,help1_string,help3_string);
	
	if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_2)
		OwGfxSetupDrawStringHelp((char*)help_string);
	else if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_3)
		OwGfxSetupDrawStringHelp((char*)help2_string);

}


/******************************************************************************
* Function name  	: OwGfxSetupPartialCtrlD3
* Arguments      	:  
*     IN        
*					MenuDom3State_et d3_old,MenuDom3State_et d3_new
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: 
* Description    	: 
* Revision       	: 1.0 
******************************************************************************
*/ 

//lina 20060314
VOID OwGfxSetupPartialCtrlD3(MenuDom3State_et d3_old,MenuDom3State_et d3_new)
{
	MenuDom2State_et d2_state = Getdom2num();

	OwGfxSetupSetD2HLBG(d2_state, FALSE);
#if _APP_CAP_AUD_KARAOKE // Qian liping 060329
#if !_APP_CAP_MTK_ONLY_KARA_SCORING
	if ( d2_state == MENU_D2_KARA_VOL||
		d2_state == MENU_D2_KARA_ECHO||
		d2_state == MENU_D2_KARA_KEY )
	{
		OwGfxSetupCreateKara(d2_state, FALSE,TRUE);
		OwGfxSetupKaraValueSetting( d2_state,d3_new, TRUE );
	}
	else 
#endif
#endif
		if(d2_state == MENU_D2_AUDIO_DYN_COMP)
	{
		OwGfxSetupCreateDrc(d2_state, FALSE,TRUE);
		OwGfxSetupDrcValueSetting( d2_state,d3_new, TRUE );

	}
	else

		OwGfxSetupShowD3HL(d3_old, d3_new);
       OwGfxSetupShowHelpStr(d2_state,d3_new);
	
}


/******************************************************************************
* Function name  	: OwGfxSetupShowD1
* Arguments      	:  
*     IN        
*					MenuDom1State_et d1_state
*     OUT       
*     I/O       
* Return         	:  VOID
*					
* By             		: 
* Description    	: 
* Revision       	: 1.0 
*******************

⌨️ 快捷键说明

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