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

📄 extosdlib.h

📁 LCD显示驱动控制程序
💻 H
📖 第 1 页 / 共 2 页
字号:
//******************************************************************
//
//          Copyright (C) 2003. GENESIS MICROCHIP INC.
//  All rights reserved.  No part of this program may be reproduced.
//
//  Genesis Microchip Inc., 165 Commerce Valley Dr. West
//          Thornhill, Ontario, Canada, L3T 7V8
//	Genesis Microchip Corp., 2150 Gold Street
//			Alviso, CA 95002	USA
//
//================================================================
//
//  MODULE: extOsdLib.h
//
//  USAGE : 
//          
//******************************************************************
#ifndef	__EXTOSDLIB_H__
#define	__EXTOSDLIB_H__

#include "extOsdLib1.h"
// Simple types declaration
#define WB_VERSION_3_0		

#define OE_None 0
#define TTEF_TableContinues 0
#define TTEF_TableEnds 1

#define NULL_PTR 0

#define GoToState gm_GoToState

#define BYTE_SIZE 1
#define WORD_SIZE 2



//************************* typical osd controls

typedef struct ST_OSD_CLUTStruct
{
	BYTE	B_StartPosition;
	BYTE ROM *	Bp_Clut;
} ST_OSD_CLUT;

typedef struct ST_OSD_UNI_BITMAPStruct
{
	BYTE ROM *	Bp_PixelData;
	BYTE ROM *	Bp_HwIndexes;
	BYTE ROM *	Bp_ColorMap;
} ST_OSD_UNI_BITMAP;

typedef struct ST_OSD_UNI_TEXTStruct
{
	BYTE ROM *	Bp_TextString;
	BYTE ROM *	Bp_HwIndexes;
} ST_OSD_UNI_TEXT;

typedef struct ST_OSD_UNI_USED_GLYPHSStruct
{
	BYTE ROM *	Bp_Glyphs;
	BYTE	B_StartIndex;
	BYTE	B_NumChars;
} ST_OSD_UNI_USED_GLYPHS;

typedef struct ST_OSD_UNI_CONTROL_CHARSStruct
{
	BYTE ROM *	Bp_PixelData;
	BYTE	B_StartIndex;
	BYTE	B_NumChars;
} ST_OSD_UNI_CONTROL_CHARS;

typedef enum EAlignment
{
	ALIGN_Left_Top,
	ALIGN_Right_Bottom,
	ALIGN_Center
};

