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

📄 cdc_platform.h

📁 基于Windml2.0的窗口系统原代码 , 以及和MFC CDC兼容的CDC
💻 H
字号:
#ifndef platform_h
#define platform_h


typedef char* LPSTR;
typedef const char* LPCSTR;
typedef const char* LPCTSTR;
typedef char * LPCWSTR;
typedef char BYTE;
typedef BYTE* LPBYTE;

#define GetRValue(x) x%256
#define GetGValue(x) (x>>8)%256
#define GetBValue(x) x>>16

//32位的颜色
#include "ugl/ugl.h"
typedef UGL_ARGB COLORREF;


#define RGB(r, g ,b)  ((((int) (r) | ((int) (g) << 8)) | (((int)(b)) << 16)))
//#define RGB(r, g ,b)  UGL_MAKE_ARGB(0xff, r , g, b)

//m_nBkMode
#define TRANSPARENT  false //透明
#define OPAQUE       true  //不透明

//Combine Mode
#define RGN_DIFF  1 /* Creates a region consisting of the areas of region 1
		       (identified by pRgn1) that are not part of region 2
		       (identified by pRgn2). */
#define RGN_AND   2 /* Uses overlapping areas of both regions (intersection). */
#define RGN_COPY  3 /* Creates a copy of region 1 (identified by pRgn1). */
#define RGN_OR    4 /* Combines both regions in their entirety (union). */
#define RGN_XOR   5 /* Combines both regions but removes overlapping areas. */

//光栅操作1  //bitblt
#define SRCCOPY    		UGL_RASTER_OP_COPY
#define SRCPAINT  		UGL_RASTER_OP_OR
#define SRCAND 			UGL_RASTER_OP_AND
#define SRCINVERT  		UGL_RASTER_OP_XOR

//光栅操作2  //SetROP2
#define R2_XORPEN	UGL_RASTER_OP_XOR
#define R2_MASKPEN	UGL_RASTER_OP_AND
#define R2_MERGEPEN UGL_RASTER_OP_OR
#define R2_COPYPEN    UGL_RASTER_OP_COPY

//predefined brush
#define BLACK_BRUSH 0
#define WHITE_BRUSH	1

//普通颜色的预定义


#define BLACK			(0)
#define BLUE			(1)
#define GREEN			(2)
#define CYAN			(3)
#define RED			    (4)
#define MAGENTA			(5)
#define BROWN			(6)
#define LIGHTGRAY		(7)
#define DARKGRAY		(8)
#define LIGHTBLUE		(9)
#define LIGHTGREEN		(10)
#define LIGHTCYAN		(11)
#define LIGHTRED		(12)
#define LIGHTMAGENTA	(13)
#define YELLOW			(14)
#define WHITE			(15)

#define IND_BLACK			CWMLHelp::GetColor(0 , 0 , 0)
#define IND_BLUE			CWMLHelp::GetColor(0 , 0 , 168)
#define IND_GREEN			CWMLHelp::GetColor(0 , 168 , 0)
#define IND_CYAN			CWMLHelp::GetColor(0 , 168 , 168)

#define IND_RED			CWMLHelp::GetColor(168 , 0 , 0)
#define IND_MAGENTA		CWMLHelp::GetColor(168 , 0 , 168)
#define IND_BROWN			CWMLHelp::GetColor(168 , 84 , 0)

#define IND_YELLOW			CWMLHelp::GetColor(255 , 255 , 84)
#define IND_WHITE			CWMLHelp::GetColor(255 , 255 , 255)

extern UGL_COLOR uglColor[];
/*
#define IND_BLACK uglColor[BLACK]
#define IND_BLUE uglColor[BLUE] 
#define IND_GREEN uglColor[GREEN] 
#define IND_CYAN uglColor[CYAN] 
#define IND_RED uglColor[RED]
#define IND_MAGENTA uglColor[MAGENTA] 
#define IND_BROWN uglColor[BROWN] 
#define IND_LIGHTGRAY uglColor[LIGHTGRAY] 
#define IND_DARKGRAY uglColor[DARKGRAY] 
#define IND_LIGHTBLUE uglColor[LIGHTBLUE] 
#define IND_LIGHTGREEN uglColor[LIGHTGREEN] 
#define IND_LIGHTCYAN uglColor[LIGHTCYAN] 
#define IND_LIGHTRED uglColor[LIGHTRED] 
#define IND_LIGHTMAGENTA uglColor[LIGHTMAGENTA] 
#define IND_YELLOW uglColor[YELLOW] 
#define IND_WHITE uglColor[WHITE] 
*/





//FONT WEIGHT
#define FW_DONTCARE UGL_FONT_BOLD_OFF //0
#define FW_THIN UGL_FONT_BOLD_MIN     //1
#define FW_LIGHT UGL_FONT_BOLD_LIGHT //25
#define FW_BOLD UGL_FONT_BOLD        //50
#define FW_HEAVY UGL_FONT_BOLD_HEAVY //75
#define FW_BLACK UGL_FONT_BOLD_MAX   //100

//FONT CHARSET
#define ANSI_CHARSET UGL_FONT_ISO_8859_1	
#define DEFAULT_CHARSET UGL_FONT_ISO_8859_1
#define UNICODE_CHARSET UGL_FONT_UNICODE




typedef struct tagSIZE { 
	 long cx; 
	 long cy; 
} SIZE, *PSIZE; 

 typedef struct tagPOINT { 
 		long x; 
 		long y; 
	 } POINT, *PPOINT , *LPPOINT; 
	 
	 

typedef struct tagLOGFONT {
  long lfHeight;
  long lfWidth;
  long lfEscapement;
  long lfOrientation;
  long lfWeight;
  unsigned char lfItalic;
  unsigned char lfUnderline;
  unsigned char lfStrikeOut;
  unsigned char lfCharSet;
  unsigned char lfOutPrecision;
  unsigned char lfClipPrecision;
  unsigned char lfQuality;
  char lfPitchAndFamily[1024];
  char lfFaceName[1024];
} LOGFONT, *LPLOGFONT;

//----------------------------------------------------------------------

typedef struct tagLOGPEN {
    int     lopnStyle;
    POINT    lopnWidth;
    COLORREF lopnColor;
} LOGPEN, *LPLOGPEN;

//----------------------------------------------------------------------

typedef struct tagLOGBRUSH {
  int     lbStyle;
  COLORREF lbColor;
  long     lbHatch;
} LOGBRUSH, *LPLOGBRUSH;

typedef struct tagBITMAP {  
    int     bmType;
    int     bmWidth;
    int     bmHeight;
    int     bmWidthBytes;
    BYTE    bmPlanes;
    BYTE    bmBitsPixel;
    void*  bmBits;
} BITMAP , *LPBITMAP;

typedef struct tagRECT {
      long left;
      long top;
      long right;
      long bottom;
} RECT, *LPRECT,*LPCRECT;



//全局变量

extern bool initWindML();               //初始化WindML
extern void UnInitWindML();             //清除WindML内容

//获取当前显卡设置的像素的位数:bitperPixel
 
int GetDeviceCaps();


#endif

⌨️ 快捷键说明

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