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

📄 o_dvdvr_config.c

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 C
字号:
/****************************************************************************************************
*  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: o_dvdvr_config.c
*
* Description:
* =========
****************************************************************************************************/


/****************************************************************************************************
*	DEFINITION: Private constants 
****************************************************************************************************/

/***************************************************************************************
*	Descriptor 	: 	oCenterLeftAlignToContainer
*
*	Purpose	 	:	
****************************************************************************************/
#ifndef D_CUSTOM_oCenterLeftAlignToContainer
STATIC CONST MS_X_Y_ALIGN oCenterLeftAlignToContainer =
{
	4,
	0,
	ALIGN_H_LEFT_TO_CONTAINER,
    	ALIGN_V_CENTER_TO_CONTAINER
};
#endif // D_CUSTOM_oCenterLeftAlignToContainer

/***************************************************************************************
*	Descriptor 	: 	oDiscNameDescriptor
*
*	Purpose	 	:	The Disc Name object displays name of the DVD-VR disc in the tray.
 ****************************************************************************************/
#ifndef D_CUSTOM_oDiscNameText
STATIC CONST OSD_TEXT oDiscNameText = { _GetDiscName, 0};
#endif // D_CUSTOM_oDiscNameText
 
#ifndef D_CUSTOM_oDiscNameDescriptor
STATIC CONST MS_DESCRIPTOR_DISCNAME oDiscNameDescriptor =
{
	{
		sizeof(MSO_DISCNAME),
		MS_NAV_NULL,
		MS_ATTR_OSD_LAYER_0,
		{
			AREA_DISCNAME_X, AREA_DISCNAME_Y, AREA_DISCNAME_W, AREA_DISCNAME_H
		},
		OTEXT_Operation,
		OTEXT_FillOSDSeg,
		mpParamNull
	},
	(MS_X_Y_ALIGN*)&oCenterLeftAlignToContainer,
	(MS_COLOR_SET*)&oDefaultTextColorSet,
	(MS_BITMAP_SET*)&oHighlightOnlyBitmapSet,
	(OSD_TEXT*)&oDiscNameText,
	FONT_DISCNAME,
	NULL,
	NULL
};
#endif // D_CUSTOM_oDiscNameDescriptor

/***************************************************************************************
*	Descriptor 	: 	oProgramChainDescriptor
*
*	Purpose	 	:	The Program Chain object displays name of the current program chain.
 ****************************************************************************************/
#ifndef D_CUSTOM_oProgramChainText
static CONST OSD_TEXT oProgramChainText = { OSDR_GetFormUniStr_OsdMessage, S_NULL};
#endif // D_CUSTOM_oProgramChainText
 
#ifndef D_CUSTOM_oProgramChainDescriptor
STATIC CONST MS_DESCRIPTOR_PROGRAM_CHAIN oProgramChainDescriptor =
{
	{
		sizeof(MSO_PROGRAM_CHAIN),
		MS_NAV_NULL,
		MS_ATTR_OSD_LAYER_0,
		{
			AREA_PROGRAM_CHAIN_X, AREA_PROGRAM_CHAIN_Y, AREA_PROGRAM_CHAIN_W, AREA_PROGRAM_CHAIN_H
		},
		_ProgramChainOperation,
		OTEXT_FillOSDSeg,
		mpParamNull
	},
	(MS_X_Y_ALIGN*)&oCenterLeftAlignToContainer,
	(MS_COLOR_SET*)&oDefaultTextColorSet,
	(MS_BITMAP_SET*)&oHighlightOnlyBitmapSet,
	(OSD_TEXT*)&oProgramChainText,
	FONT_PROGRAM_CHAIN,
	NULL,
	NULL
};
#endif // D_CUSTOM_oProgramChainDescriptor

/***************************************************************************************
*	Descriptor 	: 	oPlayTitleDescriptor
*
*	Purpose	 	:	The play file object displays current, and total tracks.
 ****************************************************************************************/
#ifndef D_CUSTOM_oPlayTitleText
STATIC CONST OSD_TEXT oPlayTitleText = { _GetPlayTitle, 0};
#endif // D_CUSTOM_oPlayTitleText
 
#ifndef D_CUSTOM_oPlayTitleDescriptor
STATIC CONST MS_DESCRIPTOR_PLAYTITLE oPlayTitleDescriptor =
{
	{
		sizeof(MSO_PLAYTITLE),
		MS_NAV_NULL,
		MS_ATTR_OSD_LAYER_0,
		{
			AREA_PLAYFILE_X, AREA_PLAYFILE_Y, AREA_PLAYFILE_W, AREA_PLAYFILE_H
		},
		_PlayTitleOperation,
		OTEXT_FillOSDSeg,
		mpParamNull
	},
	(MS_X_Y_ALIGN*)&oCenterAlignToContainer,
	(MS_COLOR_SET*)&oDefaultTextColorSet,
	(MS_BITMAP_SET*)&oHighlightOnlyBitmapSet,
	(OSD_TEXT*)&oPlayTitleText,
	FONT_PLAYTITLE,
	NULL,
	NULL
};
#endif // D_CUSTOM_oPlayTitleDescriptor

/***************************************************************************************
*	Descriptor 	: 	oNameTextDescriptor
*
*	Purpose	 	:	This is the descriptor for the "Name" text
****************************************************************************************/
#ifndef D_CUSTOM_oNameText
static CONST OSD_TEXT oNameText = { OSDR_GetFormUniStr_OsdMessage, S_NAME};
#endif//D_CUSTOM_oNameText

#ifndef D_CUSTOM_oNameTextDescriptor
static CONST MS_DESCRIPTOR_TEXT oNameTextDescriptor =
{ // MS_DESCRIPTOR_TEXT
	{ // MS_DESCRIPTOR
		sizeof(MSO_TEXT),
		MS_NAV_NULL,
		MS_ATTR_OSD_LAYER_0,
		{
			AREA_NAME_TEXT_X,
			AREA_NAME_TEXT_Y,
			AREA_NAME_TEXT_W,
			AREA_NAME_TEXT_H
		},
		OTEXT_Operation,
		OTEXT_FillOSDSeg,
		(UINT8*)NULL
	},
	(MS_X_Y_ALIGN *)&oCenterAlignToContainer,
	(MS_COLOR_SET *)&oDefaultTextColorSet,
	NULL,
	(OSD_TEXT*)&oNameText,
	FONT_NAME_TEXT,
	NULL,
	NULL
};
#endif //D_CUSTOM_oNameTextDescriptor

/***************************************************************************************
*	Descriptor 	: 	oCreationTimeTextDescriptor
*
*	Purpose	 	:	This is the descriptor for the "Creation Time" text
****************************************************************************************/
#ifndef D_CUSTOM_oCreationTimeText
static CONST OSD_TEXT oCreationTimeText = { OSDR_GetFormUniStr_OsdMessage, S_CREATION_TIME};
#endif//D_CUSTOM_oCreationTimeText

#ifndef D_CUSTOM_oCreationTimeTextDescriptor
static CONST MS_DESCRIPTOR_TEXT oCreationTimeTextDescriptor =
{ // MS_DESCRIPTOR_TEXT
	{ // MS_DESCRIPTOR
		sizeof(MSO_TEXT),
		MS_NAV_NULL,
		MS_ATTR_OSD_LAYER_0,
		{
			AREA_CREATION_TIME_TEXT_X,
			AREA_CREATION_TIME_TEXT_Y,
			AREA_CREATION_TIME_TEXT_W,
			AREA_CREATION_TIME_TEXT_H
		},
		OTEXT_Operation,
		OTEXT_FillOSDSeg,
		(UINT8*)NULL
	},
	(MS_X_Y_ALIGN *)&oCenterAlignToContainer,
	(MS_COLOR_SET *)&oDefaultTextColorSet,
	NULL,
	(OSD_TEXT*)&oCreationTimeText,
	FONT_CREATIONTIME_TEXT,
	NULL,
	NULL
};
#endif //D_CUSTOM_oCreationTimeTextDescriptor

/***************************************************************************************
*	Descriptor 	: 	oListItemDescriptor
*
*	Purpose	 	:	Descriptor of the items that represent DVDVR titles.
 ****************************************************************************************/
STATIC CONST MS_COLOR_SET oListItemColorSet =
{
	CIDX_LISTITEM_TEXT,
	CIDX_ACTIVE_LISTITEM,
	NULL,
	NULL
};

