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

📄 wingdi.h

📁 针对嵌入式micro window系统
💻 H
字号:
/* wingdi.h*//* * Copyright (c) 1999,2000 Greg Haerr <greg@censoft.com> * * Win32 GDI structures and API *//* portable coordinate definition*/typedef MWCOORD	GDICOORD;/* inherit RECT and POINT from mwtypes.h*/typedef MWRECT	RECT;typedef MWPOINT	POINT;#if 0000typedef struct  tagRECT {    GDICOORD left;    GDICOORD top;    GDICOORD right;    GDICOORD bottom;} RECT;typedef struct  tagPOINT {    GDICOORD x;    GDICOORD y;} POINT; #endiftypedef RECT NEAR *PRECT, FAR *LPRECT;typedef POINT NEAR *PPOINT, FAR *LPPOINT;typedef struct  tagSIZE {    GDICOORD cx;    GDICOORD cy;} SIZE, NEAR *PSIZE, FAR *LPSIZE;/* GetDCEx flags*/#define DCX_WINDOW           0x00000001L#define DCX_CACHE            0x00000002L#define DCX_NORESETATTRS     0x00000004L#define DCX_CLIPCHILDREN     0x00000008L#define DCX_CLIPSIBLINGS     0x00000010L#define DCX_PARENTCLIP       0x00000020L#define DCX_EXCLUDERGN       0x00000040L#define DCX_INTERSECTRGN     0x00000080L#define DCX_EXCLUDEUPDATE    0x00000100L#define DCX_INTERSECTUPDATE  0x00000200L#define DCX_LOCKWINDOWUPDATE 0x00000400L#define DCX_VALIDATE         0x00200000L#define DCX_DEFAULTCLIP      0x80000000L	/* microwin only*/HDC WINAPI	GetDCEx(HWND hwnd,HRGN hrgnClip,DWORD flags);HDC WINAPI	GetDC(HWND hWnd);HDC WINAPI 	GetWindowDC(HWND hWnd);int WINAPI 	ReleaseDC(HWND hWnd, HDC hDC);BOOL WINAPI	DeleteDC(HDC hdc);typedef struct tagPAINTSTRUCT {    HDC         hdc;    BOOL        fErase;			/* indicates bkgnd needs erasing*/    RECT        rcPaint;		/* nyi*/    BOOL        fRestore;		/* nyi*/    BOOL        fIncUpdate;		/* nyi*/    BYTE        rgbReserved[32];} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, FAR *LPPAINTSTRUCT;HDC WINAPI 	BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);BOOL WINAPI 	EndPaint(HWND hWnd, CONST PAINTSTRUCT *lpPaint);#define RGB(r,g,b)	    MWRGB(r,g,b)#define GetRValue(rgb)      ((BYTE)(rgb))#define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))#define GetBValue(rgb)      ((BYTE)((rgb)>>16))/* Background Modes */#define TRANSPARENT	1#define OPAQUE		2/* Text Alignment*/#define TA_NOUPDATECP                0#define TA_UPDATECP                  1#define TA_LEFT                      0#define TA_RIGHT                     2#define TA_CENTER                    6#define TA_TOP                       0#define TA_BOTTOM                    8#define TA_BASELINE                  24#define TA_RTLREADING                256#define TA_MASK       (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)COLORREF WINAPI	SetTextColor(HDC, COLORREF);COLORREF WINAPI	SetBkColor(HDC, COLORREF);int WINAPI 	SetBkMode(HDC, int);UINT WINAPI     SetTextAlign(HDC hdc, UINT fMode);/* Binary raster ops */#define R2_BLACK            1   /*  0       */#define R2_NOTMERGEPEN      2   /* DPon     */#define R2_MASKNOTPEN       3   /* DPna     */#define R2_NOTCOPYPEN       4   /* PN       */#define R2_MASKPENNOT       5   /* PDna     */#define R2_NOT              6   /* Dn       */#define R2_XORPEN           7   /* DPx      */#define R2_NOTMASKPEN       8   /* DPan     */#define R2_MASKPEN          9   /* DPa      */#define R2_NOTXORPEN        10  /* DPxn     */#define R2_NOP              11  /* D        */#define R2_MERGENOTPEN      12  /* DPno     */#define R2_COPYPEN          13  /* P        */#define R2_MERGEPENNOT      14  /* PDno     */#define R2_MERGEPEN         15  /* DPo      */#define R2_WHITE            16  /*  1       */#define R2_LAST             16int WINAPI	SetROP2(HDC hdc, int fnDrawMode);#define GDI_ERROR	(0xFFFFFFFFL)#define CLR_INVALID     0xFFFFFFFFCOLORREF WINAPI GetPixel(HDC hdc, int x, int y);COLORREF WINAPI	SetPixel(HDC hdc, int x, int y, COLORREF crColor);BOOL WINAPI 	MoveToEx(HDC hdc, int x, int y, LPPOINT lpPoint);BOOL WINAPI 	LineTo(HDC hdc, int x, int y);BOOL WINAPI	Polyline(HDC hdc, CONST POINT *lppt, int cPoints);BOOL WINAPI	PolyPolygon(HDC hdc, CONST POINT *lpPoints, LPINT lpPolyCounts,			int nCount);BOOL WINAPI	Rectangle(HDC hdc, int nLeft, int nTop, int nRight,int nBottom);BOOL WINAPI	Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect,			int nBottomRect);BOOL WINAPI	Arc(HDC hdc, int nLeftRect, int nTopRect, int nRightRect,			int nBottomRect, int nXStartArc, int nYStartArc,			int nXEndArc, int nYEndArc);BOOL WINAPI	Pie(HDC hdc, int nLeftRect, int nTopRect, int nRightRect,			int nBottomRect, int nXRadial1, int nYRadial1,			int nXRadial2, int nYRadial2);BOOL WINAPI	Polygon(HDC hdc, CONST POINT *lpPoints, int nCount);int WINAPI	FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr);/* ExTextOut options*/#define ETO_OPAQUE	0x0002#define ETO_CLIPPED	0x0004		/* nyi*/BOOL WINAPI	TextOut(HDC hdc, int x, int y, LPCSTR lpszString, int cbString);BOOL WINAPI	ExtTextOut(HDC hdc, int x, int y, UINT fuOptions,			CONST RECT *lprc, LPCSTR lpszString, UINT cbCount,			CONST INT *lpDx);BOOL WINAPI	ExtTextOutW(HDC hdc, int x, int y, UINT fuOptions,			CONST RECT *lprc, LPCWSTR lpszString, UINT cbCount,			CONST INT *lpDx);/* DrawText options*/#define DT_TOP              0x00000000#define DT_LEFT             0x00000000#define DT_CENTER           0x00000001#define DT_RIGHT            0x00000002#define DT_VCENTER          0x00000004#define DT_BOTTOM           0x00000008#define DT_WORDBREAK        0x00000010#define DT_SINGLELINE       0x00000020#define DT_EXPANDTABS       0x00000040#define DT_TABSTOP          0x00000080#define DT_NOCLIP           0x00000100#define DT_EXTERNALLEADING  0x00000200#define DT_CALCRECT         0x00000400#define DT_NOPREFIX         0x00000800#define DT_INTERNAL         0x00001000#define DT_EDITCONTROL      0x00002000#define DT_PATH_ELLIPSIS    0x00004000#define DT_END_ELLIPSIS     0x00008000#define DT_MODIFYSTRING     0x00010000#define DT_RTLREADING       0x00020000#define DT_WORD_ELLIPSIS    0x00040000int WINAPI	DrawTextA(HDC hdc, LPCSTR lpString, int nCount, LPRECT lpRect,			UINT uFormat);int WINAPI	DrawTextW(HDC hdc, LPCWSTR lpString, int nCount, LPRECT lpRect,			UINT uFormat);#define DrawText DrawTextABOOL WINAPI	DrawDIB(HDC hdc,int x, int y,PMWIMAGEHDR pimage); /* microwin*//* GetSysColor, FillRect colors*/#define COLOR_SCROLLBAR         0#define COLOR_BACKGROUND        1#define COLOR_ACTIVECAPTION     2#define COLOR_INACTIVECAPTION   3#define COLOR_MENU              4#define COLOR_WINDOW            5#define COLOR_WINDOWFRAME       6#define COLOR_MENUTEXT          7#define COLOR_WINDOWTEXT        8#define COLOR_CAPTIONTEXT       9#define COLOR_ACTIVEBORDER      10#define COLOR_INACTIVEBORDER    11#define COLOR_APPWORKSPACE      12#define COLOR_HIGHLIGHT         13#define COLOR_HIGHLIGHTTEXT     14#define COLOR_BTNFACE           15#define COLOR_BTNSHADOW         16#define COLOR_GRAYTEXT          17#define COLOR_BTNTEXT           18#define COLOR_INACTIVECAPTIONTEXT 19#define COLOR_BTNHIGHLIGHT      20#define COLOR_3DDKSHADOW        21#define COLOR_3DLIGHT           22#define COLOR_INFOTEXT          23#define COLOR_INFOBK            24#define COLOR_DESKTOP           COLOR_BACKGROUND#define COLOR_3DFACE            COLOR_BTNFACE#define COLOR_3DSHADOW          COLOR_BTNSHADOW#define COLOR_3DHIGHLIGHT       COLOR_BTNHIGHLIGHT#define COLOR_3DHILIGHT         COLOR_BTNHIGHLIGHT#define COLOR_BTNHILIGHT        COLOR_BTNHIGHLIGHT#define COLOR_ALTERNATEBUTTONFACE	25#define COLOR_HOTLIGHT                  26#define COLOR_GRADIENTACTIVECAPTION     27#define COLOR_GRADIENTINACTIVECAPTION   28DWORD WINAPI	GetSysColor(int nIndex);COLORREF WINAPI	SetSysColor(int nIndex, COLORREF crColor);/* Microwindows only*//* Stock Logical Objects */#define WHITE_BRUSH         0#define LTGRAY_BRUSH        1#define GRAY_BRUSH          2#define DKGRAY_BRUSH        3#define BLACK_BRUSH         4#define NULL_BRUSH          5#define HOLLOW_BRUSH        NULL_BRUSH#define WHITE_PEN           6#define BLACK_PEN           7#define NULL_PEN            8#define OEM_FIXED_FONT      10#define ANSI_FIXED_FONT     11#define ANSI_VAR_FONT       12#define SYSTEM_FONT         13#define DEVICE_DEFAULT_FONT 14#define DEFAULT_PALETTE     15#define SYSTEM_FIXED_FONT   16#define DEFAULT_GUI_FONT    17#define DC_BRUSH            18#define DC_PEN              19#define STOCK_LAST          19/* Object types*/#define OBJ_PEN             1#define OBJ_BRUSH           2#define OBJ_DC              3#define OBJ_METADC          4#define OBJ_PAL             5#define OBJ_FONT            6#define OBJ_BITMAP          7#define OBJ_REGION          8#define OBJ_METAFILE        9#define OBJ_MEMDC           10#define OBJ_EXTPEN          11#define OBJ_ENHMETADC       12#define OBJ_ENHMETAFILE     13HGDIOBJ WINAPI	GetStockObject(int nObject);HGDIOBJ WINAPI	SelectObject(HDC hdc, HGDIOBJ hObject);BOOL WINAPI	DeleteObject(HGDIOBJ hObject);int WINAPI	SelectClipRgn(HDC hdc, HRGN hrgn);int WINAPI	ExtSelectClipRgn(HDC hdc, HRGN hrgn, int fnMode);int WINAPI	GetUpdateRgn(HWND hwnd, HRGN hrgn, BOOL bErase);BOOL WINAPI	GetUpdateRect(HWND hwnd, LPRECT lpRect, BOOL bErase);/* Brush Styles */#define BS_SOLID            0#define BS_NULL             1#define BS_HOLLOW           BS_NULLHBRUSH WINAPI	CreateSolidBrush(COLORREF crColor);/* Pen Styles */#define PS_SOLID            0#define PS_NULL             5HPEN WINAPI	CreatePen(int nPenStyle, int nWidth, COLORREF crColor);HBITMAP WINAPI	CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight);HDC WINAPI	CreateCompatibleDC(HDC hdc);/* BitBlit raster opcodes*/#define SRCCOPY		(DWORD)MWROP_SRCCOPY	/* win32 is 0x00CC0020*/#define SRCAND		(DWORD)MWROP_SRCAND#define SRCINVERT	(DWORD)MWROP_SRCINVERT#define BLACKNESS   	(DWORD)MWROP_BLACKNESSBOOL WINAPI	BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,			HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);/* Palette entry flags*/#define PC_RESERVED	0x01#define PC_EXPLICIT	0x02#define PC_NOCOLLAPSE	0x04typedef struct tagPALETTEENTRY {	BYTE	peRed;	BYTE	peGreen;	BYTE	peBlue;	BYTE	peFlags;} PALETTEENTRY, *PPALETTEENTRY, FAR *LPPALETTEENTRY;UINT WINAPI	GetSystemPaletteEntries(HDC hdc,UINT iStartIndex,UINT nEntries,			LPPALETTEENTRY lppe);/* GetDeviceCaps parameters*/#define HORZRES       8     /* Horizontal width in pixels               */#define VERTRES       10    /* Vertical height in pixels                */#define BITSPIXEL     12    /* Number of bits per pixel                 */#define PLANES        14    /* Number of planes                         */#define LOGPIXELSX    88    /* Logical pixels/inch in X                 */#define LOGPIXELSY    90    /* Logical pixels/inch in Y                 */#define SIZEPALETTE  104    /* Number of entries in physical palette    */int WINAPI	GetDeviceCaps(HDC hdc, int nIndex);/* Region flags*/#define ERRORREGION		MWREGION_ERROR#define NULLREGION		MWREGION_NULL#define SIMPLEREGION		MWREGION_SIMPLE#define COMPLEXREGION		MWREGION_COMPLEX/* kluge for VxWorks*/#ifdef ERROR#undef ERROR#endif#define ERROR			ERRORREGION#define RGN_ERROR		ERRORREGION/* CombineRgn() Styles */#define RGN_AND             1#define RGN_OR              2#define RGN_XOR             3#define RGN_DIFF            4#define RGN_COPY            5#define RGN_MIN             RGN_AND#define RGN_MAX             RGN_COPY/* GetRegionData/ExtCreateRegion */#define RDH_RECTANGLES  1typedef struct _RGNDATAHEADER {    DWORD   dwSize;    DWORD   iType;    DWORD   nCount;    DWORD   nRgnSize;    RECT    rcBound;} RGNDATAHEADER, *PRGNDATAHEADER;typedef struct _RGNDATA {    RGNDATAHEADER   rdh;    char            Buffer[1];} RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA;/* Region entry points*/INT  WINAPI OffsetRgn(HRGN hrgn, INT x, INT y );INT  WINAPI GetRgnBox(HRGN hrgn, LPRECT rect );HRGN WINAPI CreateRectRgn(INT left, INT top, INT right, INT bottom);HRGN WINAPI CreateRectRgnIndirect(const RECT* rect );VOID WINAPI SetRectRgn(HRGN hrgn, INT left, INT top, INT right, INT bottom );HRGN WINAPI CreateRoundRectRgn(INT left, INT top, INT right, INT bottom,		INT ellipse_width, INT ellipse_height );HRGN WINAPI CreateEllipticRgn(INT left, INT top, INT right, INT bottom );HRGN WINAPI CreateEllipticRgnIndirect(const RECT *rect );DWORD WINAPI GetRegionData(HRGN hrgn, DWORD count, LPRGNDATA rgndata);BOOL WINAPI PtInRegion(HRGN hrgn, INT x, INT y );BOOL WINAPI RectInRegion(HRGN hrgn, const RECT *rect );BOOL WINAPI EqualRgn(HRGN hrgn1, HRGN hrgn2 );INT  WINAPI CombineRgn(HRGN hDest, HRGN hSrc1, HRGN hSrc2, INT mode);/* Rect entry points*/BOOL WINAPI IntersectRect(LPRECT dest, const RECT *src1, const RECT *src2 );BOOL WINAPI UnionRect(LPRECT dest, const RECT *src1, const RECT *src2 );BOOL WINAPI EqualRect(const RECT* rect1, const RECT* rect2 );BOOL WINAPI SubtractRect(LPRECT dest, const RECT *src1, const RECT *src2 );

⌨️ 快捷键说明

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