#if (TILE_SUPPORT == 1)
// tiles are supported

	typedef struct ST_OSD_UNI_CONTROLCHARS_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
	} ST_OSD_UNI_CONTROLCHARS_CTRL;
	
	typedef struct ST_OSD_UNI_GENERAL_ALIGNED_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
	} ST_OSD_UNI_GENERAL_ALIGNED_CTRL;
	
	
	typedef struct ST_OSD_BITMAP_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		ST_OSD_UNI_BITMAP	Colors;
	} ST_OSD_BITMAP_CTRL;
	
	typedef struct ST_OSD_BITMAPBUTTON_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		ST_OSD_UNI_BITMAP	Colors;
	} ST_OSD_BITMAPBUTTON_CTRL;
	
	typedef struct ST_OSD_DIALOG_CTRLStruct
	{
		BYTE	XSize;
		BYTE	YSize;
		BYTE	FragmNum;
		ST_OSD_CLUT ROM *	ColorRef;
	} ST_OSD_DIALOG_CTRL;
	
	typedef struct ST_OSD_INVISIBLESTATE_CTRLStruct
	{
		BYTE	FragmNum;
		ST_OSD_CLUT ROM*	ColorRef;
	} ST_OSD_INVISIBLESTATE_CTRL;
	
	typedef struct ST_OSD_SLIDER_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_SLIDER_CTRL;
	
	typedef struct ST_OSD_SLIDER2BPP_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_SLIDER2BPP_CTRL;
	
	typedef struct ST_OSD_VERTICALSLIDER_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM * Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_VERTICALSLIDER_CTRL;
	
	typedef struct ST_OSD_VERTICALSLIDERBUTTON_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_VERTICALSLIDERBUTTON_CTRL;
	
	typedef ST_OSD_VERTICALSLIDERBUTTON_CTRL ST_OSD_VERTICALSLIDERBUTTON2BPP_CTRL;
	typedef ST_OSD_VERTICALSLIDER_CTRL ST_OSD_VERTICALSLIDER2BPP_CTRL;
	
	typedef struct ST_OSD_SLIDERBUTTON_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_SLIDERBUTTON_CTRL;
	
	typedef struct ST_OSD_SLIDERBUTTON2BPP_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		BYTE	Direction;
	} ST_OSD_SLIDERBUTTON2BPP_CTRL;
	
	typedef struct ST_OSD_USED_GLYPH_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_USED_GLYPHS	UsedGlyphs;
	} ST_OSD_USED_GLYPH_CTRL;
	
	
	typedef struct ST_OSD_STATICTEXT_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_TEXT	Text;
	} ST_OSD_STATICTEXT_CTRL;
	
	typedef struct ST_OSD_DYNAMICTEXT_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_USED_GLYPHS	UsedGlyphs;
		WORD	AssociatePtrSegment;
		WORD	AssociatePtrOffset;
	} ST_OSD_DYNAMICTEXT_CTRL;
	
	
	
	
	typedef ST_OSD_STATICTEXT_CTRL ST_OSD_TEXTBUTTON_CTRL;
	typedef ST_OSD_STATICTEXT_CTRL ST_OSD_THREECOLORTEXTBUTTON_CTRL;
	
	
	typedef struct ST_OSD_LONGVALUE_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_USED_GLYPHS	UsedGlyphs;
		WORD	Associate;
		SWORD	MinValue;
		SWORD	MaxValue;
	} ST_OSD_LONGVALUE_CTRL;
	
	typedef struct ST_OSD_LONGVALUEBUTTON_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_USED_GLYPHS	UsedGlyphs;
		WORD	Associate;
		SWORD	MinValue;
		SWORD	MaxValue;
	} ST_OSD_LONGVALUEBUTTON_CTRL;
	
	typedef struct ST_OSD_NONPROPLONGVALUE_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		SWORD	MinValue;
		SWORD	MaxValue;
		BYTE	Horizontal;
		BYTE	Vertical;
	} ST_OSD_NONPROPLONGVALUE_CTRL;
	
	typedef struct ST_OSD_NONPROPLONGVALUEBUTTON_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;
		SWORD	MinValue;
		SWORD	MaxValue;
	} ST_OSD_NONPROPLONGVALUEBUTTON_CTRL;
	
	typedef struct ST_OSD_TABCONTROL_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlChars;
		BYTE	TabNum;
		BYTE	TabButtonRegion_XSize;
		BYTE	TabButtonRegion_YSize;
	} ST_OSD_TABCONTROL_CTRL;
	
	typedef struct ST_OSD_SHADOW_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		BYTE	FixToCorner;
	} ST_OSD_SHADOW_CTRL;
	
	typedef struct ST_OSD_TIMINGINFO_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
		ST_OSD_UNI_USED_GLYPHS	UsedGlyphs;
	} ST_OSD_TIMINGINFO_CTRL;
	
	typedef struct ST_OSD_FRAME_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
	} ST_OSD_FRAME_CTRL;
	
	typedef ST_OSD_FRAME_CTRL ST_OSD_FRAME2BPP_CTRL;
	typedef ST_OSD_FRAME_CTRL ST_OSD_TABFRAME_CTRL;
	typedef ST_OSD_FRAME_CTRL ST_OSD_TABFRAME2BPP_CTRL;
	
	
	typedef struct ST_OSD_RECTANGLE_CTRLStruct
	{
		BYTE	TileId;
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
	} ST_OSD_RECTANGLE_CTRL;
	
	typedef ST_OSD_RECTANGLE_CTRL ST_OSD_RECTANGLEBUTTON_CTRL;
	
	

#else
//tiles are unsupported
	typedef struct ST_OSD_UNI_CONTROLCHARS_CTRLStruct
	{
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
	} ST_OSD_UNI_CONTROLCHARS_CTRL;
	
	typedef struct ST_OSD_UNI_GENERAL_ALIGNED_CTRLStruct
	{
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		BYTE	Horizontal	:	2;
		BYTE	Vertical	:	2;
	} ST_OSD_UNI_GENERAL_ALIGNED_CTRL;
	
	
	typedef struct ST_OSD_BITMAP_CTRLStruct
	{
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		ST_OSD_UNI_BITMAP	Colors;
	} ST_OSD_BITMAP_CTRL;
	
	typedef struct ST_OSD_BITMAPBUTTON_CTRLStruct
	{
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		ST_OSD_UNI_BITMAP	Colors;
	} ST_OSD_BITMAPBUTTON_CTRL;
	
	typedef struct ST_OSD_DIALOG_CTRLStruct
	{
		BYTE	XSize;
		BYTE	YSize;
		BYTE	FragmNum;
		ST_OSD_CLUT ROM *	ColorRef;
		BYTE	ColorAttrib;	/* by VeniaminK PDR6848*/
		WORD	ChrTbl2Bpp;	/* by VeniaminK PDR6848*/
		WORD	ChrTbl1Bpp;	/* by VeniaminK PDR6848*/
	} ST_OSD_DIALOG_CTRL;
	
	typedef struct ST_OSD_INVISIBLESTATE_CTRLStruct
	{
		BYTE	FragmNum;
		ST_OSD_CLUT ROM*	ColorRef;
	} ST_OSD_INVISIBLESTATE_CTRL;
	
	typedef struct ST_OSD_SLIDER_CTRLStruct
	{
		BYTE	XPos;
		BYTE	YPos;
		BYTE	XSize;
		BYTE	YSize;
		BYTE ROM *	Colors;
		ST_OSD_UNI_CONTROL_CHARS	ControlCharSet;
		WORD	Associate;

⌨️ 快捷键说明

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