mso_hslider.h

来自「ZORAN 962/966 SOURCE CODE,DVD chip」· C头文件 代码 · 共 98 行

H
98
字号
/* **************************************************************************************
*  Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: $Workfile: o_hslider.h $
*
* Description:
* ============
* Project definition of the MSO_HSLIDER object.
*
****************************************************************************************/
#ifndef _O_HSLIDER_H_
#define _O_HSLIDER_H_

#include "GUI\Menu_system\ms_object.h"
#include "GUI\Menu_system\ms_container.h"

#define HSLIDER_MAX_VALUE	9999

/***************************************************************************************
* 	Public Macros
****************************************************************************************/
// This attribute means that the choice is displayed as a tab.
#define MS_ATTR_HSLIDER_DISABLE			MS_ATTR_GENERAL_PURPOSE_1
#define MS_SET_HSLIDER_DISABLE			MS_SetGeneralPurpose1
#define MS_CLEAR_HSLIDER_DISABLE			MS_ClearGeneralPurpose1
#define MS_IS_HSLIDER_DISABLED			MS_IsGeneralPurpose1

typedef enum {
	HS_HIGHLIGHT_ON_TAB,
    HS_HIGHLIGHT_ON_OBJECT
} HSLIDER_HL_POS;

typedef enum {
	HS_ACTION_GET,
	HS_ACTION_SET
} HSLIDER_ACTION;

/**************************************************************************
* Horizontal slider parameters
***************************************************************************/
typedef struct ms_param_hslider {
	INT16 mwMinValue;
	INT16 mwMaxValue;
	INT16 mwCurrentValue;
	INT16 mwStepIndex;
}MS_PARAM_HSLIDER;


/**************************************************************************
* Horizontal slider descriptor
***************************************************************************/
typedef struct ms_descriptor_hslider {
	MS_DESCRIPTOR 	moDescriptor;
    UINT8  			mcBarHeight;
    UINT8  			mcBarWidth;
    UINT8  			mcTabHeight;
    UINT8  			mcTabWidth;
    HSLIDER_HL_POS	eHLPos;
    BOOL			bDisplayCurrentValue;
    BOOL			bDisplayMinAndMaxValues;
    UINT16 (*mpfMutator)(HSLIDER_ACTION eAction, UINT16 wValue);
} MS_DESCRIPTOR_HSLIDER;

/* Descriptor for a slider which is to be displayed as part of a vertical list of options */
typedef struct ms_descriptor_hslider_vlist {
	MS_DESCRIPTOR 	moDescriptor;
	OSD_MESSAGES 	mName;	
	OSD_MESSAGES 	mMinTxtVal; 	// Useless, should be deleted.
	OSD_MESSAGES 	mMaxTxtVal;	// Useless, should be deleted.
    	UINT8  			mcBarHeight;
    	UINT8  			mcBarWidth;
    	UINT8  			mcTabHeight;
    	UINT8  			mcTabWidth;
    	HSLIDER_HL_POS	eHLPos;
   	BOOL			bDisplayCurrentValue;
   	BOOL			bDisplayMinAndMaxValues;
    	UINT16 (*mpfMutator)(HSLIDER_ACTION eAction, UINT16 wValue);
} MS_DESCRIPTOR_HSLIDER_VLIST;

/**************************************************************************
*  Horizontal slider object
***************************************************************************/
typedef struct mso_hslider {
	MSO_OBJECT 			moObject;
	MS_PARAM_HSLIDER 	moParam;
} MSO_HSLIDER;


/**************************************************************************
* Horizontal slider function declarations.
***************************************************************************/
extern MS_OP HSliderOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
extern BOOL HSliderFillOSDSeg(MSO_OBJECT __NEAR* pTextObject, MS_AREA __NEAR* pAbsArea);
extern MS_OP HSliderOperationOnVList(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
extern BOOL HSliderFillOSDSegOnVList(MSO_OBJECT __NEAR* pTextObject, MS_AREA __NEAR* pAbsArea);

#endif // _O_HSLIDER_H_

⌨️ 快捷键说明

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