104 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/**
 | 
						|
    UI scroll bar control related API.
 | 
						|
 | 
						|
    UI scroll bar control export variables and function prototypes.
 | 
						|
 | 
						|
    @file       UICtrlScrollBarLib.h
 | 
						|
    @ingroup    mIUIControl
 | 
						|
    @note       Nothing (or anything need to be mentioned).
 | 
						|
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2011.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef UICTRLSCROLLBARLIB_H
 | 
						|
#define UICTRLSCROLLBARLIB_H
 | 
						|
 | 
						|
#include "UIControlExt.h"
 | 
						|
 | 
						|
/**
 | 
						|
    @addtogroup mIUIControl
 | 
						|
*/
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
     Scroll bar type
 | 
						|
*/
 | 
						|
typedef enum {
 | 
						|
	SCRBAR_VERTICAL = 0x00,         ///< Vertical scroll bar
 | 
						|
	SCRBAR_HORIZONTAL               ///< Horizontal scroll bar
 | 
						|
} SCRLBAR_TYPE;
 | 
						|
 | 
						|
/**
 | 
						|
     The method of scroll bar thumb size
 | 
						|
*/
 | 
						|
typedef enum {
 | 
						|
	SCRBAR_FIXSIZE = 0x00,          ///< Scroll bar rectangle define by user
 | 
						|
	SCRBAR_STEP_AVG                 ///< Scroll bar rectangle calculate by total step
 | 
						|
} SCRLBAR_SHAPE;
 | 
						|
 | 
						|
/**
 | 
						|
     Scroll bar data structure
 | 
						|
*/
 | 
						|
typedef struct _CTRL_SCRBAR_DATA {
 | 
						|
	SCRLBAR_TYPE    scrlBarType;    ///< Scroll bar type:horizontal or vertical
 | 
						|
	SCRLBAR_SHAPE   scrlBarShape;   ///< Thumb lenght.Fix size or calculate by average step rectangle
 | 
						|
	UINT32          currentStep;    ///< Current value index
 | 
						|
	UINT32          totalStep;      ///< Max step
 | 
						|
	UINT32          pageStep;       ///< Step number per page
 | 
						|
} CTRL_SCRBAR_DATA;
 | 
						|
 | 
						|
/**
 | 
						|
     Scroll bar show object group index
 | 
						|
*/
 | 
						|
typedef enum {
 | 
						|
	SCRBAR_BACKGROUND = 0x00,   ///< The button group is background.
 | 
						|
	SCRBAR_UP,                  ///< Thumb up layer
 | 
						|
	SCRBAR_DOWN,                ///< Thumb down layer
 | 
						|
	SCRBAR_THUMBNAIL,           ///< Thumb layer
 | 
						|
	ENUM_DUMMY4WORD(SCRBAR_GROUP)
 | 
						|
} SCRBAR_GROUP;
 | 
						|
 | 
						|
/**
 | 
						|
     Scroll bar data attribute index
 | 
						|
*/
 | 
						|
typedef enum {
 | 
						|
	SCRBAR_TYPE = (CTRL_SCROLLBAR << 8),    ///< Scroll bar type,refer to SCRLBAR_TYPE
 | 
						|
	SCRBAR_SHAPE,                           ///< Scroll bar type,please refer to SCRLBAR_SHAPE
 | 
						|
	SCRBAR_CURSTP,                          ///< Scroll bar current step
 | 
						|
	SCRBAR_TOTSTP,                          ///< Scroll bar total step
 | 
						|
	SCRBAR_PAGESTP,                         ///< Scroll bar step per page
 | 
						|
	SCRBAR_RECT,                            ///< Scroll bar legth
 | 
						|
	SCRBAR_THUMB,                           ///< Scroll bar thumb legth
 | 
						|
	ENUM_DUMMY4WORD(SCRBAR_DATA_SET)
 | 
						|
} SCRBAR_DATA_SET;
 | 
						|
 | 
						|
/**
 | 
						|
    Set scroll bar data
 | 
						|
    @param[in] pCtrl The pointer of the scroll bar control
 | 
						|
    @param[in] attribute Scroll bar attribute(SCRBAR_DATA_SET)
 | 
						|
    @param[in] value the scroll bar value would be changed
 | 
						|
*/
 | 
						|
extern void UxScrollBar_SetData(VControl *pCtrl, SCRBAR_DATA_SET attribute, UINT32 value);
 | 
						|
 | 
						|
/**
 | 
						|
    Get scroll bar item data
 | 
						|
    @param[in] pCtrl The pointer of the scroll bar control
 | 
						|
    @param[in] attribute scroll bar item attribute(SCRBAR_DATA_SET)
 | 
						|
 | 
						|
    @return
 | 
						|
        - @b The attribute value
 | 
						|
        - @b ERR_TYPE The control type error
 | 
						|
        - @b ERR_ATTRIBUTE The control has no this attribute
 | 
						|
 | 
						|
*/
 | 
						|
extern UINT32 UxScrollBar_GetData(VControl *pCtrl, SCRBAR_DATA_SET attribute);
 | 
						|
 | 
						|
/**
 | 
						|
    Get scroll bar rectangle
 | 
						|
    @param[in] pCtrl The pointer of the scroll bar control
 | 
						|
    @param[out] pRange The pointer of scroll bar rectangle
 | 
						|
*/
 | 
						|
extern void UxScrollBar_GetRange(VControl *pCtrl, Ux_RECT *pRange);
 | 
						|
//@}
 | 
						|
#endif
 |