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

📄 tidtv_gui.h

📁 ti的数字电视芯片 tvp9000的源码
💻 H
字号:
/*******************************************************************************
*	@ModuleName  ::	TiDTV_GUI.h
*	
*	@Copyright	 ::	Copyright 2005- Texas Instruments, Inc.
*	
*	@Description ::	Definitions for DTV Menu Operation
*	
*	@History     ::
*---------------------------------------
*	02-27-2005	W.Shi	Created
*******************************************************************************/

#ifndef	_TI_DTV_GUI_H_
#define	_TI_DTV_GUI_H_

//----------------------------------------------------------
//	Definitions of ITEM's attribute for general menu
//
#define TI_DTV_ITEM_DISP_BIT			0					// Display bit
#define TI_DTV_ITEM_SEL_BIT				1					// Selectable bit
#define TI_DTV_ITEM_CHG_BIT				2					// Changable bit

#define TI_DTV_ITEM_DISP	(1 << TI_DTV_ITEM_DISP_BIT)
#define TI_DTV_ITEM_SEL		((1 << TI_DTV_ITEM_SEL_BIT) | TI_DTV_ITEM_DISP)
#define TI_DTV_ITEM_CHG		((1 << TI_DTV_ITEM_CHG_BIT) | TI_DTV_ITEM_SEL)

//----------------------------------------------------------
//	Structure for a Menu ITEM declaration
//
typedef struct _TI_DTV_MENU_ITEM_ {
	short	IconX, IconY;									// X, Y coordinates for the Icon
	USHORT	IconCode;										// Icon code: 0 = None
	
	short	MsgX, MsgY;										// X, Y coordinates for the Message
	short	MsgIndex;										// Message index: -1 = None
	UCHAR	MsgColor;										// Message color index
	
	UCHAR	Attrib;											// Attributes
	void	(*InitFunc)(struct _TI_DTV_MENU_ITEM_ *pMenuItem);	// Init function
	int		(*ActFunc)(void);								// Acting function
	
	//------------------------------------------------------
	struct _TI_DTV_MENU_ITEM_	*pUpItem;
	struct _TI_DTV_MENU_ITEM_	*pDownItem;
	struct _TI_DTV_MENU_ITEM_	*pLeftItem;
	struct _TI_DTV_MENU_ITEM_	*pRightItem;
	
	void	*pWorkData;										// pointer to Work Data Area
} TI_DTV_MENU_ITEM;

//----------------------------------------------------------
//	Definitions of MENU attributes
//
#define TI_DTV_MENU_FRAME_DISP_BIT		0					// Frame Display bit
#define TI_DTV_MENU_HEADER_DISP_BIT		1					// Header Display bit
#define TI_DTV_MENU_FOOTER_DISP_BIT		2					// Footer display bit
#define TI_DTV_MENU_ITEM_DISP_BIT		3					// Item Display bit

#define TI_DTV_MENU_FRAME_DISP	(1 << TI_DTV_MENU_FRAME_DISP_BIT)	// Frame Display flag
#define TI_DTV_MENU_HEADER_DISP	(1 << TI_DTV_MENU_HEADER_DISP_BIT)	// Header Display flag
#define TI_DTV_MENU_FOOTER_DISP	(1 << TI_DTV_MENU_FOOTER_DISP_BIT)	// Footer display flag
#define TI_DTV_MENU_ITEM_DISP	(1 << TI_DTV_MENU_ITEM_DISP_BIT)	// Item Display flag

//----------------------------------------------------------
//	Structure for a MENU declaration
//
typedef struct _TI_DTV_MENU_ {
	UCHAR	Attrib;											// Attribute
	void	(*InitFunc)(struct _TI_DTV_MENU_ *pMenu);		// Init function
	void	(*OpcodeParser)(void);							// Operation codes parsing function
	
	struct _TI_DTV_MENU_FRAME_ {
		short	x, y, w, h;									// Area: (x, y), (w x y)
		UCHAR	Attrib;										// Attributes
		UCHAR	BorderColor;								// Border Color
		UCHAR	FillColor;									// Interior Filling Color
		UCHAR	ShadowColor;								// Shadow Color
	} Frame;												// Frame of the Menu
	
	struct {
		struct _TI_DTV_MENU_FRAME_ Frame;					// Frames for Header and Footer
		short	x, y;										// X, Y coordinate
		short	MsgIndex;									// Message index: -1 = None
		UCHAR	MsgColor;									// Message color index
	} Header, Footer;
	
	short	TotalNumItems;									// Total number of Items
	TI_DTV_MENU_ITEM *pItemList;							// pointer to the Item List
	TI_DTV_MENU_ITEM *pCurItem;								// pointer to current selected Item
	
	struct _TI_DTV_MENU_ *pPrevMenu;						// pointer to Previous menu
	struct _TI_DTV_MENU_ *pNextMenu;						// pointer to Next menu
} TI_DTV_MENU;

//----------------------------------------------------------
// Defined in "TiDTV_Menu.c"
//
extern TI_DTV_MENU *pCurDtvMenu;	// pointer to current DTV Menu

void TiDTV_MenuTaskStartup(void);
void TiDTV_MenuTaskCleanup(void);
int TiDTV_MenuTaskStatus(void);

void TiDTV_DispMenu(TI_DTV_MENU *pMenu);
void TiDTV_DispMenuItemList(short TotalNumItems, TI_DTV_MENU_ITEM *pItemList);
void TiDTV_DispMenuItem(TI_DTV_MENU_ITEM *pMenuItem);
int  TiDTV_MyInt2Str(int n, char *s, int CharLimit, char LeadChar);

#endif	/* TI_DTV_GUI_H */

⌨️ 快捷键说明

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