Module: wine Branch: master Commit: 7582b13d8d413e195e8a4401d41d566fc32431d5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7582b13d8d413e195e8a4401d4...
Author: Alexandre Julliard julliard@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