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

📄 osd_handler_com.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/******************************************************************************
 *   Filename    : OSD_manager.c
 *   Start       : 2002. 11. 19
 *   By          : Taejin Kwon
 *   Contact     : tj1kwon@samsung.co.kr
 *   Description : 
 ******************************************************************************
 */
/******************************************************
 *       INCLUDES
 *****************************************************/
#include <string.h>
#include <stdio.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/MMP/Mmp_common.h"

#include "CUSTOM/Key_receive.h"

#include "CUSTOM/FP_handle.h"
#include "CUSTOM/Key_defs.h"

#include "MAIN/SVCD/Svcd_types.h"
#include "MAIN/SVCD/Svcd_ext.h"
#include "MAIN/SVCD/Svcd_show.h"

#include "Osd_util.h"
#include "Osd_draw.h"
#include "Osd_timer.h"
#include "CUSTOM/Strings_ext.h"

#include "Osd_data.h"
#include "Osd_draw_explore.h"
#include "Osd_draw_setup.h"
#include "Osd_draw_program.h"

/******************************************************
 *       Global variables / functions
 *****************************************************/

/******************************************************
 *       Extern variables / functions
 *****************************************************/
extern volatile BOOL		gLoading_on;
extern BOOL	 				gRedraw_flag;
extern ONOFF 				gOsd_angle_onoff;
#if _APP_CAP_OSD_DIGEST
extern BOOL       gDigestTimeOut;
#endif


extern BOOL MIX_GetGraphicEn(BYTE1 gfx_obj);		//(weilf)20060726

/******************************************************************************
* Function name	: OsdHandleDisplayOff
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle display off
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayOff( VOID )
{
	OsdDoOff();
	
	if(gOSD_state.etPrev_dsp == DISPLAY_SETUP)	
	{
		SH_GfxSetBgColor (COLOR_BLACK );	
	}
}

#if _APP_CAP_FUNC_COLDSTART/* Qian liping 050713*/
/******************************************************************************
* Function name	: OsdHandleDisplayColdstart
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Chang lina
* Description		: Handle to display the cold start
* Revision		: 1.0  
******************************************************************************
*/   
 VOID OsdHandleDisplayColdstart( VOID )
{
	gOSD_state.etSetup_dsp.depth = MENU_DOM_DEPTH_4;
		
	/* Before open COLD START Menu All of the Settings are reset except menu
	 * language.
	 *To use previous menu language setting after cold start running, 
	 * if there is no language selection in the COLD START menu.
	 */
	{
		SetupLang_t	language;
		USHORT		menu_lang;

		SetupInfoGetMenuLang( &language );
		menu_lang = language.setup;
		
		SetupInfoInit( TRUE) ;

#if _APP_CAP_FUNC_DIVX_DRM //azureming@060421
		InitialDrmInfo();
#endif
		SetupSetMenuLanguage( (UCHAR)menu_lang );
		SetupSetColdStartFlag( TRUE );
	}

	GraphicBackgroundOn();

	OsdCheck();

	OwColdStartMenu();

	gOSD_state.etRedraw_dsp = DISPLAY_OFF;
}
#endif

/******************************************************************************
* Function name	: OsdHandleDisplayFirmup
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle to display the Firm upgrade
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayFirmup( VOID )
{
	OsdCheck(); 
	
	gOSD_state.etRedraw_dsp = DISPLAY_OFF;
	gOSD_state.ebFirmup_sel = FALSE;

	OwFlashUpdateMenu();
	gOSD_state.ebFirmup_sel = TRUE;
}

/******************************************************************************
* Function name	: OsdHandleDisplayUnkwonDisc
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle to display the Unknown disc
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayUnkwonDisc( VOID )
{
	/* Create logo */
	OsdCheck();
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, (NCHAR*)gInvalidDisc_string[MENU_LANG], NULL );
	SetVfdMainState( FP_MAIN_ERROR );
}

/******************************************************************************
* Function name	: OsdHandleDisplayRegion
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle to display the region
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayRegion( VOID )
{
	OsdCheck();
	gOSD_state.etRc_dsp = RC_DUMMY;//clina 060424
	OwRegionCodeMsg(); 
	OSD_SetTimer(OSD_TIMER_NORMAL, OSD_TIME_FOR_RC_SEL);
}

/******************************************************************************
* Function name	: OsdHandleDisplayRegionError
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle to display the region error
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayRegionError( VOID )
{
	/* Create logo */
	OsdCheck();
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, (NCHAR*)gInvalidRegion_string[MENU_LANG], NULL );
	SetVfdMainState( FP_MAIN_ERROR );
}