STATIC CONST MS_DESCRIPTOR_DVDVR_LISTITEM oListItemDescriptor =
{	
	{
		sizeof(MSO_DVDVR_LISTITEM),
		MS_NAV_NULL,
		MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
		{
			20, 50, 120, AREA_LISTITEM_H
		},
		_ListItemOperation,
		_ListItemFillOSDSeg,
		mpParamNull
	},
	(MS_COLOR_SET*)&oListItemColorSet,
	(MS_BITMAP_SET*)&oHighlightOnlyBitmapSet,
	FONT_LISTITEM,
};

/***************************************************************************************
*	Descriptor 	: 	oBrowserVListDescriptor
*
*	Purpose	 	:	It's an MSO_VLIST which contains a list of MSO_CLIPS_LISTITEM.
 ****************************************************************************************/
STATIC CONST MS_PARAM_VLIST oBrowserVListParam = {
	0,	// Total number of items in the list.
	0,	// Index of the first item.
	MAX_DVDVR_VISIBLE_LISTITEMS,
	0,
	0
};

STATIC CONST MS_DESCRIPTOR_VLIST oBrowserVListDescriptor =
{ // Container descriptor start
	{// Descriptor start
		sizeof(MSO_VLIST),
		MS_NAV_CONTAINER_WRAP_UD | MS_NAV_CONTAINER_GOTO_PREV_FOCUS | MS_NAV_CONTAINER_GOTO_TOP,
		MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
		{
			20, 20, 200, 264
		},
		VListOperation,
		mpfFillOsdSegNull,
		(UINT8*)&oBrowserVListParam
	},// Descriptor end
	maContentsNull,
	mwNbrContentsNull,
};

/***************************************************************************************
*	Descriptor 	: 	oBrowserVScrollListDescriptor
*
*	Purpose	 	:	It's an MSO_VSCROLL_LIST which contains an MSO_VLIST, and displays a scroll bar.
 ****************************************************************************************/
STATIC CONST MS_DESCRIPTOR_VSCROLL_LIST oBrowserVScrollListDescriptor =
{
	{ // Container descriptor start
		{ // Descriptor start
			sizeof(MSO_VSCROLL_LIST),
			MS_NAV_NULL,
			MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
			{
				AREA_SCROLL_LIST_X,
				AREA_SCROLL_LIST_Y,
				AREA_SCROLL_LIST_W,
				AREA_SCROLL_LIST_H
			},
			_BrowserScrollListOperation,
			VScrollListFillOSDSeg,
			mpParamNull,
		}, // Descriptor end
		maContentsNull,
		mwNbrContentsNull,
	}, // Container descriptor end
	(MS_DESCRIPTOR_VLIST*)&oBrowserVListDescriptor,
	VSCROLL_LIST_XPADDING,
	VSCROLL_LIST_YPADDING,
	CIDX_BROWSER_TEXT,					// Text color
	BMP_BROWSER_LIST_BG, 				// Background bitmap
	BMP_BROWSER_LIST_SCROLLBAR_BG, 	// Scrollbar background bitmap
	BMP_BROWSER_LIST_SCROLLBAR 		// Scrollbar bitmap
};

/***************************************************************************************
*	Descriptor 	: 	oHelpTextDescriptor
*
*	Purpose	 	:	Displays "helpful" information to the user.
 ****************************************************************************************/
enum
{
	DVDVR_MENU_KEY_HELP	,
	DVDVR_TITLE_KEY_HELP	,
	DVDVR_PLAYBACK_HELP	,
	DVDVR_HELP_ARRAY_SIZE
};

