47 if (cbOutput)
return 0;
49 len =
sizeof(*mr) +
sizeof(
WORD) + ((cbInput + 1) & ~1);
53 mr->rdParm[0] = nEscape;
54 mr->rdParm[1] = cbInput;
55 memcpy(&(mr->rdParm[2]), in_data, cbInput);
94 TRACE(
" unsupported capability %d, will return 0\n",
cap );
341 &bytes_written,
NULL )) {
354 TRACE(
"returning %p\n", physDev->
dev.hdc);
402 if (
dc->refcount != 1)
404 FIXME(
"not deleting busy DC %p refcount %u\n",
hdc,
dc->refcount );
429 &bytes_written,
NULL)) {
492 if (!mh)
return FALSE;
494 TRACE(
"Reallocated metafile: new size is %d\n",
size);
499 TRACE(
"Writing record to disk\n");
504 ERR(
"Unknown metafile type %d\n", physDev->
mh->
mtType );
567 short param3,
short param4)
588 short param3,
short param4,
short param5,
short param6)
610 short param3,
short param4,
short param5,
611 short param6,
short param7,
short param8)
BOOL MFDRV_MoveTo(PHYSDEV dev, INT x, INT y)
HMETAFILE WINAPI CloseMetaFile(HDC hdc)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
static BOOL MFDRV_DeleteDC(PHYSDEV dev)
BOOL MFDRV_FrameRgn(PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y)
BOOL MFDRV_PolyBezier(PHYSDEV dev, const POINT *pts, DWORD count)
BOOL MFDRV_OffsetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
BOOL MFDRV_RoundRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height)
BOOL MFDRV_StrokePath(PHYSDEV dev)
COLORREF MFDRV_SetDCBrushColor(PHYSDEV dev, COLORREF color)
BOOL MFDRV_StretchBlt(PHYSDEV devDst, struct bitblt_coords *dst, PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop)
BOOL MFDRV_PolyBezierTo(PHYSDEV dev, const POINT *pts, DWORD count)
BOOL MFDRV_SetWindowExtEx(PHYSDEV dev, INT x, INT y, SIZE *size)
struct tagMETAHEADER METAHEADER
BOOL MFDRV_StrokeAndFillPath(PHYSDEV dev)
#define INVALID_HANDLE_VALUE
BOOL MFDRV_PolyPolygon(PHYSDEV dev, const POINT *pt, const INT *counts, UINT polygons)
BOOL MFDRV_ScaleViewportExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size)
INT MFDRV_ExcludeClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
BOOL MFDRV_RestoreDC(PHYSDEV dev, INT level)
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8)
SIZE_T WINAPI HeapSize(HANDLE, DWORD, LPCVOID)
void release_dc_ptr(DC *dc) DECLSPEC_HIDDEN
INT MFDRV_SetROP2(PHYSDEV dev, INT rop)
static const unsigned char metafile[]
BOOL MFDRV_FlattenPath(PHYSDEV dev)
static UINT MFDRV_SetBoundsRect(PHYSDEV dev, RECT *rect, UINT flags)
BOOL MFDRV_OffsetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
static const WCHAR filenameW[]
HDC WINAPI CreateMetaFileA(LPCSTR filename)
BOOL MFDRV_ExtFloodFill(PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType)
BOOL MFDRV_SetViewportExtEx(PHYSDEV dev, INT x, INT y, SIZE *size)
WINE_DEFAULT_DEBUG_CHANNEL(wldap32)
BOOL MFDRV_FillPath(PHYSDEV dev)
BOOL MFDRV_Polygon(PHYSDEV dev, const POINT *pt, INT count)
HDC WINAPI CreateMetaFileW(LPCWSTR filename)
GLenum const GLfloat * params
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1)
BOOL MFDRV_MetaParam0(PHYSDEV dev, short func)
BOOL MFDRV_CloseFigure(PHYSDEV dev)
INT MFDRV_ExtSelectClipRgn(PHYSDEV dev, HRGN hrgn, INT mode)
INT MFDRV_SetBkMode(PHYSDEV dev, INT mode)
COLORREF MFDRV_SetBkColor(PHYSDEV dev, COLORREF color)
BOOL MFDRV_Arc(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
DC * alloc_dc_ptr(WORD magic) DECLSPEC_HIDDEN
COLORREF MFDRV_SetTextColor(PHYSDEV dev, COLORREF color)
BOOL MFDRV_EndPath(PHYSDEV dev)
BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6)
BOOL MFDRV_LineTo(PHYSDEV dev, INT x, INT y)
INT MFDRV_SetPolyFillMode(PHYSDEV dev, INT mode)
BOOL MFDRV_SetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
INT MFDRV_IntersectClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
INT MFDRV_SetDIBitsToDevice(PHYSDEV dev, INT xDst, INT yDst, DWORD cx, DWORD cy, INT xSrc, INT ySrc, UINT startscan, UINT lines, LPCVOID bits, BITMAPINFO *info, UINT coloruse)
#define GDI_PRIORITY_GRAPHICS_DRV
static INT MFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
INT MFDRV_SetRelAbs(PHYSDEV dev, INT mode)
HMETAFILE MF_Create_HMETAFILE(METAHEADER *mh) DECLSPEC_HIDDEN
static INT MFDRV_ExtEscape(PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data, INT cbOutput, LPVOID out_data)
BOOL MFDRV_SelectClipPath(PHYSDEV dev, INT iMode)
static DC * MFDRV_CloseMetaFile(HDC hdc)
BOOL MFDRV_Chord(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
BOOL MFDRV_Pie(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
DWORD MFDRV_SetMapperFlags(PHYSDEV dev, DWORD flags)
BOOL MFDRV_FillRgn(PHYSDEV dev, HRGN hrgn, HBRUSH hbrush)
void free_dc_ptr(DC *dc) DECLSPEC_HIDDEN
static DC * MFDRV_AllocMetaFile(void)
INT MFDRV_SetTextCharacterExtra(PHYSDEV dev, INT extra)
#define memcpy(s1, s2, n)
BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD horz_size, DWORD vert_size)
BOOL MFDRV_SetTextJustification(PHYSDEV dev, INT extra, INT breaks)
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2)
UINT MFDRV_SetTextAlign(PHYSDEV dev, UINT align)
static UINT MFDRV_GetBoundsRect(PHYSDEV dev, RECT *rect, UINT flags)
INT MFDRV_SaveDC(PHYSDEV dev)
BOOL MFDRV_SetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
static BOOL MFDRV_CreateCompatibleDC(PHYSDEV orig, PHYSDEV *pdev)
INT MFDRV_SetMapMode(PHYSDEV dev, INT mode)
BOOL MFDRV_BeginPath(PHYSDEV dev)
DC * get_dc_ptr(HDC hdc) DECLSPEC_HIDDEN
static POBJECT_TYPE GetObjectType(IN PCWSTR TypeName)
#define MultiByteToWideChar
BOOL MFDRV_InvertRgn(PHYSDEV dev, HRGN hrgn)
COLORREF MFDRV_SetDCPenColor(PHYSDEV dev, COLORREF color)
METAHEADER * MF_CreateMetaHeaderDisk(METAHEADER *mr, LPCVOID filename, BOOL unicode) DECLSPEC_HIDDEN
void GDI_hdc_not_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
BOOL MFDRV_PaintRgn(PHYSDEV dev, HRGN hrgn)
BOOL MFDRV_Polyline(PHYSDEV dev, const POINT *pt, INT count)
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
BOOL MFDRV_PatBlt(PHYSDEV dev, struct bitblt_coords *dst, DWORD rop)
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
BOOL MFDRV_ScaleWindowExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size)
COLORREF MFDRV_SetPixel(PHYSDEV dev, INT x, INT y, COLORREF color)
static const struct gdi_dc_funcs MFDRV_Funcs
BOOL MFDRV_WidenPath(PHYSDEV dev)
#define HeapFree(x, y, z)
INT MFDRV_StretchDIBits(PHYSDEV dev, INT xDst, INT yDst, INT widthDst, INT heightDst, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop)
BOOL MFDRV_AbortPath(PHYSDEV dev)
BOOL MFDRV_Ellipse(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
BOOL MFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
INT MFDRV_SetStretchBltMode(PHYSDEV dev, INT mode)
INT MFDRV_OffsetClipRgn(PHYSDEV dev, INT x, INT y)