📄 mqstruc.h
字号:
#ifndef __MQSTRUC_H__
#define __MQSTRUC_H__
//Data Structure for timing parameter of each resolution
//
typedef struct MQTimingParam
{
USHORT usResoX; //X resolution
USHORT usResoY; //Y resolution
USHORT usFreq; //Frequency
ULONG ulHD; //Horz display 1 control
ULONG ulVD; //Vert display 1 control
ULONG ulHS; //Horz sync 1 control
ULONG ulVS; //Vert sync 1 control
float fPLLFreq; //Clock Frequency
} MQ_TIMING_PARAM, *PMQ_TIMING_PARAM;
//Data Structure for PLL data
//
typedef struct PLLParam
{
float fFreq; //Clock Frequency
ULONG ulPLLData; //PLLx control
} MQ_PLL_PARAM, *PMQ_PLL_PARAM;
//Data structure for OEM-dependent information
//
typedef struct OEMInfo
{
USHORT usX; //Desktop X resolution
USHORT usY; //Desktop Y resolution
USHORT usVX; //Viewport X resolution - LCD
USHORT usVY; //Viewport Y resolution - LCD
USHORT usVXCrt; //Viewport X resolution - CRT
USHORT usVYCrt; //Viewport Y resolution - CRT
USHORT usFreq; //LCD refresh rate
USHORT usFreqCrt; //CRT refresh rate
USHORT usBPP; //Color depth
USHORT usAWX; //Alt Horz Window control
USHORT usAWY; //Alt Vert Window control
USHORT usAWBPP; //Alt Window color depth
USHORT usCursorColor; //Cursor color
USHORT usContrast; //Initial contrast
USHORT usBright; //Initial brightness
ULONG ulPWMControl; //Contrast control
ULONG ulOEMFlag; //OEM/run-time flag
ULONG ulFPGPO; //FP GPO control
ULONG ulFPGPIO; //FP GPIO control
ULONG ulD1State; //D1 state control
ULONG ulD2State; //D2 state control
ULONG ulPLL2; //PLL2 Programming
ULONG ulPLL3; //PLL3 Programming
} OEM_INFO, *POEM_INFO;
//Data structure for MQ video mode
//- expand gpeMode to support QView
//- if usFreq2 == 0 then use GC1 only
//
typedef struct MQVideoMode
{
GPEMode gpeMode; //Mode structure defined by GPE
USHORT usFreq2; //GC2 (LCD) frequency- 60Hz if 0
} MQ_VIDEO_MODE, *PMQ_VIDEO_MODE;
//Data structure for flat panel interface
//
#define FRC_PATTERN_CNT 32
#define FRC_WEIGHT_CNT 8
typedef struct FRCControl
{
ULONG ulFRCPattern[FRC_PATTERN_CNT]; //FRC pattern control
ULONG ulFRCWeight[FRC_WEIGHT_CNT]; //FRC weight control
} FRC_CONTROL_STRUC, *PFRC_CONTROL_STRUC;
typedef struct FPControl
{
USHORT usHoriSize; //Flat panel hori size
USHORT usVertSize; //Flat panel vert size
ULONG ulHD; //Horz display control
ULONG ulVD; //Vert display control
ULONG ulHS; //Horz sync control
ULONG ulVS; //Vert sync control
float fPLLFreq; //PLLx Frequency
ULONG ulFPControl; //Flat panel control
ULONG ulFPPinControl; //Flat panel pin control
ULONG ulSTNControl; //STN panel control
//ULONG ulPWMControl; //Contrast control
// moved to registry
} FP_CONTROL_STRUC, *PFP_CONTROL_STRUC;
typedef struct CURSOR_DATA
{
ULONG ulFlag; // Copy of m_nMQFlag but contain run-time
// info for cursor
int usGC1VPL; // Left
int usGC1VPT; // Top
int usGC1VPR; // Right
int usGC1VPB; // Bottom
int usGC2VPL; // Left
int usGC2VPT; // Top
int usGC2VPR; // Right
int usGC2VPB; // Bottom
int usGC1VPL2; // Left
int usGC1VPT2; // Top
int usGC1VPR2; // Right
int usGC1VPB2; // Bottom
int usGC2VPL2; // Left
int usGC2VPT2; // Top
int usGC2VPR2; // Right
int usGC2VPB2; // Bottom
int us1GCWidth; //1/2 desktop for LargeDesktop
int us1GCHeight; //1/2 desktop for LargeDesktop
USHORT usCursorOn; //Cursor controlled by GC1 or/and 2
USHORT usCursorEnable; //Cursor controlled by GC1 or/and 2
USHORT usStatus; //Cursor status
} CURSOR_DATA_STRUC, *PCURSOR_DATA_STRUC;
//Data Structure for DDI and DDIDUMP communication
//
typedef struct DRV_COMM
{
ULONG ulFunction;
ULONG ulCommFlag; // Communication flag
} DRV_COMM_STRUCT, *PDRV_COMM_STRUCT;
//Flag definition
#define PANEL_TYPE_MASK 0x000000ff //Panel type mask
#define PROCESSOR_MASK 0x00003f00 //Mask of processor type (Outdated)
#define IS_SH3 0x00000000
#define IS_SH4 0x00000100
#define IS_NEC 0x00000200
#define IS_SARM 0x00000300
#define IS_TOSHIBA 0x00000400
#define IS_PCI 0x00000500
#define LCD_ON 0x00010000 //LCD mode
#define CRT_ON 0x00020000 //CRT mode
#define LARGE_DESKTOP 0x00040000 //Large desktop mode is on
#define INDEP_DISPLAY 0x00080000 //Independent display
#define SAME_IMAGE 0x00100000 //Use 2 GC but same image
#define USE_2GCs 0x001C0000 //2 GCs are used
#define USE_2GCs_MASK 0x001C0000 //mask for 2 GCs
#define LAYOUT_MODE_MASK 0x00600000 //Layout mode mask
#define NON_LAYOUT_MODE 0x00000000 //Non layout mode
#define LAYOUT_MODE_EVEN 0x00200000 //Layout mode even
#define LAYOUT_MODE_ODD 0x00400000 //Layout mode odd
#define LAYOUT_MODE_SCROLL 0x00600000 //Layout mode scroll
#define GAMMA_ENABLED 0x02000000 //Gamma (LCD or/and CRT) enabled
#define VERTICAL_LAYOUT 0x04000000 //Vertical layout for LargeDesktop
#define SWAP_PWM01 0x08000000 //PWM0:backlite,PWM1:contrast if set
#define HORI_LCD_CRT 0x00000000 //QView hori arrangement
#define HORI_CRT_LCD 0x10000000 //QView hori arrangement
#define VERT_CRT_LCD 0x20000000 //QView vert arrangement
#define VERT_LCD_CRT 0x30000000 //QView vert arrangement
#define POSITION_MASK 0x30000000 //Mask for LCD/CRT layout
#define FULL_SETMODE 0x40000000 // Reboot for full set mode
#define GHOST_MODE_ACTIVE 0x80000000 // In ghost mode (PowerPoint)
//Cursor location
#define AT_00_BY_GC1 1
#define AT_00_BY_GC2 2
#define ENABLE_GC1_CURSOR 1
#define ENABLE_GC2_CURSOR 2
#define HOT_AT_GC1 1
#define HOT_AT_GC2 2
#endif __MQSTRUC_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -