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

📄 mqcfg.h

📁 此代码为WCE5.0下显示器的源代码
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/* $Header:   U:/archive/ce/mq200/mqcfg/mqcfg.h_v   1.3   Jul 22 1999 13:56:04   hoang  $
 * 
 * Copyright (c) 1998 by MediaQ, Incorporated.
 * All Rights Reserved.
 *
 * Confidential and Proprietary to MediaQ, Incorporated.
 *
 * $Log:   U:/archive/ce/mq200/mqcfg/mqcfg.h_v  $
 * 
 *    Rev 1.3   Jul 22 1999 13:56:04   hoang
 * Add #ifdef SMALL_PANEL for suporting small panel
 * 
 *    Rev 1.2   Jul 20 1999 15:08:24   hoang
 * No change.
 * 
 *    Rev 1.1   Jul 08 1999 15:59:16   tzyywei
 * clean up
 * 
 *    Rev 1.0   Feb 15 1999 09:40:22   tzyywei
 * Initial revision.
 * 
 *    Rev 1.4   Nov 16 1998 14:11:56   tzyywei
 * comdex98 Version
 * 
 *    Rev 1.3   Sep 22 1998 11:15:54   tzyywei
 * change color page design
 * 
 *    Rev 1.2   Jun 25 1998 17:32:56   tzyywei
 * remove mqest directory and  add ddiemu directory
 * 
 *    Rev 1.1   Jun 24 1998 19:04:50   tzyywei
 * remve fp_control structure memory
 * 
 *    Rev 1.0   Jun 24 1998 17:39:18   tzyywei
 * Initial revision.
 * 
 *    Rev 1.0   Jun 18 1998 11:26:10   tzyywei
 * Initial revision.
 */
//*******************************************************************************************
//
// Filename : mqcfg.h
//	
// Copyright (c) 1998 MediaQ Inc. All rights reserved
//
//*******************************************************************************************

#ifndef	__MQCFGH__
#define __MQCFGH__

extern HINSTANCE g_hinst;
extern HINSTANCE g_hresinst;
extern HINSTANCE g_hctlinst;
extern HWND hwndMain;

extern HWND hwndHALSIM;
extern HWND	hwndHALQVSAME;
extern HWND hwndHALQVLGDTP;

extern HWND hwndDspSetting, hwndInfo;
extern HWND	hwndColor,hwndLight, hwndPower;
extern HWND hwndTabDlg;
extern HWND hwndTab;
extern int CurrApplet;

////BOOL APIENTRY SystemDlgProc(HWND hDlg, UINT message, UINT wParam, LONG lParam);
////BOOL APIENTRY GeneralDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);

#ifdef SMALL_PANEL
BOOL APIENTRY DspSetting3DlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY HalSim2DlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
#endif

BOOL APIENTRY DspSettingDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY DspSetting2DlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY AdvanceDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY InfoDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY ColorDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY LightDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY PowerDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY TabDlgProc(HWND hDlg, UINT message, UINT wParam, LONG lParam);


BOOL APIENTRY HalSimDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY HalQVSameDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL APIENTRY HalQVLgDtpDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam);



void SetTabControl(void);
void DisplayTabDialog(int i);
void TabNotify(HWND hDlg, UINT message, UINT wParam, LONG lParam);
BOOL IsTabDialogMessage(HWND hwndTabDlg, LPMSG msg);
HRESULT SaveToRegsitry(void);
void  MsgToDialogs(UINT msg, WPARAM wp, LPARAM lp);



#define NUM_APPLETS (sizeof(SystemApplets)/sizeof(SystemApplets[0]))


#ifdef DEBUG_MSGS
extern TCHAR 	szDPF[];    // debug printouts

#define	DPF(x)	OutputDebugString(TEXT(x))
#define	DPF1(x,y)	{ \
					wsprintf(szDPF, TEXT(x), y); \
					OutputDebugString(szDPF);	 \
					}

#define	DPF2(x,y,z) { \
					wsprintf(szDPF, TEXT(x), y,z); \
					OutputDebugString(szDPF);	 \
					}

#define	DPF3(x,y,z,w) { \
					wsprintf(szDPF, TEXT(x), y,z,w); \
					OutputDebugString(szDPF);	 \
					}
#else
#define	DPF(x)	
#define	DPF1(x,y)
#define	DPF2(x,y,z)
#define	DPF3(x,y,z,w)
#endif

//#ifdef LA
typedef enum TAG_LAYOUT_MODE{
	LA_NONE=0,
	LA_EVEN,
	LA_ODD,
	LA_SCROLL
}LAYOUT_MODE;
//#endif

typedef	enum TAG_DSPTYPE{
	SIM_TYPE,				// Simultanous LCD and CRT output
	QV_SAME_IMG,			// Qview Same Image (using GC1 and GC2 to drive LCD and CRT)
	QV_LG_DTP				// Qview Large Desktop (using GC1 and GC2 to drive LCD and CRT)
///	QV_LAYOUT_MODE
}DSPTYPE;

//*************************************************************************
// Flat Pannel Display Information

typedef	enum TAG_LCD_COLOR{
	COLOR_FP,
	MONO_FP
}LCD_COLOR;

typedef	enum TAG_FP_TYPE{
	TFT_FP,
	SSTN_FP,
	DSTN_FP
}FP_TYPE;

typedef struct TAG_XY_SIZE{
	int	SizeX;
	int	SizeY;
//	DWORD	SizeX;
//	DWORD	SizeY;
}XY_SIZE, *PXY_SIZE;

