474 lines
16 KiB
C
474 lines
16 KiB
C
/* wingdi.h*/
|
|
/*
|
|
* Copyright (c) 1999,2000,2001,2005 Greg Haerr <greg@censoft.com>
|
|
*
|
|
* Win32 GDI structures and API
|
|
*/
|
|
|
|
#ifndef _WINGDI_H_
|
|
#define _WINGDI_H_
|
|
|
|
#include "device.h"
|
|
#define FAR
|
|
/* portable coordinate definition*/
|
|
typedef MWCOORD GDICOORD;
|
|
|
|
typedef 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);
|
|
|
|
typedef HANDLE HDWP;
|
|
|
|
HDWP BeginDeferWindowPos(int nNumWindows);
|
|
HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter,
|
|
int x, int y, int cx, int cy, UINT uFlags);
|
|
BOOL EndDeferWindowPos(HDWP hWinPosInfo);
|
|
|
|
//
|
|
// rgb format is 0xAARRGGBB
|
|
//
|
|
#define RGB(r,g,b) MWRGB(r,g,b)
|
|
#define GetBValue(rgb) ((BYTE)(rgb))
|
|
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
|
|
#define GetRValue(rgb) ((BYTE)((rgb)>>16))
|
|
#define GetAValue(rgb) ((BYTE)((rgb)>>24))
|
|
|
|
/* 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 GetTextColor(HDC hdc);
|
|
COLORREF WINAPI SetBkColor(HDC, COLORREF);
|
|
int WINAPI SetBkMode(HDC, int);
|
|
UINT WINAPI SetTextAlign(HDC hdc, UINT fMode);
|
|
UINT WINAPI GetTextAlign(HDC hdc);
|
|
|
|
/* Binary raster ops*/
|
|
#define R2_BLACK (MWROP_CLEAR+1) /* 0 */
|
|
#define R2_NOTMERGEPEN (MWROP_NOR+1) /* DPon */
|
|
#define R2_MASKNOTPEN (MWROP_ANDINVERTED+1) /* DPna */
|
|
#define R2_NOTCOPYPEN (MWROP_COPYINVERTED+1) /* Pn */
|
|
#define R2_MASKPENNOT (MWROP_ANDREVERSE+1) /* PDna */
|
|
#define R2_NOT (MWROP_INVERT+1) /* Dn */
|
|
#define R2_XORPEN (MWROP_XOR+1) /* DPx */
|
|
#define R2_NOTMASKPEN (MWROP_NAND+1) /* DPan */
|
|
#define R2_MASKPEN (MWROP_AND+1) /* DPa */
|
|
#define R2_NOTXORPEN (MWROP_EQUIV+1) /* DPxn */
|
|
#define R2_NOP (MWROP_NOOP+1) /* D */
|
|
#define R2_MERGENOTPEN (MWROP_ORINVERTED+1) /* DPno */
|
|
#define R2_COPYPEN (MWROP_COPY+1) /* P */
|
|
#define R2_MERGEPENNOT (MWROP_ORREVERSE+1) /* PDno */
|
|
#define R2_MERGEPEN (MWROP_OR+1) /* DPo */
|
|
#define R2_WHITE (MWROP_SET+1) /* 1 */
|
|
#define R2_LAST 16
|
|
|
|
int WINAPI SetROP2(HDC hdc, int fnDrawMode);
|
|
|
|
#define GDI_ERROR (0xFFFFFFFFL)
|
|
#define CLR_INVALID 0xFFFFFFFF
|
|
|
|
COLORREF 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);
|
|
int WINAPI MwFastFillRect (HDC hDC, CONST RECT *lprc, COLORREF crColor);
|
|
|
|
BOOL WINAPI DrawFocusRect(HDC hdc, LPRECT prect);
|
|
|
|
/* ExTextOut options*/
|
|
#define ETO_OPAQUE 0x0002
|
|
#define ETO_CLIPPED 0x0004 /* nyi*/
|
|
|
|
BOOL WINAPI TextOut(HDC hdc, int x, int y, LPCWSTR lpszString, int cbString);
|
|
BOOL WINAPI TextOutW(HDC hdc, int x, int y, LPCWSTR 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);
|
|
LONG WINAPI TabbedTextOut ( HDC hdc, int x, int y, LPCTSTR lpszString, int cbString,
|
|
int ntabs, LPINT lpTabStops, int nTabOrigin );
|
|
DWORD WINAPI GetTabbedTextExtent ( HDC hdc, int x, int y, LPCTSTR lpszString, int cbString,
|
|
int ntabs, LPINT lpTabStops );
|
|
|
|
/* 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 0x00040000
|
|
#define DT_STRETCH 0x00080000
|
|
#define DT_GRAY 0x00100000
|
|
#define DT_LIGHT 0x00200000
|
|
#define DT_HTML_TEXT 0x00400000
|
|
|
|
int WINAPI DrawText (HDC hdc, LPCWSTR lpString, int nCount, LPRECT lpRect, UINT uStyle);
|
|
|
|
|
|
BOOL 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 28
|
|
|
|
DWORD WINAPI GetSysColor(int nIndex);
|
|
COLORREF WINAPI SetSysColor(int nIndex, COLORREF crColor);/* Microwindows only*/
|
|
HBRUSH WINAPI GetSysColorBrush(int nIndex);
|
|
|
|
/* 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 13
|
|
|
|
HGDIOBJ 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_NULL
|
|
|
|
HBRUSH WINAPI CreateSolidBrush(COLORREF crColor);
|
|
|
|
/* Pen Styles */
|
|
#define PS_SOLID 0
|
|
#define PS_NULL 5
|
|
|
|
HPEN WINAPI CreatePen(int nPenStyle, int nWidth, COLORREF crColor);
|
|
|
|
HBITMAP WINAPI CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight);
|
|
|
|
/* constants for the biCompression field */
|
|
#define BI_RGB 0L
|
|
#define BI_RLE8 1L
|
|
#define BI_RLE4 2L
|
|
#define BI_BITFIELDS 3L
|
|
|
|
#pragma pack(2)
|
|
typedef struct tagBITMAPINFOHEADER { // bmih
|
|
DWORD PACKEDDATA biSize;
|
|
LONG PACKEDDATA biWidth;
|
|
LONG PACKEDDATA biHeight;
|
|
WORD PACKEDDATA biPlanes;
|
|
WORD PACKEDDATA biBitCount;
|
|
DWORD PACKEDDATA biCompression;
|
|
DWORD PACKEDDATA biSizeImage;
|
|
LONG PACKEDDATA biXPelsPerMeter;
|
|
LONG PACKEDDATA biYPelsPerMeter;
|
|
DWORD PACKEDDATA biClrUsed;
|
|
DWORD PACKEDDATA biClrImportant;
|
|
} BITMAPINFOHEADER;
|
|
#pragma pack()
|
|
|
|
typedef struct tagRGBQUAD { // rgbq
|
|
BYTE rgbBlue;
|
|
BYTE rgbGreen;
|
|
BYTE rgbRed;
|
|
BYTE rgbReserved;
|
|
} RGBQUAD;
|
|
|
|
typedef struct tagBITMAPINFO { // bmi
|
|
BITMAPINFOHEADER bmiHeader;
|
|
RGBQUAD bmiColors[1];
|
|
} BITMAPINFO;
|
|
|
|
|
|
/* DIB color table identifiers */
|
|
|
|
#define DIB_RGB_COLORS 0 /* color table in RGBs */
|
|
#define DIB_PAL_COLORS 1 /* color table in palette indices */
|
|
|
|
HBITMAP CreateDIBSection(
|
|
HDC hdc, CONST BITMAPINFO *pbmi, UINT iUsage,
|
|
VOID **ppvBits, HANDLE hSection, DWORD dwOffset);
|
|
HDC WINAPI CreateCompatibleDC(HDC hdc);
|
|
|
|
/* BitBlit raster opcodes*/
|
|
#define SRCCOPY (DWORD)MWROP_COPY /* source */
|
|
#define SRCPAINT (DWORD)MWROP_OR /* source OR dest */
|
|
#define SRCAND (DWORD)MWROP_AND /* source AND dest */
|
|
#define SRCINVERT (DWORD)MWROP_XOR /* source XOR dest */
|
|
#define SRCERASE (DWORD)MWROP_ANDREVERSE /* source AND (NOT dest ) */
|
|
#define NOTSRCCOPY (DWORD)MWROP_COPYINVERTED /* (NOT source) */
|
|
#define NOTSRCERASE (DWORD)MWROP_NOR /* (NOT src) AND (NOT dest) */
|
|
#define MERGEPAINT (DWORD)MWROP_ORINVERTED /* (NOT source) OR dest */
|
|
#define DSTINVERT (DWORD)MWROP_INVERT /* (NOT dest) */
|
|
#define BLACKNESS (DWORD)MWROP_CLEAR /* BLACK */
|
|
#define WHITENESS (DWORD)MWROP_SET /* WHITE */
|
|
|
|
BOOL WINAPI BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,
|
|
HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);
|
|
|
|
|
|
BOOL WINAPI StretchBlt(HDC hdcDest,int nXOriginDest,int nYOriginDest,
|
|
int nWidthDest,int nHeightDest,HDC hdcSrc,
|
|
int nXOriginSrc,int nYOriginSrc,int nWidthSrc,
|
|
int nHeightSrc, DWORD dwRop);
|
|
|
|
/* Palette entry flags*/
|
|
#define PC_RESERVED 0x01
|
|
#define PC_EXPLICIT 0x02
|
|
#define PC_NOCOLLAPSE 0x04
|
|
|
|
typedef 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 1
|
|
typedef 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 );
|
|
HRGN WINAPI CreatePolygonRgn(const POINT *points, INT count, INT mode);
|
|
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);
|
|
BOOL FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbr);
|
|
|
|
|
|
/* GDI math stuff */
|
|
int WINAPI MulDiv(int nMultiplicand, int nMultiplier, int nDivisor);
|
|
|
|
COLORREF
|
|
WINAPI
|
|
SetDCBrushColor (
|
|
HDC Hdc,
|
|
COLORREF Color
|
|
);
|
|
|
|
COLORREF
|
|
WINAPI
|
|
SetDCPenColor (
|
|
HDC Hdc,
|
|
COLORREF Color
|
|
);
|
|
|
|
#define MoveTo(hdc, x, y) (MoveToEx(hdc, x, y, NULL))
|
|
|
|
|
|
BOOL WINAPI GetTextExtentPoint32(HDC hdc,LPCTSTR lpszStr,int cchString, LPSIZE lpSize);
|
|
|
|
int
|
|
WINAPI
|
|
GetClipBox (
|
|
HDC Hdc,
|
|
RECT *Rc
|
|
);
|
|
#undef FAR
|
|
#endif
|