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

📄 o_brightness_edge_controller.c

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 C
📖 第 1 页 / 共 2 页
字号:
    	RUNTIME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	FALSE,	// bDisplayCurrentValue
    	TRUE,//FALSE,	// bDisplayMinAndMaxValues
    	_EdgeCtrlSliderAction
};

/***************************************************************************************
* 	The BrightnessEdgeController component
****************************************************************************************/
#define NBR_BRIGHTNESS_EDGE_CONTROLLER_CONTENTS		4

static CONST MS_DESCRIPTOR* CONST apBrightnessEdgeControllerContents[NBR_BRIGHTNESS_EDGE_CONTROLLER_CONTENTS] = 
{
	(MS_DESCRIPTOR*)&oBrightnessTitleDescriptor,
	(MS_DESCRIPTOR*)&oEdgesTitleDescriptor,
	(MS_DESCRIPTOR*)&oBrightCtrlSliderDescriptor,
	(MS_DESCRIPTOR*)&oEdgeCtrlSliderDescriptor
};

CONST MS_DESCRIPTOR_BRIGHTNESS_EDGE_CONTROLLER oBrightnessEdgeControllerDescriptor =
{
	{// MS_DESCRIPTOR_COMPONENT
		{// MS_DESCRIPTOR_CONTAINER
			{// MS_DESCRIPTOR
				sizeof(MSO_BRIGHTNESS_EDGE_CONTROLLER),
				MS_NAV_DISABLE_LR|MS_NAV_CONTAINER_WRAP_UD,
				MS_ATTR_CONTAINER|MS_ATTR_FOCUSABLE|MS_ATTR_OSD_LAYER_0,
				{ 
					AREA_BRIGHTNESS_EDGE_CONTROLLER_X, 
					AREA_BRIGHTNESS_EDGE_CONTROLLER_Y, 
					AREA_BRIGHTNESS_EDGE_CONTROLLER_W, 
					AREA_BRIGHTNESS_EDGE_CONTROLLER_H
				},
				_BrightnessEdgeControllerComponentOperation,
				_BrightnessEdgeControllerComponentFillOSDSeg,
				mpParamNull
			},			
			(CONST MS_DESCRIPTOR**)apBrightnessEdgeControllerContents,	
			NBR_BRIGHTNESS_EDGE_CONTROLLER_CONTENTS
		},
		(MS_DESCRIPTOR*)&oBrightCtrlSliderDescriptor
	},
	BMP_BG_2
};

/***************************************************************************************
* 	Operation functions of brightness_edge_controller Component.
****************************************************************************************/

/***************************************************************************************
*	Function 	: 	
*
*	In		:
*
*	Out		:
*
*	Desc 	:	The  user operation function.
****************************************************************************************/

static MS_OP _BrightnessEdgeControllerComponentOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp,UINT32 lParam)
{
	switch(MsOp)
	{
        case MS_OP_INIT:
		MS_ComponentInitFocus((MSO_COMPONENT __NEAR*)pThis);
		break;
	case MS_OP_MENU:
	case MS_OP_STOP:
	case MS_OP_BRIGHTNESS_EDGE_CONTROL:
		{
			MsOp=MS_OP_CLOSE_PARENT;
		}
		break;
	case MS_OP_EJECT:
		{
			MS_SendOperation(pThis, MS_OP_CLOSE_PARENT,  0);
		}
		break;

	default :
		break;
	}
	return MS_ComponentBasicOperation(pThis, MsOp, lParam);
}


/***************************************************************************************
*	Function 	: 	
*
*	In		:
*
*	Out		:
*
*	Desc 	:	The  user operation function.
****************************************************************************************/
STATIC UINT16 _BrightCtrlSliderAction(HSLIDER_ACTION eType, UINT16 wValue)
{
	UINT16 wBrightnessValue;

	if(HS_ACTION_GET == eType)
	{
		wBrightnessValue = CoreAPI_GetPsBrightnessSetting();

		// Check slider value range before return.
		if(MAX_BRIGHT_VALUE < wBrightnessValue)
			return NUM_BRIGHTNESS_SLIDER_STEPS;
		else if(MIN_BRIGHT_VALUE > wBrightnessValue)
			return MIN_BRIGHT_VALUE;
		else
			return wBrightnessValue;
	}
	else
	{
		// Check value range before return to slider.
		if( MAX_BRIGHT_VALUE < wValue)
			wBrightnessValue = MAX_BRIGHT_VALUE;
		else if ( wValue<MIN_BRIGHT_VALUE)
		{
			wBrightnessValue = MIN_BRIGHT_VALUE;
		}
		else
			wBrightnessValue = wValue;

		CoreAPI_UpdatePlayerSetting(PS_UPDATE_BE_CTRL_SETTING, wBrightnessValue);
		return wValue;
	}
}

