201 TRACE(
"record %d, size %d %s\n",
215 if (
len > nEmfSize) {
216 nEmfSize += (nEmfSize / 2) + emr->
nSize;
218 if (!emh)
return FALSE;
241 if (vportRect.left > vportRect.right)
244 vportRect.right = vportRect.left;
245 vportRect.left =
temp;
247 if (vportRect.top > vportRect.bottom)
250 vportRect.bottom = vportRect.top;
251 vportRect.top =
temp;
262 bounds->
top =
min(bounds->
top, vportRect.top);
315 static const WCHAR displayW[] = {
'D',
'I',
'S',
'P',
'L',
'A',
'Y',0};
422 TRACE(
"returning %p\n", physDev->
dev.hdc);
448 if (
dc->refcount != 1)
450 FIXME(
"not deleting busy DC %p refcount %u\n",
hdc,
dc->refcount );
501 TRACE(
"hMapping = %p\n", hMapping );
503 TRACE(
"view = %p\n", physDev->
emh );
INT EMFDRV_StretchDIBits(WINEDC *dc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, INT x_src, INT y_src, INT width_src, INT height_src, const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop)
BOOL EMFDRV_PolyDraw(WINEDC *dc, const POINT *pts, const BYTE *types, DWORD count)
COLORREF EMFDRV_SetTextColor(PHYSDEV dev, COLORREF color)
BOOL EMFDRV_PolyBezierTo(WINEDC *dc, const POINT *pts, DWORD count)
BOOL EMFDRV_PatBlt(WINEDC *dc, INT left, INT top, INT width, INT height, DWORD rop)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
BOOL EMFDRV_InvertRgn(WINEDC *dc, HRGN hrgn)
struct tagENHMETAHEADER ENHMETAHEADER
BOOL EMFDRV_ModifyWorldTransform(PHYSDEV dev, const XFORM *xform, DWORD mode)
BOOL EMFDRV_WriteRecord(PHYSDEV dev, EMR *emr)
BOOL EMFDRV_RoundRect(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height)
BOOL EMFDRV_SetWorldTransform(PHYSDEV dev, const XFORM *xform)
BOOL WINAPI LPtoDP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
ACPI_SIZE strlen(const char *String)
BOOL EMFDRV_GradientFill(WINEDC *dc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode)
BOOL EMFDRV_PolyBezier(WINEDC *dc, const POINT *pts, DWORD count)
INT EMFDRV_IntersectClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
BOOL EMFDRV_StretchBlt(PHYSDEV devDst, struct bitblt_coords *dst, PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop)
BOOL EMFDRV_CloseFigure(PHYSDEV dev)
BOOL EMFDRV_Arc(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
#define INVALID_HANDLE_VALUE
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL EMFDRV_AbortPath(PHYSDEV dev)
INT EMFDRV_ExtSelectClipRgn(PHYSDEV dev, HRGN hrgn, INT mode)
BOOL EMFDRV_SetTextJustification(PHYSDEV dev, INT nBreakExtra, INT nBreakCount)
INT EMFDRV_SetMapMode(PHYSDEV dev, INT mode)
SIZE_T WINAPI HeapSize(HANDLE, DWORD, LPCVOID)
void release_dc_ptr(DC *dc) DECLSPEC_HIDDEN
BOOL EMFDRV_Rectangle(WINEDC *dc, INT left, INT top, INT right, INT bottom)
BOOL EMFDRV_RestoreDC(PHYSDEV dev, INT level)
static const WCHAR filenameW[]
WINE_DEFAULT_DEBUG_CHANNEL(wldap32)
INT EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
BOOL EMFDRV_ScaleViewportExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size)
DWORD EMFDRV_SetMapperFlags(PHYSDEV dev, DWORD flags)
COLORREF EMFDRV_SetBkColor(PHYSDEV dev, COLORREF color)
void EMFDRV_UpdateBBox(PHYSDEV dev, RECTL *rect)
BOOL EMFDRV_SetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
BOOL EMFDRV_PolylineTo(WINEDC *dc, const POINT *pt, INT count)
GLenum GLuint GLenum GLsizei length
INT EMFDRV_SetBkMode(PHYSDEV dev, INT mode)
BOOL EMFDRV_PolyPolygon(WINEDC *dc, const POINT *pt, const INT *counts, UINT polys)
INT EMFDRV_SetStretchBltMode(PHYSDEV dev, INT mode)
BOOL EMFDRV_SelectClipPath(PHYSDEV dev, INT iMode)
BOOL EMFDRV_PolyPolyline(WINEDC *dc, const POINT *pt, const DWORD *counts, UINT polys)
DC * alloc_dc_ptr(WORD magic) DECLSPEC_HIDDEN
BOOL EMFDRV_Chord(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
INT EMFDRV_SaveDC(PHYSDEV dev)
BOOL EMFDRV_LineTo(WINEDC *dc, INT x, INT y)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL EMFDRV_OffsetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
#define GDI_PRIORITY_GRAPHICS_DRV
static const WCHAR displayW[]
const char * wine_dbgstr_rect(const RECT *rect)
BOOL EMFDRV_FillPath(WINEDC *dc)
BOOL EMFDRV_FillRgn(WINEDC *dc, HRGN hrgn, HBRUSH hbrush)
BOOL EMFDRV_OffsetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
HDC WINAPI CreateEnhMetaFileW(HDC hdc, LPCWSTR filename, const RECT *rect, LPCWSTR description)
HBITMAP EMFDRV_SelectBitmap(WINEDC *dc, HBITMAP hbitmap)
static const unsigned char enhmetafile[]
void free_dc_ptr(DC *dc) DECLSPEC_HIDDEN
BOOL EMFDRV_FlattenPath(PHYSDEV dev)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define memcpy(s1, s2, n)
BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD horz_size, DWORD vert_size)
INT EMFDRV_SetArcDirection(PHYSDEV dev, INT arcDirection)
#define ENHMETA_SIGNATURE
BOOL EMFDRV_Ellipse(WINEDC *dc, INT left, INT top, INT right, INT bottom)
INT EMFDRV_SetDIBitsToDevice(WINEDC *dc, INT x_dst, INT y_dst, DWORD width, DWORD height, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, BITMAPINFO *info, UINT usage)
INT EMFDRV_SetROP2(PHYSDEV dev, INT rop)
HENHMETAFILE WINAPI CloseEnhMetaFile(HDC hdc)
BOOL WINAPI DeleteDC(_In_ HDC)
#define FIELD_OFFSET(t, f)
INT EMFDRV_SetPolyFillMode(PHYSDEV dev, INT mode)
HDC WINAPI CreateEnhMetaFileA(HDC hdc, LPCSTR filename, const RECT *rect, LPCSTR description)
BOOL EMFDRV_StrokePath(WINEDC *dc)
DC * get_dc_ptr(HDC hdc) DECLSPEC_HIDDEN
static POBJECT_TYPE GetObjectType(IN PCWSTR TypeName)
#define MultiByteToWideChar
BOOL EMFDRV_SetWindowExtEx(PHYSDEV dev, INT cx, INT cy, SIZE *size)
HDC WINAPI CreateDCW(_In_opt_ LPCWSTR pszDriver, _In_opt_ LPCWSTR pszDevice, _In_opt_ LPCWSTR psz, _In_opt_ const DEVMODEW *pdmInit)
static const struct gdi_dc_funcs emfdrv_driver
static const WCHAR descriptionW[]
void GDI_hdc_not_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
BOOL EMFDRV_ArcTo(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
BOOL EMFDRV_BeginPath(PHYSDEV dev)
BOOL EMFDRV_WidenPath(PHYSDEV dev)
BOOL EMFDRV_SetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt)
BOOL EMFDRV_StrokeAndFillPath(WINEDC *dc)
BOOL EMFDRV_FrameRgn(WINEDC *dc, HRGN hrgn, HBRUSH hbrush, INT width, INT height)
COLORREF EMFDRV_SetPixel(WINEDC *dc, INT x, INT y, COLORREF color)
UINT EMFDRV_SetTextAlign(PHYSDEV dev, UINT align)
INT EMFDRV_ExcludeClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
BOOL WINAPI RestoreDC(_In_ HDC, _In_ int)
BOOL EMFDRV_EndPath(PHYSDEV dev)
INT EMFDRV_OffsetClipRgn(PHYSDEV dev, INT x, INT y)
BOOL EMFDRV_ScaleWindowExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size)
#define HeapFree(x, y, z)
BOOL EMFDRV_SetViewportExtEx(PHYSDEV dev, INT cx, INT cy, SIZE *size)
HANDLE NTAPI CreateFileMappingA(IN HANDLE hFile, IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes, IN DWORD flProtect, IN DWORD dwMaximumSizeHigh, IN DWORD dwMaximumSizeLow, IN LPCSTR lpName)
BOOL EMFDRV_Pie(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
DWORD EMFDRV_SetLayout(PHYSDEV dev, DWORD layout)
BOOL EMFDRV_ExtTextOut(WINEDC *dc, INT x, INT y, UINT flags, const RECT *lprect, LPCWSTR str, UINT count, const INT *lpDx)
static BOOL EMFDRV_DeleteDC(PHYSDEV dev)