Alexandre Julliard : gdi32: Move remaining 16-bit metafile functions to metafile16.c
Alexandre Julliard
julliard at winehq.org
Mon Sep 28 11:54:34 CDT 2009
Module: wine
Branch: master
Commit: 7582b13d8d413e195e8a4401d41d566fc32431d5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7582b13d8d413e195e8a4401d41d566fc32431d5
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sat Sep 26 13:31:45 2009 +0200
gdi32: Move remaining 16-bit metafile functions to metafile16.c
---
dlls/gdi32/gdi16.c | 9 -------
dlls/gdi32/gdi_private.h | 1 -
dlls/gdi32/metafile16.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++
dlls/gdi32/mfdrv/init.c | 48 ----------------------------------------
4 files changed, 55 insertions(+), 58 deletions(-)
diff --git a/dlls/gdi32/gdi16.c b/dlls/gdi32/gdi16.c
index 2f49948..f442d51 100644
--- a/dlls/gdi32/gdi16.c
+++ b/dlls/gdi32/gdi16.c
@@ -1601,15 +1601,6 @@ void WINAPI Resurrection16(HDC16 hdc,
}
-/**********************************************************************
- * CreateMetaFile (GDI.125)
- */
-HDC16 WINAPI CreateMetaFile16( LPCSTR filename )
-{
- return HDC_16( CreateMetaFileA( filename ) );
-}
-
-
/***********************************************************************
* MulDiv (GDI.128)
*/
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
index d7f1d91..03c63d4 100644
--- a/dlls/gdi32/gdi_private.h
+++ b/dlls/gdi32/gdi_private.h
@@ -460,7 +460,6 @@ extern BOOL GDI_hdc_not_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN;
/* metafile.c */
extern HMETAFILE MF_Create_HMETAFILE(METAHEADER *mh) DECLSPEC_HIDDEN;
-extern HMETAFILE16 MF_Create_HMETAFILE16(METAHEADER *mh) DECLSPEC_HIDDEN;
extern METAHEADER *MF_CreateMetaHeaderDisk(METAHEADER *mr, LPCVOID filename, BOOL unicode ) DECLSPEC_HIDDEN;
extern METAHEADER *MF_ReadMetaFile(HANDLE hfile) DECLSPEC_HIDDEN;
extern METAHEADER *MF_LoadDiskBasedMetaFile(METAHEADER *mh) DECLSPEC_HIDDEN;
diff --git a/dlls/gdi32/metafile16.c b/dlls/gdi32/metafile16.c
index a8e8ca6..812fb9c 100644
--- a/dlls/gdi32/metafile16.c
+++ b/dlls/gdi32/metafile16.c
@@ -58,6 +58,61 @@ static BOOL16 MF_ReleaseMetaHeader16( HMETAFILE16 hmf )
}
/******************************************************************
+ * MF_Create_HMETATFILE16
+ *
+ * Creates a HMETAFILE16 object from a METAHEADER
+ *
+ * HMETAFILE16s are Global memory handles.
+ */
+static HMETAFILE16 MF_Create_HMETAFILE16(METAHEADER *mh)
+{
+ HMETAFILE16 hmf;
+ DWORD size = mh->mtSize * sizeof(WORD);
+
+ hmf = GlobalAlloc16(GMEM_MOVEABLE, size);
+ if(hmf)
+ {
+ METAHEADER *mh_dest = GlobalLock16(hmf);
+ memcpy(mh_dest, mh, size);
+ GlobalUnlock16(hmf);
+ }
+ HeapFree(GetProcessHeap(), 0, mh);
+ return hmf;
+}
+
+/**********************************************************************
+ * CreateMetaFile (GDI.125)
+ */
+HDC16 WINAPI CreateMetaFile16( LPCSTR filename )
+{
+ return HDC_16( CreateMetaFileA( filename ) );
+}
+
+/******************************************************************
+ * CloseMetaFile (GDI.126)
+ */
+HMETAFILE16 WINAPI CloseMetaFile16(HDC16 hdc)
+{
+ HMETAFILE16 hmf16 = 0;
+ HMETAFILE hmf = CloseMetaFile( HDC_32(hdc) );
+
+ if (hmf)
+ {
+ UINT size = GetMetaFileBitsEx( hmf, 0, NULL );
+
+ hmf16 = GlobalAlloc16( GMEM_MOVEABLE, size );
+ if (hmf16)
+ {
+ void *buffer = GlobalLock16( hmf16 );
+ GetMetaFileBitsEx( hmf, size, buffer );
+ GlobalUnlock16( hmf16 );
+ }
+ DeleteMetaFile( hmf );
+ }
+ return hmf16;
+}
+
+/******************************************************************
* DeleteMetaFile (GDI.127)
*/
BOOL16 WINAPI DeleteMetaFile16( HMETAFILE16 hmf )
diff --git a/dlls/gdi32/mfdrv/init.c b/dlls/gdi32/mfdrv/init.c
index a5b18d3..b6cf549 100644
--- a/dlls/gdi32/mfdrv/init.c
+++ b/dlls/gdi32/mfdrv/init.c
@@ -23,8 +23,6 @@
#include "windef.h"
#include "winbase.h"
-#include "wine/winbase16.h"
-#include "wownt32.h"
#include "gdi_private.h"
#include "mfdrv/metafiledrv.h"
#include "wine/debug.h"
@@ -354,52 +352,6 @@ static DC *MFDRV_CloseMetaFile( HDC hdc )
}
/******************************************************************
- * MF_Create_HMETATFILE16
- *
- * Creates a HMETAFILE16 object from a METAHEADER
- *
- * HMETAFILE16s are Global memory handles.
- */
-HMETAFILE16 MF_Create_HMETAFILE16(METAHEADER *mh)
-{
- HMETAFILE16 hmf;
- DWORD size = mh->mtSize * sizeof(WORD);
-
- hmf = GlobalAlloc16(GMEM_MOVEABLE, size);
- if(hmf)
- {
- METAHEADER *mh_dest = GlobalLock16(hmf);
- memcpy(mh_dest, mh, size);
- GlobalUnlock16(hmf);
- }
- HeapFree(GetProcessHeap(), 0, mh);
- return hmf;
-}
-
-/******************************************************************
- * CloseMetaFile (GDI.126)
- *
- * PARAMS
- * hdc [I] Metafile DC to close
- */
-HMETAFILE16 WINAPI CloseMetaFile16(HDC16 hdc)
-{
- HMETAFILE16 hmf;
- METAFILEDRV_PDEVICE *physDev;
- DC *dc = MFDRV_CloseMetaFile(HDC_32(hdc));
- if (!dc) return 0;
- physDev = (METAFILEDRV_PDEVICE *)dc->physDev;
-
- /* Now allocate a global handle for the metafile */
-
- hmf = MF_Create_HMETAFILE16( physDev->mh );
-
- physDev->mh = NULL; /* So it won't be deleted */
- MFDRV_DeleteDC( dc );
- return hmf;
-}
-
-/******************************************************************
* CloseMetaFile (GDI32.@)
*
* Stop recording graphics operations in metafile associated with
More information about the wine-cvs
mailing list