/***************************************************************************************
*	Function 	: 	
*
*	In		:
*
*	Out		:
*
*	Desc 	:	The  user operation function.
****************************************************************************************/
STATIC UINT16 _EdgeCtrlSliderAction(HSLIDER_ACTION eType, UINT16 wValue)
{
  	UINT16 wEdgeValue;

	if(HS_ACTION_GET == eType)
	{
		wEdgeValue = CoreAPI_GetPsEdgeSetting();

		// Check slider value range before return.
		if(MAX_EDGE_VALUE < wEdgeValue)
			return NUM_EDGE_SLIDER_STEPS;
		else if(MIN_EDGE_VALUE > wEdgeValue)
			return MIN_EDGE_VALUE;
		else
			return wEdgeValue;
	}
	else
	{
		// Check value range before return to slider.
		if(MAX_EDGE_VALUE< wValue)
			wEdgeValue = MAX_EDGE_VALUE;
		else if ( wValue<MIN_EDGE_VALUE)
			wEdgeValue = MIN_EDGE_VALUE;
		else
			wEdgeValue = wValue;

		CoreAPI_UpdatePlayerSetting(PS_UPDATE_EE_CTRL_SETTING, wEdgeValue);
		return wValue;
	}
}



/***************************************************************************************
* 	Display functions
****************************************************************************************/

/***************************************************************************************
*	Function 	: 
*
*	In		:
*
*	Out		:
*
*	Desc 	:	MSO_BRIGHTNESS_EDGE_CONTROLLER display function.
****************************************************************************************/
#pragma argsused
static BOOL _BrightnessEdgeControllerComponentFillOSDSeg(MSO_OBJECT __NEAR* pThis, MS_AREA __NEAR* pAbsArea)
{
	MS_DESCRIPTOR_BRIGHTNESS_EDGE_CONTROLLER* pDescriptor = (MS_DESCRIPTOR_BRIGHTNESS_EDGE_CONTROLLER*)pThis->mpDescriptor;

	OSDR_FillOsdSegBitmapFitArea(pDescriptor->mpBgBmp, pAbsArea);
   	return FALSE;
}


/***************************************************************************************
* 	Public functions
****************************************************************************************/

/***************************************************************************************
*	Function	:	OBrightnessEdge_OpenAtPos
*
*	In		:	pParent		=	Pointer to the parent container.
*
*				wStartX		=	X position of the component. The default position (specified in the 
*								descriptor) is used in case this parameter is set to DEFAULT_POSITION.
*
*				wStartY		=	Y position of the component.The default position (specified in the 
*								descriptor) is used in case this parameter is set to DEFAULT_POSITION.
*
*	Out		:	None.
*
*	Return	:	Pointer to the brightness_edge_controller component if opened successfully, otherwise NULL.
*
*	Desc		: 	Creates, and displays a brightness_edge_controller component at a specified position.
****************************************************************************************/
extern MSO_OBJECT __NEAR* OBrightnessEdge_OpenAtPos(MSO_CONTAINER __NEAR* pParent, UINT16 wStartX, UINT16 wStartY)
{
	if(NULL != pParent)
	{
		MSO_OBJECT __NEAR* pObject;
		pObject = (MSO_OBJECT __NEAR*)MS_ComponentOpen((MS_DESCRIPTOR_COMPONENT*)&oBrightnessEdgeControllerDescriptor, pParent);	
		if(NULL != pObject)
		{
			if((DEFAULT_POSITION != wStartX) || (DEFAULT_POSITION != wStartY))
			{
				wStartX = (DEFAULT_POSITION == wStartX) ? pObject->mpDescriptor->moArea.msX : wStartX;
				wStartY = (DEFAULT_POSITION == wStartY) ? pObject->mpDescriptor->moArea.msY : wStartY;
				MS_ObjectMove(pObject, wStartX, wStartY);
			}
		MS_DisplayAddObject(pObject);
		}
		return pObject;
	}
	return NULL;
}

#endif//D_GUI_COMPONENT_BRIGHTNESS_EDGE_CONTROLLER

⌨️ 快捷键说明

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