// Qian liping 060420
VOID OsdHandleDisplayDiscType( VOID )
{
#if _APP_CAP_OSD_DISC_TYPE
	DiscType_t	disc;
	NCHAR		str[10];

	disc = GetDiscState();

	switch(disc)
	{
		case NO_DISC:
			strcpy(str, (NCHAR*)gNodisc_string[MENU_LANG]);
			break;
		case DVDV_DISC:
		case DVDA_DISC:
			strcpy(str, "DVD-VIDEO");
			break;
		case SVCD_DISC:	
		case HQVCD_DISC:
			if( SvcdExt_IsPsdAvailable() == FALSE )
				sprintf(str, "%s", "SVCD");
			else if( SvcdExt_GetSvcdMenuState() == TRUE )
				sprintf(str, "%s %s", "SVCD",  gMenu_string[MENU_LANG][1]);
			else
				sprintf(str, "%s %s", "SVCD",  gMenu_string[MENU_LANG][0]);
			break;
			
		case VCD_DISC:
			if( SvcdExt_IsPsdAvailable() == FALSE )
				sprintf(str, "%s", "VCD");
			else if( SvcdExt_GetSvcdMenuState() == TRUE )
				sprintf(str, "%s %s", "VCD",  gMenu_string[MENU_LANG][1]);
			else
				sprintf(str, "%s %s", "VCD",  gMenu_string[MENU_LANG][0]);
			break;
		case CD_I:  
			sprintf(str, "%s", "CD-I");
			break;
			
		case CD_DA: /*BY QQ 060315*/
			if(GetHDCDDiscLoaded())
				sprintf(str, "%s", "HDCD");
			else
			if( GetCDGDiscLoaded())
				sprintf(str, "%s", "CD+G");
			else
			if( GetDtsDiscLoaded())
				sprintf(str, "%s", "DTS-CD");
			else
			sprintf(str, "%s", "CD");
			break;
			
		default:
			break;
	}
	/*BY QQ 060302*/
	CursorMessageOn(NOTICE_TYPE_DEFAULT , str );
#endif
}
/******************************************************************************
* Function name	: OsdHandleDisplayCvdWarning
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: Handle to display the CVD warning
* Revision		: 1.0  
******************************************************************************
*/   
STATIC VOID OsdHandleDisplayCvdWarning( VOID )
{			
	OsdCheck();

	OwVcdNotPlayMenu();
	OsdTimerSet( OSD_TIME_FOR_ERROR, TIMER_ENABLE );
	gOSD_state.etRedraw_dsp = DISPLAY_OFF;
}

/******************************************************************************
* Function name	: OsdHandleDisplayOpen
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 060410
* Description		: 
* Revision		: 1.0  
******************************************************************************
*/  
STATIC VOID OsdHandleDisplayOpen( VOID )
{			
	gLoading_on = FALSE;
	GraphicMessageOn(NOTICE_TYPE_OPEN, (NCHAR*)gpOpen[MENU_LANG], NULL );	
	
	gOSD_state.etRedraw_dsp = DISPLAY_OFF;
	/* Reset OSD timer */ // Qian liping 060404: open is keep message.
	// OsdTimerSet( OSD_TIME_FOR_MESSAGE, TIMER_ENABLE );
}

/******************************************************************************
* Function name	: OsdHandleDisplayClose
* Arguments		:  
*     IN    		    VOID
*				
*     OUT       
*     I/O       
* Return			: STATIC VOID  
*					
* By				: Qian liping 
* Description		: 
* Revision		: 1.0  
******************************************************************************
*/  
STATIC VOID OsdHandleDisplayClose( VOID )
{			
	GraphicMessageOn(NOTICE_TYPE_CLOSE, (NCHAR*)gpClose[MENU_LANG], NULL );
}

STATIC VOID OsdHandleDisplayNoDisc( VOID )
{
	NCHAR *str_buf[32];

	sprintf((char *)str_buf,"%s %s",gpNo[MENU_LANG], gpDisc[MENU_LANG]);
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, (NCHAR*)str_buf, NULL );
}

STATIC VOID OsdHandleDisplayNoUsb( VOID )
{
	NCHAR *str_buf[32];

	sprintf((char *)str_buf,"%s %s",gpNo[MENU_LANG], "USB");
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, (NCHAR*)str_buf, NULL );
}
STATIC VOID OsdHandleDisplayNoCard( VOID )
{
	NCHAR *str_buf[32];

	sprintf((char *)str_buf,"%s %s",gpNo[MENU_LANG], gpCard[MENU_LANG]);
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, (NCHAR*)str_buf, NULL );
}

STATIC VOID OsdHandleDisplayDvd( VOID )
{
	GraphicMessageOn(NOTICE_TYPE_DEFAULT, "DVD", NULL );
	
	/* Reset OSD timer */
	OsdTimerSet( OSD_TIME_FOR_DISC_TYPE, TIMER_ENABLE );
}

STATIC VOID OsdHandleDisplaySvcd( VOID )
{
	BOOL	menu_state;
				
	menu_state = GetSvcdMenuState();
	if( GetVcdVersionNumber()==VCD_VER_2_0 )
	{
		GraphicMessageOn(NOTICE_TYPE_DEFAULT, "SVCD 2.0", 
					(NCHAR*)gMenu_string[MENU_LANG][menu_state] );
	}
	else
	{
		GraphicMessageOn(NOTICE_TYPE_DEFAULT, "SVCD 1.0", 
					(NCHAR*)gMenu_string[MENU_LANG][menu_state] );
	}
	/* Reset OSD timer */
	OsdTimerSet( OSD_TIME_FOR_DISC_TYPE, TIMER_ENABLE );	
}


STATIC VOID OsdHandleDisplayVcd( VOID )
{
	BOOL menu_state;
	
	menu_state = GetSvcdMenuState();
	switch( GetVcdVersionNumber() )
	{
		case VCD_VER_2_0:
			GraphicMessageOn(NOTICE_TYPE_DEFAULT, "VCD 2.0", 
					(NCHAR*)gMenu_string[MENU_LANG][menu_state] );
			break;
		case VCD_VER_3_0:
			GraphicMessageOn(NOTICE_TYPE_DEFAULT, "VCD 3.0", 

⌨️ 快捷键说明

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