General tidy up of the MetaFile driver - make sure that everything
goes through the DCFuncs table.
diff --git a/include/gdi.h b/include/gdi.h
index 774cf68..d88fb8e 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -26,6 +26,9 @@
#define META_DC_MAGIC 0x4f4f
#define METAFILE_MAGIC 0x4f50
#define METAFILE_DC_MAGIC 0x4f51
+#define ENHMETAFILE_MAGIC 0x4f52
+#define ENHMETAFILE_DC_MAGIC 0x4f53
+
#define MAGIC_DONTCARE 0xffff
typedef struct tagGDIOBJHDR
@@ -161,27 +164,31 @@
{
BOOL (*pArc)(DC*,INT,INT,INT,INT,INT,INT,INT,INT);
BOOL (*pBitBlt)(DC*,INT,INT,INT,INT,DC*,INT,INT,DWORD);
- LONG (*pBitmapBits)(HBITMAP,void*,LONG,WORD);
+ LONG (*pBitmapBits)(HBITMAP,void*,LONG,WORD);
BOOL (*pChord)(DC*,INT,INT,INT,INT,INT,INT,INT,INT);
BOOL (*pCreateBitmap)(HBITMAP);
BOOL (*pCreateDC)(DC*,LPCSTR,LPCSTR,LPCSTR,const DEVMODE16*);
BOOL (*pDeleteDC)(DC*);
- HBITMAP (*pCreateDIBSection)(DC *,BITMAPINFO *,UINT,LPVOID *,HANDLE,DWORD);
- HBITMAP16 (*pCreateDIBSection16)(DC *,BITMAPINFO *,UINT16,SEGPTR *,HANDLE,DWORD);
+ HBITMAP (*pCreateDIBSection)(DC *,BITMAPINFO *,UINT,LPVOID *,HANDLE,
+ DWORD);
+ HBITMAP16 (*pCreateDIBSection16)(DC *,BITMAPINFO *,UINT16,SEGPTR *,HANDLE,
+ DWORD);
BOOL (*pDeleteObject)(HGDIOBJ);
BOOL (*pEllipse)(DC*,INT,INT,INT,INT);
BOOL (*pEnumDeviceFonts)(DC*,LPLOGFONT16,DEVICEFONTENUMPROC,LPARAM);
INT (*pEscape)(DC*,INT,INT,SEGPTR,SEGPTR);
INT (*pExcludeClipRect)(DC*,INT,INT,INT,INT);
- INT (*pExcludeVisRect)(DC*,INT,INT,INT,INT);
BOOL (*pExtFloodFill)(DC*,INT,INT,COLORREF,UINT);
- BOOL (*pExtTextOut)(DC*,INT,INT,UINT,const RECT*,LPCSTR,UINT,const INT*);
+ BOOL (*pExtTextOut)(DC*,INT,INT,UINT,const RECT*,LPCSTR,UINT,
+ const INT*);
+ BOOL (*pFillRgn)(DC*,HRGN,HBRUSH);
+ BOOL (*pFrameRgn)(DC*,HRGN,HBRUSH,INT,INT);
BOOL (*pGetCharWidth)(DC*,UINT,UINT,LPINT);
- COLORREF (*pGetPixel)(DC*,INT,INT);
+ COLORREF (*pGetPixel)(DC*,INT,INT);
BOOL (*pGetTextExtentPoint)(DC*,LPCSTR,INT,LPSIZE);
BOOL (*pGetTextMetrics)(DC*,TEXTMETRICA*);
INT (*pIntersectClipRect)(DC*,INT,INT,INT,INT);
- INT (*pIntersectVisRect)(DC*,INT,INT,INT,INT);
+ BOOL (*pInvertRgn)(DC*,HRGN);
BOOL (*pLineTo)(DC*,INT,INT);
HANDLE (*pLoadOEMResource)(WORD,WORD);
BOOL (*pMoveToEx)(DC*,INT,INT,LPPOINT);
@@ -206,27 +213,29 @@
INT (*pSelectClipRgn)(DC*,HRGN);
HANDLE (*pSelectObject)(DC*,HANDLE);
HPALETTE (*pSelectPalette)(DC*,HPALETTE,BOOL);
- COLORREF (*pSetBkColor)(DC*,COLORREF);
- WORD (*pSetBkMode)(DC*,WORD);
- VOID (*pSetDeviceClipping)(DC*);
- INT (*pSetDIBitsToDevice)(DC*,INT,INT,DWORD,DWORD,INT,INT,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
+ COLORREF (*pSetBkColor)(DC*,COLORREF);
+ INT (*pSetBkMode)(DC*,INT);
+ VOID (*pSetDeviceClipping)(DC*);
+ INT (*pSetDIBitsToDevice)(DC*,INT,INT,DWORD,DWORD,INT,INT,UINT,UINT,
+ LPCVOID,const BITMAPINFO*,UINT);
INT (*pSetMapMode)(DC*,INT);
- DWORD (*pSetMapperFlags)(DC*,DWORD);
- COLORREF (*pSetPixel)(DC*,INT,INT,COLORREF);
- WORD (*pSetPolyFillMode)(DC*,WORD);
- WORD (*pSetROP2)(DC*,WORD);
- WORD (*pSetRelAbs)(DC*,WORD);
- WORD (*pSetStretchBltMode)(DC*,WORD);
- WORD (*pSetTextAlign)(DC*,WORD);
+ DWORD (*pSetMapperFlags)(DC*,DWORD);
+ COLORREF (*pSetPixel)(DC*,INT,INT,COLORREF);
+ INT (*pSetPolyFillMode)(DC*,INT);
+ INT (*pSetROP2)(DC*,INT);
+ INT (*pSetRelAbs)(DC*,INT);
+ INT (*pSetStretchBltMode)(DC*,INT);
+ UINT (*pSetTextAlign)(DC*,UINT);
INT (*pSetTextCharacterExtra)(DC*,INT);
- DWORD (*pSetTextColor)(DC*,DWORD);
+ DWORD (*pSetTextColor)(DC*,DWORD);
INT (*pSetTextJustification)(DC*,INT,INT);
BOOL (*pSetViewportExt)(DC*,INT,INT);
BOOL (*pSetViewportOrg)(DC*,INT,INT);
BOOL (*pSetWindowExt)(DC*,INT,INT);
BOOL (*pSetWindowOrg)(DC*,INT,INT);
BOOL (*pStretchBlt)(DC*,INT,INT,INT,INT,DC*,INT,INT,INT,INT,DWORD);
- INT (*pStretchDIBits)(DC*,INT,INT,INT,INT,INT,INT,INT,INT,const void *,const BITMAPINFO *,UINT,DWORD);
+ INT (*pStretchDIBits)(DC*,INT,INT,INT,INT,INT,INT,INT,INT,
+ const void *,const BITMAPINFO *,UINT,DWORD);
} DC_FUNCTIONS;
/* LoadOEMResource types */