typedef enum TAG_FP_INTERFACE{
	ITF0,
	ITF1,
	ITF2,
	ITF3,
	ITF4
}FP_INTERFACE;

typedef struct TAG_FP_INFO{
	LPCHAR			lpfp_name;
	XY_SIZE			fp_size;
	FP_TYPE			fp_type;
	LCD_COLOR		fp_color;
	FP_INTERFACE	fp_interface;
}FP_INFO, *PFP_INFO;

//*************************************************************************
// CRT Display Information
typedef enum TAG_DDC_TYPE{
	T_DDC1,
	T_DDC2B,
	T_DDC2Bplus,
	T_DDC2AB
}DDC_TYPE;

typedef struct TAG_CRT_INFO{
	BOOL		CrtAttached;
	LPCHAR		lpcrt_name;
	DDC_TYPE	DDCType;
	WORD		ManufactureID;
	WORD		MonitorID;
}CRT_INFO, *LPCRT_INFO;

//*************************************************************************
// Display Driver Information
typedef	struct TAG_DRVINFO{
	TCHAR	tcVersion[10];
	TCHAR	tcBuild[4];
	TCHAR	tcDate[32];
}DRV_INFO, *PDRV_INFO;

typedef struct TAG_MQINFO{
	FP_INFO		FpInfo;
	CRT_INFO	CrtInfo;
	DRV_INFO	DrvInfo;
}MQINFO, *PMQINFO;

typedef	struct TAG_REFRESH_RATE{
	XY_SIZE	xy;
	int		ref_rate;
}REFRESH_RATE, *PREFRESH_RATE;

//********************************************
//Gamma correction Data structure definition
//
typedef struct TAG_CP{
	INT	x;
	INT	y;
	struct	TAG_CP	*next;
}CP,	*PCP;

typedef	struct TAG_RGBCP{
	PCP	pCP_Red;
	PCP	pCP_Green;
	PCP	pCP_Blue;
}RGBCP, *PRGBCP;

typedef	struct TAG_RGBDATA{
	BYTE	Red;
	BYTE	Green;
	BYTE	Blue;
}RGBDATA, *PRGBDATA;

typedef	struct TAG_ADJLEVEL{
	INT	max;
	INT	min;
	INT	current;
}ADJLEVEL, *PADJLEVEL;

typedef	struct TAG_DSP_MODE{

		TCHAR		*pResolution;
		XY_SIZE	xy;
		TCHAR		FreqList[32];
		INT		FreqSelected;

}DSP_MODE, *PDSP_MODE;

typedef	struct	TAG_COLOR_SET{
		UINT	iRedGamma;
		UINT	iGreenGamma;
		UINT	iBlueGamma;
		UINT	iTmpIndex;
}COLORSET, *PCOLORSET;

typedef struct TAG_MQCFG{
		DSPTYPE	DspType;			// Device output configuration
//#ifdef LA
		LAYOUT_MODE	LAMode;			// special layout mode 
//#endif
		BOOL	fCRT_ON;
		BOOL	fLCD_ON;
		BOOL	CRT_640x480ONLY;
		WORD	BPP;
		XY_SIZE	DTPSize;
		XY_SIZE	LCDViewPortSize;
		XY_SIZE	CRTViewPortSize;
		WORD	CRTRefreshRate;
		BOOL	HorzLayOut;
		BOOL	LCD_FIRST;

		INT	BPPIndex;
		INT	DTPIndex;
		INT	LCDVPIndex;
		INT	CRTVPIndex;

		DSP_MODE *pDTPStartMode;
		DSP_MODE *pLCDStartMode;
		DSP_MODE *pCRTStartMode;

		INT	FreqIndex;
		INT	CursorColor;
		ADJLEVEL	Contrast;
		ADJLEVEL	Backlight;		

		int		currentGammaDevice;
		BOOL		LCDGammaEnable;				
		BOOL		CRTGammaEnable;
		COLORSET	LCD_COLOR_SET;
		COLORSET	CRT_COLOR_SET;		
		int		Rotate;
		BOOL		PPSupport;
		BOOL		PPSupportEnable;
}MQCFG, *PMQCFG;

#define	R_0	0
#define	R_90  1
#define	R_180 2
#define	R_270 3


//***************************************************************************
INT	wtol(TCHAR *pToken);
TCHAR *itow(int iData, TCHAR *pString);
PCP	NewCP(int x, int y);
BOOL	AddCP(CP *pCP);
BOOL	RemoveCP(CP *pCP);
BOOL	MoveCP(CP *pCP);
BOOL	GetXY(PTCHAR pXY, int *pX, int *pY);
 

void	ReleaseCPAll(PCP pCP);
int	FindFreq(TCHAR *pLists, INT index);
int	FindBpp(TCHAR *pLists, INT index);
INT	FindBppIndex(TCHAR *pBppOpt, LONG Bpp);
int   DualScanBuffer(FP_INFO *pFPInfo);
BOOL  MemConstrain(MQCFG *pMqcfg,MQINFO *pMqinfo, XY_SIZE *pResolution);
BOOL  ConstrainDesktopSize(MQCFG *pMqcfg,MQINFO *pMqinfo);
BOOL  ConstrainCRTViewportSize(MQCFG *pMqcfg, MQINFO *pMqinfo);
BOOL  ConstrainLCDViewportSize(MQCFG *pMqcfg, MQINFO *pMqinfo);

#endif	//__MQCFGH__

⌨️ 快捷键说明

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