📄 extosdlib.h
字号:
//******************************************************************
//
// 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 + -