[PATCH] gdiplus : implements GdipEnumerateMetafileSrcRectDestRectI

김동완 kdw6485 at gmail.com
Tue May 18 03:56:55 CDT 2021


I fixed my prototype and made the first call succeed.

#include <windows.h>
#include <iostream>

#include <gdiplusenums.h>
#include <gdiplustypes.h>

#include <gdiplusgpstubs.h>
#include <gdiplusmetaheader.h>

#include <gdipluspixelformats.h>
#include <gdipluscolor.h>
#include <gdipluscolormatrix.h>
#include <gdiplusimaging.h>
struct IDirectDrawSurface7;
#include <gdiplusflat.h>

#pragma comment(lib,"gdiplus")

typedef  GpStatus
(WINGDIPAPI *pfnGdipEnumerateMetafileSrcRectDestRectI)(
GpGraphics* graphics,
GDIPCONST GpMetafile* metafile,
GDIPCONST Rect* destRect,
GDIPCONST Rect* srcRect,
Unit                    srcUnit,
EnumerateMetafileProc   callback,
VOID* callbackData,
GDIPCONST GpImageAttributes* imageAttributes
);

int main()
{

Rect s{}, d{};
auto m = LoadLibraryA("gdiplus.dll");
pfnGdipEnumerateMetafileSrcRectDestRectI pfunc =
(pfnGdipEnumerateMetafileSrcRectDestRectI)GetProcAddress(m,
"GdipEnumerateMetafileSrcRectDestRectI");
__try {
pfunc(0, 0, &s, &d, UnitDisplay, 0, 0, 0);
printf("ok\n");
pfunc(0, 0, 0, 0, UnitDisplay, 0, 0, 0);
printf("ok\n");
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
printf("Executing SEH __except block\r\n");
}
system("pause");
}

And the result is printed as below :

ok
Executing SEH __except block


Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210518/385a0ca8/attachment.htm>


More information about the wine-devel mailing list