diff --git a/include/windows.h b/include/windows.h index 66f24f3b3b..47f243f222 100644 --- a/include/windows.h +++ b/include/windows.h @@ -6818,6 +6818,7 @@ HENHMETAFILE32 WINAPI GetEnhMetaFile32W(LPCWSTR); #define GetEnhMetaFile WINELIB_NAME_AW(GetEnhMetaFile) UINT32 WINAPI GetEnhMetaFileBits(HENHMETAFILE32,UINT32,LPBYTE); UINT32 WINAPI GetEnhMetaFileHeader(HENHMETAFILE32,UINT32,LPENHMETAHEADER); +UINT32 WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE32,UINT32,LPPALETTEENTRY); LPSTR WINAPI GetEnvironmentStrings32A(void); LPWSTR WINAPI GetEnvironmentStrings32W(void); #define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings) @@ -9268,6 +9269,7 @@ void WINAPI SetWindowText32W(HWND32,LPCWSTR); #define SetWindowText WINELIB_NAME_AW(SetWindowText) WORD WINAPI SetWindowWord16(HWND16,INT16,WORD); WORD WINAPI SetWindowWord32(HWND32,INT32,WORD); +HENHMETAFILE32 WINAPI SetWinMetaFileBits(UINT32,CONST BYTE*,HDC32,CONST METAFILEPICT32 *); #define SetWindowWord WINELIB_NAME(SetWindowWord) BOOL16 WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16); BOOL32 WINAPI ShellAbout32A(HWND32,LPCSTR,LPCSTR,HICON32); diff --git a/objects/enhmetafile.c b/objects/enhmetafile.c index dcb3dc2da5..494034fb8c 100644 --- a/objects/enhmetafile.c +++ b/objects/enhmetafile.c @@ -9,6 +9,7 @@ #include "winbase.h" #include "winnt.h" #include "debug.h" +#include "winerror.h" /***************************************************************************** * GetEnhMetaFile32A (GDI32.174) @@ -502,4 +503,52 @@ HENHMETAFILE32 WINAPI CopyEnhMetaFile32A( } } +/***************************************************************************** + * GetEnhMetaFilePaletteEntries (GDI32.179) + * + * Copy the palette and report size + */ + +UINT32 WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE32 hemf, + UINT32 cEntries, + LPPALETTEENTRY lppe) +{ + LPENHMETAHEADER h = GlobalLock32(hemf); + UINT32 temp = h->nPalEntries; + if ( h == NULL ){ + GlobalUnlock32(hemf); + return(0); + } else { + if ((lppe)&&(cEntries>0)){ + FIXME(metafile,"Stub\n"); + GlobalUnlock32(hemf); + return(GDI_ERROR); + } else{ + GlobalUnlock32(hemf); + return(0); + } + } +} + + + +/****************************************************************** + * SetWinMetaFileBits (GDI32.343) + * + * Translate from old style to new style. + */ + +HENHMETAFILE32 WINAPI SetWinMetaFileBits(UINT32 cbBuffer, + CONST BYTE *lpbBuffer, + HDC32 hdcRef, + CONST METAFILEPICT32 *lpmfp + ) +{ + FIXME(metafile,"Stub\n"); + return NULL; + +} + + + diff --git a/relay32/gdi32.spec b/relay32/gdi32.spec index 114356f4ee..9c09252361 100644 --- a/relay32/gdi32.spec +++ b/relay32/gdi32.spec @@ -181,7 +181,7 @@ init MAIN_GdiInit 176 stdcall GetEnhMetaFileDescriptionA(long long ptr) GetEnhMetaFileDescription32A 177 stdcall GetEnhMetaFileDescriptionW(long long ptr) GetEnhMetaFileDescription32W 178 stdcall GetEnhMetaFileHeader(long long ptr) GetEnhMetaFileHeader -179 stub GetEnhMetaFilePaletteEntries +179 stdcall GetEnhMetaFilePaletteEntries (long long ptr) GetEnhMetaFilePaletteEntries 180 stub GetEnhMetaFileW 181 stdcall GetFontData(long long long ptr long) GetFontData32 182 stdcall GetFontLanguageInfo(long) GetFontLanguageInfo32 @@ -345,7 +345,7 @@ init MAIN_GdiInit 340 stdcall SetViewportExtEx(long long long ptr) SetViewportExtEx32 341 stdcall SetViewportOrgEx(long long long ptr) SetViewportOrgEx32 342 stub SetVirtualResolution -343 stub SetWinMetaFileBits +343 stdcall SetWinMetaFileBits(long ptr long ptr) SetWinMetaFileBits 344 stdcall SetWindowExtEx(long long long ptr) SetWindowExtEx32 345 stdcall SetWindowOrgEx(long long long ptr) SetWindowOrgEx32 346 stdcall SetWorldTransform(long ptr) SetWorldTransform