STATIC CONST MS_DESCRIPTOR_DVDVR_HELPTEXT oHelpTextDescriptor =
{ // MS_DESCRIPTOR_HSCROLL_TEXT
	{ // MS_DESCRIPTOR_MULTILINE_TEXT
		{ // MS_DESCRIPTOR_TEXT
       		{ // MS_DESCRIPTOR
            			sizeof(MSO_DVDVR_HELPTEXT),
            			MS_NAV_NULL,
            			MS_ATTR_OSD_LAYER_1, // Attributes
            			{
                			AREA_HELP_TEXT_X, AREA_HELP_TEXT_Y, AREA_HELP_TEXT_W, AREA_HELP_TEXT_H
            			},
            			_HelpTextOperation,
				OHSCROLLTEXT_FillOSDSeg,
            			mpParamNull
        		},
        		(MS_X_Y_ALIGN *)&oHelpTextXYAlign,
			(MS_COLOR_SET *)&oHelpTextColorSet,
			(MS_BITMAP_SET *)&oButtonBitmapSet,
			(OSD_TEXT *)NULL,
			FONT_HELPTEXT,
			NULL,
			NULL,
        	},
        	DVDVR_HELPTEXT_LEFT_RIGHT_BORDER,
        	DVDVR_HELPTEXT_TOP_BOTTOM_BORDER,
        	DVDVR_HELPTEXT_PIXEL_GAP,
        	DVDVR_HELP_ARRAY_SIZE,
 #ifdef D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
        	DVDVR_HELPTEXT_BG_FIT_H,						
        	DVDVR_HELPTEXT_BG_FIT_V,						
        	DVDVR_HELPTEXT_PIXEL_MARGIN_BG_HORIZONTAL ,	
        	DVDVR_HELPTEXT_PIXEL_MARGIN_BG_VERTICAL,         
        	DVDVR_HELPTEXT_PREPARE_STR_FIT 				
#endif//D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
	},
    	HSCROLL_START_RIGHT,
    	HSCROLL_TYPE_FINISH_BEFORE_RESCROLL_REMOVE_SCROLL, // scrolltype
    	DVDVR_HELPTEXT_PIXEL_COUNT,
    	DVDVR_HELPTEXT_HOLD_TIME
};

/***************************************************************************************
*	Descriptor 	: 	oDVDVRDescriptor
*
*	Purpose	 	:	Descriptor of the list (MSO_DVDVR) DVDVR component.
 ****************************************************************************************/
enum 
{
	NBR_DVDVR_DISCNAME 		= 0	,
	NBR_DVDVR_PROGRAM_CHAIN		,
	NBR_DVDVR_PLAYTITLE			,
	NBR_DVDVR_NAME_TEXT			,
	NBR_DVDVR_CREATION_TIME_TEXT	,
	NBR_DVDVR_BROWSER				,
	NBR_DVDVR_HELP_TEXT			,
	NBR_DVDVR_CONTENTS
};

STATIC CONST MS_DESCRIPTOR* CONST apDVDVRContents[NBR_DVDVR_CONTENTS] = {	
	(MS_DESCRIPTOR*)&oDiscNameDescriptor,
	(MS_DESCRIPTOR*)&oProgramChainDescriptor,
	(MS_DESCRIPTOR*)&oPlayTitleDescriptor,
	(MS_DESCRIPTOR*)&oNameTextDescriptor,
	(MS_DESCRIPTOR*)&oCreationTimeTextDescriptor,
	(MS_DESCRIPTOR*)&oBrowserVScrollListDescriptor,
	(MS_DESCRIPTOR*)&oHelpTextDescriptor,
};

CONST MS_DESCRIPTOR_DVDVR oDVDVRDescriptor =
{
	{// MS_DESCRIPTOR_COMPONENT
		{// MS_DESCRIPTOR_CONTAINER
			{// MS_DESCRIPTOR
				sizeof(MSO_DVDVR),
				MS_NAV_TO_ALGINED_Y | MS_NAV_DISABLE_LR | MS_NAV_DISABLE_UD |
				MS_NAV_CONTAINER_WRAP_LR | MS_NAV_CONTAINER_WRAP_UD | MS_NAV_CONTAINER_GOTO_TOP,
				MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
				{
					AREA_DVDVR_X,
					AREA_DVDVR_Y, 
					AREA_DVDVR_W, 
					AREA_DVDVR_H
				},
				_DVDVROperation,
				_DVDVRFillOSDSeg,
				mpParamNull
			},
			(CONST MS_DESCRIPTOR**)apDVDVRContents,	//maContentsNull,
			NBR_DVDVR_CONTENTS, 						//mwNbrContentsNull,
		},
		(MS_DESCRIPTOR*)&oBrowserVListDescriptor
	},
	BMP_DVDVR_COMPONENT_BG,
	CIDX_DVDVR_COMPONENT_TEXT
};

⌨️ 快捷键说明

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