o_volume_control_config.c

来自「ZORAN 962/966 SOURCE CODE,DVD chip」· C语言 代码 · 共 593 行 · 第 1/2 页

C
593
字号
    	},
    	S_R_SUR_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_RightSurroundChannelVolumeSliderAction
};
#endif // D_SURROUND_CHANNEL_VOLUME

#ifdef D_LT_RT_CHANNEL_VOLUME
/***************************************************************************************
*	Descriptor 	: 	oLeftDownmixVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oLeftDownmixVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oLeftDownmixVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oLeftDownmixVolumeSliderParams
    	},
    	S_DML_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_LeftDownmixVolumeSliderAction
};
/***************************************************************************************
*	Descriptor 	: 	oRightDownmixVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oRightDownmixVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oRightDownmixVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oRightDownmixVolumeSliderParams
    	},
    	S_DMR_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_RightDownmixVolumeSliderAction
};
#endif // D_LT_RT_CHANNEL_VOLUME

#ifdef D_LFE_CHANNEL_VOLUME
/***************************************************************************************
*	Descriptor 	: 	oSubwooferChannelVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oSubwooferChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oSubwooferChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	_SubWooferChannelSliderOperation,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oSubwooferChannelVolumeSliderParams
    	},
    	S_SUBWOOFER_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_SubwooferChannelVolumeSliderAction
};
#endif // D_LFE_CHANNEL_VOLUME

#else
#ifdef D_GUI_HEADPHONE_VOLUME
/***************************************************************************************
*	Descriptor 	: 	oHeadphoneVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oHeadphoneVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	NUM_SLIDER_STEPS_HEADPHONE_NON_DDX,
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oHeadphoneVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oHeadphoneVolumeSliderParams
    	},
    	S_HP_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_HeadphoneVolumeSliderAction
};
#endif
#endif // D_SEPARATE_CHANNEL_VOLUME_CONTROL

/***************************************************************************************
*	Descriptor 	: 	oVolumeKitVListDescriptor
*
*	Purpose	 	:	Descriptor of the list (MSO_VLIST) containing the Volume settings.
 ****************************************************************************************/
static CONST MS_PARAM_VLIST oVolumeKitListParam = {
	0,	// Total number of items in the list.
	0,	// Index of the first item.
	NBR_MSO_CHOICE_MAX_VISIBLE, // Visible
	0, // offset
	0
};

static CONST MS_DESCRIPTOR_VLIST oVolumeKitVListDescriptor = 
{ // 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  | MS_ATTR_VLIST_SCROLL_SINGLE_ITEM, 
		{
			AREA_VOLUMEKIT_X,
			AREA_VOLUMEKIT_Y,
			AREA_VOLUMEKIT_W,
			AREA_VOLUMEKIT_H
		},
		_VolumekitVlistOperation,	
		mpfFillOsdSegNull, // VListFillOSDSeg
		(UINT8*)&oVolumeKitListParam
	},// Descriptor end
	maContentsNull,
	mwNbrContentsNull,
};



/***************************************************************************************
*	Descriptor 	: 	oVolumeKitDescriptor
*
*	Purpose	 	:	Descriptor of the toolkit. The toolkit is a MSO_VSCROLL_LIST object, 
*					that contains an MSO_VLIST (descriptor oToolKitVListDescriptor) object 
*					within it.
 ****************************************************************************************/
static CONST MS_DESCRIPTOR_VSCROLL_LIST oVolumeKitDescriptor = 
{
	{ // Container descriptor start
		{ // Descriptor start
			sizeof(MSO_VSCROLL_LIST),
			MS_NAV_NULL,
			MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1 | MS_ATTR_VSLIST_DISPLAY_BG_BMP 
	//#ifdef D_GUI_SINGLE_LINE_COMPONENT
			| MS_ATTR_VSLIST_SCROLL_ARROW | MS_ATTR_VSLIST_SCROLL_ARROW_ON_SIDE
	//#endif //D_GUI_SINGLE_LINE_COMPONENT
			,
			{
				AREA_VOLUMEKIT_X,
				AREA_VOLUMEKIT_Y,
				AREA_VOLUMEKIT_W,
				AREA_VOLUMEKIT_H
			},
			_VolumeKitOperation,					
			VScrollListFillOSDSeg,
			mpParamNull,
		}, // Descriptor end
		maContentsNull,
		mwNbrContentsNull,		
	}, // Container descriptor end
	(MS_DESCRIPTOR_VLIST*)&oVolumeKitVListDescriptor, // mpDescriptorVList
	VOLUMEKIT_SCROLL_XPADDING, 
	VOLUMEKIT_SCROLL_ARROW_HEIGHT,
	CIDX_8, 				// Text color
	NULL, 				// Background bitmap
	BMP_BG_PUSHED_1, 	// Scrollbar background bitmap
	BMP_BG_3 			// Scrollbar bitmap
};


#define NBR_PLII_MENU_CONTENTS			1


static CONST MS_DESCRIPTOR* CONST apContainerContents[NBR_PLII_MENU_CONTENTS] = {	
	(MS_DESCRIPTOR*)&oVolumeKitDescriptor
};


/***************************************************************************************
*	Descriptor 	: 	oVolumeDescriptor
*
*	Purpose	 	:	
*
 ****************************************************************************************/
CONST  MS_DESCRIPTOR_VOLUMN_CONTROL oVolumeControl =
{
	{// MS_DESCRIPTOR_COMPONENT
		{// MS_DESCRIPTOR_CONTAINER
			{// MS_DESCRIPTOR
				sizeof(MSO_VOLUMN_CONTROL),
				MS_NAV_CONTAINER_WRAP_UD | MS_NAV_TO_ALGINED_Y | MS_NAV_DISABLE_LR,
				MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_2,
				{
					AREA_VOLUME_X, 
					AREA_VOLUME_Y, 
					AREA_VOLUME_W, 
					AREA_VOLUME_H
	           		 },
				_VolumePromptOperation,
				_VolumeFillOSDSeg,
				mpParamNull,
			},
			(CONST MS_DESCRIPTOR**)apContainerContents,
			NBR_PLII_MENU_CONTENTS,
		},
		(MS_DESCRIPTOR*)&oMainVolumeSliderDescriptor
	},
	BMP_BG_2
};


⌨️ 快捷键说明

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