28#define expect(expected,got) expect_(__LINE__, expected, got)
33#define expectf_(expected, got, precision) ok(fabs((expected) - (got)) <= (precision), "Expected %f, got %f\n", (expected), (got))
34#define expectf(expected, got) expectf_((expected), (got), 0.001)
48 unsigned int flags,
unsigned int dataSize,
const unsigned char *pStr);
67 "%s.%i: Expected record type 0x%lx, got 0x%lx. Expected flags %#lx, got %#lx.\n",
desc,
count,
74 "%s.%i: Expected record type 0x%lx, got 0x%lx.\n",
desc,
count,
139 "%s: EMF+ record datasize %lu and size %lu mismatch\n",
state->desc,
record->DataSize,
record->Size);
142 "%s: EMF+ record truncated\n",
state->desc);
147 if (
state->expected[
state->count].record_type)
161 ok(0,
"%s: Unexpected EMF+ 0x%x record\n",
state->desc,
record->Type);
171 ok(hemf !=
NULL,
"%s: SetEnhMetaFileBits failed\n",
state->desc);
187 if (
state->expected[
state->count].record_type)
199 ok(0,
"%s: Unexpected EMF 0x%lx record\n",
state->desc, lpEMFR->
iType);
220 unsigned int dataSize,
const unsigned char *pStr,
void *userdata)
230 ok(pStr ==
NULL,
"non-NULL pStr\n");
232 if (
state->expected[
state->count].record_type)
240 ok(0,
"%s: Unexpected EMF 0x%x record\n",
state->desc, record_type);
277 unsigned int dataSize,
const unsigned char *pStr,
void *userdata)
282 if (
state->expected[
state->count].record_type)
296 ok(
state->expected[
state->count].record_type == record_type,
297 "%s.%i: expected record type 0x%lx, got 0x%x\n",
state->desc,
state->count,
298 state->expected[
state->count].record_type, record_type);
304 ok(0,
"%s: unexpected record 0x%x\n",
state->desc, record_type);
384 HENHMETAFILE hemf,
dummy;
386 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
387 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
424 limit_dpi = 0xdeadbeef;
427 ok(limit_dpi == 96,
"limit_dpi was %d\n", limit_dpi);
432 limit_dpi = 0xdeadbeef;
435 ok(limit_dpi == 255,
"limit_dpi was %d\n", limit_dpi);
440 limit_dpi = 0xdeadbeef;
443 ok(limit_dpi == 96,
"limit_dpi was %d\n", limit_dpi);
466 limit_dpi = 0xdeadbeef;
469 expect(0xdeadbeef, limit_dpi);
497 ok(
header.Version == 0xdbc01001 ||
header.Version == 0xdbc01002,
"Unexpected version %x\n",
header.Version);
517 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
518 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
536 ok(
header.Version == 0xdbc01001 ||
header.Version == 0xdbc01002,
"Unexpected version %x\n",
header.Version);
556 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
557 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
583 ok(
header.Version == 0xdbc01001 ||
header.Version == 0xdbc01002,
"Unexpected version %x\n",
header.Version);
603 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
604 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
632 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
633 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
634 static const GpPointF dst_points_half[3] = {{0.0,0.0},{50.0,0.0},{0.0,50.0}};
744 ok(
ret != 0,
"Failed to delete enhmetafile %p\n", hemf);
790 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
791 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
814 ok(
header.Version == 0xdbc01001 ||
header.Version == 0xdbc01002,
"Unexpected version %x\n",
header.Version);
890 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
891 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
986 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
987 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
1033 expectf_(100.0,
header.EmfHeader.rclFrame.right * xres / 2540.0, 2.0);
1034 expectf_(100.0,
header.EmfHeader.rclFrame.bottom * yres / 2540.0, 2.0);
1085 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
1086 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
1087 static const GpPointF dst_points_half[3] = {{0.0,0.0},{50.0,0.0},{0.0,50.0}};
1198 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
1199 static const GpPointF dst_points[3] = {{10.0,10.0},{20.0,10.0},{10.0,20.0}};
1272 HBRUSH
hbrush, holdbrush;
1292 "expected 1.0, got %f\n", bounds.
Width);
1294 "expected 1.0, got %f\n", bounds.
Height);
1314 "expected 1.0, got %f\n", bounds.
Width);
1316 "expected 1.0, got %f\n", bounds.
Height);
1461 static const GpRectF frame = {0.0, 0.0, 5.0, 5.0};
1462 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
1665 static const GpRectF frame = {0.0, 0.0, 5.0, 5.0};
1666 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
1922 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
1931 if(!pGdipConvertToEmfPlus)
1934 win_skip(
"GDIPlus version 1.1 not available\n");
2001 static const GpRectF frame = {0.0, 0.0, 5.0, 5.0};
2022 "expected 1.0, got %f\n", bounds.
Width);
2024 "expected 1.0, got %f\n", bounds.
Height);
2035 "expected 1.0, got %f\n", bounds.
Width);
2037 "expected 1.0, got %f\n", bounds.
Height);
2095 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2096 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
2185 srcrect.
Width = 1.0;
2190 dstrect.
Width = 5.0;
2290 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2291 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
2312 ok(
rect.X == -0x400000,
"rect.X = %f\n",
rect.X);
2313 ok(
rect.Y == -0x400000,
"rect.Y = %f\n",
rect.Y);
2314 ok(
rect.Width == 0x800000,
"rect.Width = %f\n",
rect.Width);
2315 ok(
rect.Height == 0x800000,
"rect.Height = %f\n",
rect.Height);
2324 ok(
rect.Width == 10,
"rect.Width = %f\n",
rect.Width);
2325 ok(
rect.Height == 10,
"rect.Height = %f\n",
rect.Height);
2398 unsigned int flags,
unsigned int dataSize,
const unsigned char *pStr)
2400 static const XFORM xform = {0.5, 0, 0, 0.5, 0, 0};
2401 static const RECTL rectangle = {0,0,100,100};
2430 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2431 static const GpPointF dst_points[3] = {{0.0,0.0},{40.0,0.0},{0.0,40.0}};
2432 HBRUSH
hbrush, holdbrush;
2453 ok(
header.Version == 0xdbc01001 ||
header.Version == 0xdbc01002,
"Unexpected version %x\n",
header.Version);
2558 static const GpPointF dst_points[3] = {{10.0,10.0},{85.0,15.0},{10.0,80.0}};
2559 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2561 {2.0,0.0,0.0,0.0,0.0},
2562 {0.0,1.0,0.0,0.0,0.0},
2563 {0.0,0.0,1.0,0.0,0.0},
2564 {0.0,0.0,0.0,1.0,0.0},
2565 {0.0,0.0,0.0,0.0,1.0}}};
2586 info.bmiHeader.biWidth = 10;
2587 info.bmiHeader.biHeight = 10;
2588 info.bmiHeader.biPlanes = 1;
2589 info.bmiHeader.biBitCount = 32;
2650 win_skip(
"draw image metafile records tests skipped\n");
2677 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2763 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2827 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2921 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
2922 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
2929 HBRUSH
hbrush, holdbrush;
3029 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
3030 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
3031 static const PointF solidpos[4] = {{10.0,10.0}, {20.0,10.0}, {30.0,10.0}, {40.0,10.0}};
3032 static const PointF hatchpos = {10.0,30.0};
3037 GpFont *solidfont, *hatchfont;
3038 GpBrush *solidbrush, *hatchbrush;
3054 skip(
"Times New Roman not installed.\n");
3130 static const GpPointF dst_points[3] = {{0.0,0.0},{100.0,0.0},{0.0,100.0}};
3131 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
3133 static const INT testfont0_resnum = 2;
3136 DWORD written, ressize;
3162 ok(
res != 0,
"couldn't find resource\n");
3168 expect(ressize, written);
3250 static const GpPointF dst_points[3] = {{0.0, 0.0}, {100.0, 0.0}, {0.0, 100.0}};
3251 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
3252 static const GpRectF solidrect = {20.0, 20.0, 20.0, 20.0};
3253 static const GpRectF hatchrect = {50.0, 50.0, 20.0, 20.0};
3259 GpBrush *solidbrush, *hatchbrush;
3260 GpRegion *solidregion, *hatchregion;
3349 static const GpPointF dst_points[3] = {{0.0, 0.0}, {100.0, 0.0}, {0.0, 100.0}};
3350 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
3351 static const GpRectF horizrect = {10.0, 10.0, 20.0, 20.0};
3352 static const GpRectF vertrect = {50.0, 10.0, 20.0, 20.0};
3353 static const GpRectF blendrect = {10.0, 50.0, 20.0, 20.0};
3354 static const GpRectF presetrect = {50.0, 50.0, 20.0, 20.0};
3355 static const REAL blendfac[3] = {0.0, 0.9, 1.0};
3356 static const REAL blendpos[3] = {0.0, 0.5, 1.0};
3357 static const ARGB pblendcolor[3] = {0xffff0000, 0xff00ff00, 0xff0000ff};
3358 static const REAL pblendpos[3] = {0.0, 0.5, 1.0};
3362 GpBrush *horizbrush, *vertbrush, *blendbrush, *presetbrush;
3491 pGetDefaultPrinterA = (
void *)
GetProcAddress(winspool,
"GetDefaultPrinterA");
3492 pOpenPrinterA = (
void *)
GetProcAddress(winspool,
"OpenPrinterA");
3494 pGetPrinterDriverA = (
void *)
GetProcAddress(winspool,
"GetPrinterDriverA");
3495 pClosePrinter = (
void *)
GetProcAddress(winspool,
"ClosePrinter");
3497 if (!pGetDefaultPrinterA || !pOpenPrinterA || !pGetPrinterA || !pGetPrinterDriverA || !pClosePrinter)
3501 if (!pGetDefaultPrinterA(
buffer, &
len))
goto done;
3502 if (!pOpenPrinterA(
buffer, &hprn,
NULL))
goto done;
3504 pGetPrinterA(hprn, 2,
NULL, 0, &
len);
3510 if (!pGetPrinterDriverA(hprn,
NULL, 3, (
LPBYTE)dbuf,
len, &
len))
goto done;
3513 trace(
"hdc %p for driver '%s' printer '%s' port '%s'\n",
hdc,
3518 if (hprn) pClosePrinter(hprn);
3527 RectF frame = { 0.0, 0.0, 1.0, 1.0 };
3535 skip(
"could not create a DC for the default printer\n");
3571 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3627 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3685 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3727 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3775 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3823 static const GpRectF frame = { 0.0f, 0.0f, 100.0f, 100.0f };
3870 check_emfplus(hemf, set_clip_path_records,
"set clip path");
3907 static const GpPointF dst_points[3] = {{0.0, 0.0}, {100.0, 0.0}, {0.0, 100.0}};
3908 static const GpRectF frame = {0.0, 0.0, 100.0, 100.0};
3910 GpPath *draw_path, *line_cap_path;
3971 ok(
ret != 0,
"Failed to delete enhmetafile.\n");
std::map< E_MODULE, HMODULE > mod
#define check_record(rec,...)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF *rect, ARGB startcolor, ARGB endcolor, LinearGradientMode mode, GpWrapMode wrap, GpLineGradient **line)
GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush *brush)
GpStatus WINGDIPAPI GdipCreateHatchBrush(GpHatchStyle hatchstyle, ARGB forecol, ARGB backcol, GpHatch **brush)
GpStatus WINGDIPAPI GdipSetLinePresetBlend(GpLineGradient *brush, GDIPCONST ARGB *blend, GDIPCONST REAL *positions, INT count)
GpStatus WINGDIPAPI GdipSetLineBlend(GpLineGradient *brush, GDIPCONST REAL *factors, GDIPCONST REAL *positions, INT count)
GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB color, GpSolidFill **sf)
GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath *fillPath, GpPath *strokePath, GpLineCap baseCap, REAL baseInset, GpCustomLineCap **customCap)
GpStatus WINGDIPAPI GdipDeleteCustomLineCap(GpCustomLineCap *customCap)
GpStatus WINGDIPAPI GdipDeleteFont(GpFont *font)
GpStatus WINGDIPAPI GdipCreateFontFromLogfontA(HDC hdc, GDIPCONST LOGFONTA *lfa, GpFont **font)
GpStatus WINGDIPAPI GdipGetFontCollectionFamilyCount(GpFontCollection *fontCollection, INT *numFound)
GpStatus WINGDIPAPI GdipCreateFont(GDIPCONST GpFontFamily *fontFamily, REAL emSize, INT style, Unit unit, GpFont **font)
GpStatus WINGDIPAPI GdipGetFontCollectionFamilyList(GpFontCollection *fontCollection, INT numSought, GpFontFamily *gpfamilies[], INT *numFound)
GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection **fontCollection)
GpStatus WINGDIPAPI GdipCloneFont(GpFont *font, GpFont **cloneFont)
GpStatus WINGDIPAPI GdipPrivateAddFontFile(GpFontCollection *collection, GDIPCONST WCHAR *name)
GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection **fontCollection)
GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics *graphics, REAL *dpi)
GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpRectF *rects, INT count)
GpStatus WINGDIPAPI GdipBeginContainer(GpGraphics *graphics, GDIPCONST GpRectF *dstrect, GDIPCONST GpRectF *srcrect, GpUnit unit, GraphicsContainer *state)
GpStatus WINGDIPAPI GdipCreateFromHDC(HDC hdc, GpGraphics **graphics)
GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics *graphics, GpBrush *brush, INT x, INT y, INT width, INT height)
GpStatus WINGDIPAPI GdipFillRegion(GpGraphics *graphics, GpBrush *brush, GpRegion *region)
GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics *graphics, REAL *dpi)
GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipTranslateClip(GpGraphics *graphics, REAL dx, REAL dy)
GpStatus WINGDIPAPI GdipScaleWorldTransform(GpGraphics *graphics, REAL sx, REAL sy, GpMatrixOrder order)
GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics *graphics, REAL angle, GpMatrixOrder order)
GpStatus WINGDIPAPI GdipFillEllipse(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipTranslateWorldTransform(GpGraphics *graphics, REAL dx, REAL dy, GpMatrixOrder order)
GpStatus WINGDIPAPI GdipSetCompositingMode(GpGraphics *graphics, CompositingMode mode)
GpStatus WINGDIPAPI GdipTranslateClipI(GpGraphics *graphics, INT dx, INT dy)
GpStatus WINGDIPAPI GdipResetClip(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipGetDC(GpGraphics *graphics, HDC *hdc)
GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics *graphics, REAL *scale)
GpStatus WINGDIPAPI GdipGraphicsClear(GpGraphics *graphics, ARGB color)
GpStatus WINGDIPAPI GdipSetTextRenderingHint(GpGraphics *graphics, TextRenderingHint hint)
GpStatus WINGDIPAPI GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT16 *text, INT length, GDIPCONST GpFont *font, GDIPCONST GpBrush *brush, GDIPCONST PointF *positions, INT flags, GDIPCONST GpMatrix *matrix)
GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics *graphics, GpMatrix *matrix)
GpStatus WINGDIPAPI GdipSetClipRegion(GpGraphics *graphics, GpRegion *region, CombineMode mode)
GpStatus WINGDIPAPI GdipMultiplyWorldTransform(GpGraphics *graphics, GDIPCONST GpMatrix *matrix, GpMatrixOrder order)
GpStatus WINGDIPAPI GdipSetClipRect(GpGraphics *graphics, REAL x, REAL y, REAL width, REAL height, CombineMode mode)
GpStatus WINGDIPAPI GdipGetVisibleClipBounds(GpGraphics *graphics, GpRectF *rect)
GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1, INT x2, INT y2)
GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics *graphics, GraphicsState *state)
GpStatus WINGDIPAPI GdipDrawPath(GpGraphics *graphics, GpPen *pen, GpPath *path)
GpStatus WINGDIPAPI GdipEndContainer(GpGraphics *graphics, GraphicsContainer state)
GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics *graphics, CompositingQuality quality)
GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics, InterpolationMode mode)
GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image, GDIPCONST GpPointF *points, INT count, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, GpUnit srcUnit, GDIPCONST GpImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
GpStatus WINGDIPAPI GdipDrawEllipse(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipDrawRectangle(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipFillPath(GpGraphics *graphics, GpBrush *brush, GpPath *path)
GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipReleaseDC(GpGraphics *graphics, HDC hdc)
GpStatus WINGDIPAPI GdipSetRenderingOrigin(GpGraphics *graphics, INT x, INT y)
GpStatus WINGDIPAPI GdipSetClipPath(GpGraphics *graphics, GpPath *path, CombineMode mode)
GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics *graphics, GraphicsState state)
GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics *graphics, GpUnit unit)
GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics *graphics, GpUnit *unit)
GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode)
GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics *graphics, GpMatrix *matrix)
GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode mode)
GpStatus WINGDIPAPI GdipResetWorldTransform(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics *graphics, REAL scale)
GpStatus WINGDIPAPI GdipBeginContainer2(GpGraphics *graphics, GraphicsContainer *state)
GpStatus WINGDIPAPI GdipCreatePath(GpFillMode fill, GpPath **path)
GpStatus WINGDIPAPI GdipDeletePath(GpPath *path)
GpStatus WINGDIPAPI GdipAddPathLine(GpPath *path, REAL x1, REAL y1, REAL x2, REAL y2)
GpStatus WINGDIPAPI GdipAddPathRectangle(GpPath *path, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage *image, REAL *res)
GpStatus WINGDIPAPI GdipGetImageWidth(GpImage *image, UINT *width)
GpStatus WINGDIPAPI GdipGetImageHeight(GpImage *image, UINT *height)
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, PixelFormat format, BYTE *scan0, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipGetImageGraphicsContext(GpImage *image, GpGraphics **graphics)
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO *info, VOID *bits, GpBitmap **bitmap)
GpStatus WINGDIPAPI GdipDisposeImage(GpImage *image)
GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap *bitmap, INT x, INT y, ARGB *color)
GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap *bitmap, INT x, INT y, ARGB color)
GpStatus WINGDIPAPI GdipGetImageBounds(GpImage *image, GpRectF *srcRect, GpUnit *srcUnit)
GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage *image, REAL *res)
GpStatus WINGDIPAPI GdipCloneImage(GpImage *image, GpImage **cloneImage)
GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *out)
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22, REAL dx, REAL dy)
GpStatus WINGDIPAPI GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result)
GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix *matrix)
GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix **matrix)
GpStatus WINGDIPAPI GdipCreatePen1(ARGB color, REAL width, GpUnit unit, GpPen **pen)
GpStatus WINGDIPAPI GdipDeletePen(GpPen *pen)
GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen *pen, GpCustomLineCap *customCap)
GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen *pen, GpCustomLineCap *customCap)
GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region)
GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *region)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
BOOL WINAPI WriteFile(_In_ HANDLE hFile, _In_reads_bytes_opt_(nNumberOfBytesToWrite) LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
LPVOID WINAPI LockResource(HGLOBAL handle)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP errno_t __cdecl _controlfp_s(unsigned int *, unsigned int, unsigned int)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
static unsigned char buff[32768]
Status WINAPI GdiplusStartup(ULONG_PTR *token, const struct GdiplusStartupInput *input, struct GdiplusStartupOutput *output)
@ ObjectTypeImageAttributes
@ ColorMatrixFlagsDefault
@ CompositingModeSourceOver
@ CompositingModeSourceCopy
#define GDIP_EMFPLUS_RECORD_BASE
@ EmfPlusRecordTypeSetCompositingQuality
@ EmfPlusRecordTypeSetClipRect
@ EmfPlusRecordTypeSetClipPath
@ EmfPlusRecordTypeResetWorldTransform
@ EmfPlusRecordTypeResetClip
@ EmfPlusRecordTypeEndContainer
@ EmfPlusRecordTypeRotateWorldTransform
@ EmfPlusRecordTypeTranslateWorldTransform
@ EmfPlusRecordTypeDrawImagePoints
@ EmfPlusRecordTypeRestore
@ EmfPlusRecordTypeFillPath
@ EmfPlusRecordTypeSetPixelOffsetMode
@ EmfPlusRecordTypeSetCompositingMode
@ EmfPlusRecordTypeBeginContainer
@ EmfPlusRecordTypeDrawDriverString
@ EmfPlusRecordTypeDrawPath
@ EmfPlusRecordTypeOffsetClip
@ EmfPlusRecordTypeObject
@ EmfPlusRecordTypeSetWorldTransform
@ EmfPlusRecordTypeFillRects
@ EmfPlusRecordTypeHeader
@ EmfPlusRecordTypeDrawEllipse
@ EmfPlusRecordTypeFillEllipse
@ EmfPlusRecordTypeSetInterpolationMode
@ EmfPlusRecordTypeEndOfFile
@ EmfPlusRecordTypeDrawRects
@ EmfPlusRecordTypeSetPageTransform
@ EmfPlusRecordTypeSetRenderingOrigin
@ EmfPlusRecordTypeSetAntiAliasMode
@ EmfPlusRecordTypeBeginContainerNoParams
@ EmfPlusRecordTypeFillRegion
@ EmfPlusRecordTypeScaleWorldTransform
@ EmfPlusRecordTypeMultiplyWorldTransform
@ EmfPlusRecordTypeSetClipRegion
@ EmfPlusRecordTypeSetTextRenderingHint
@ PixelOffsetModeHighQuality
@ CompositingQualityHighQuality
@ TextRenderingHintAntiAlias
@ TextRenderingHintSystemDefault
@ DriverStringOptionsRealizedAdvance
@ DriverStringOptionsCmapLookup
@ MetafileTypeEmfPlusOnly
@ MetafileTypeWmfPlaceable
@ InterpolationModeHighQualityBicubic
@ InterpolationModeHighQuality
@ InterpolationModeDefault
@ LinearGradientModeHorizontal
@ LinearGradientModeVertical
@ MetafileFrameUnitMillimeter
void WINAPI GdiplusShutdown(ULONG_PTR)
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLuint GLenum GLenum transform
GLenum GLenum GLenum GLenum GLenum scale
GLenum GLuint GLenum GLsizei const GLchar * buf
GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes *imageattr, ColorAdjustType type, BOOL enableFlag, GDIPCONST ColorMatrix *colorMatrix, GDIPCONST ColorMatrix *grayMatrix, ColorMatrixFlags flags)
GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes **imageattr)
GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes *imageattr)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define todo_wine_if(is_todo)
#define comment(fmt, arg1)
D3D11_SHADER_VARIABLE_DESC desc
#define expect_(expected, got, precision)
static const unsigned char metafile[]
png_const_structrp png_const_inforp int * unit
int winetest_get_mainargs(char ***pargv)
CHAR lfFaceName[LF_FACESIZE]
const struct emfplus_record * expected
void(* playback_fn)(GpMetafile *metafile, EmfPlusRecordType record_type, unsigned int flags, unsigned int dataSize, const unsigned char *pStr)
DWORD WINAPI GetLastError(void)
BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define EMR_SETMITERLIMIT
HENHMETAFILE WINAPI GetEnhMetaFileA(_In_ LPCSTR)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateDCA(_In_opt_ LPCSTR pszDriver, _In_opt_ LPCSTR pszDevice, _In_opt_ LPCSTR pszOutput, _In_opt_ const DEVMODEA *pdmInit)
BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HENHMETAFILE WINAPI CopyEnhMetaFileW(_In_ HENHMETAFILE hemfSrc, _In_opt_ LPCWSTR pszFile)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI RestoreDC(_In_ HDC, _In_ int)
BOOL WINAPI GdiComment(_In_ HDC hdc, _In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *lpData)
BOOL WINAPI EnumEnhMetaFile(_In_opt_ HDC, _In_ HENHMETAFILE, _In_ ENHMFENUMPROC, _In_opt_ PVOID, _In_opt_ LPCRECT)
HENHMETAFILE WINAPI SetEnhMetaFileBits(_In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *pb)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
#define EMR_SETVIEWPORTORGEX
#define EMR_CREATEBRUSHINDIRECT
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
#define EMR_MODIFYWORLDTRANSFORM
#define EMR_SETWORLDTRANSFORM
int WINAPI SaveDC(_In_ HDC)
HENHMETAFILE WINAPI CopyEnhMetaFileA(_In_ HENHMETAFILE hemfSrc, _In_opt_ LPCSTR pszFile)
struct _PRINTER_DEFAULTSA * LPPRINTER_DEFAULTSA
#define MAKEINTRESOURCEA(i)