84 if (
src->log_width ==
dst->log_width &&
src->log_height ==
dst->log_height)
100 nBPP = BM.bmPlanes * BM.bmBitsPixel;
101 if(nBPP > 8) nBPP = 24;
104 (nBPP <= 8 ? 1 << nBPP : 0) *
sizeof(
RGBQUAD);
106 size = emrSize + bmiSize + bitsSize;
109 if (!pEMR)
return FALSE;
139 pEMRStretch->
cxSrc =
src->log_width;
140 pEMRStretch->
cySrc =
src->log_height;
156 lpBmiH->
biClrUsed = nBPP <= 8 ? 1 << nBPP : 0;
182 UINT bmi_size, emr_size;
215 emr->
cxSrc = widthSrc;
216 emr->
cySrc = heightSrc;
struct BITMAPINFOHEADER * LPBITMAPINFOHEADER
static int get_dib_stride(int width, int bpp)
#define HeapFree(x, y, z)
BOOL APIENTRY NtGdiGetTransform(_In_ HDC hdc, _In_ DWORD iXform, _Out_ LPXFORM pxf)
static int get_dib_info_size(const BITMAPINFO *info, UINT coloruse)
#define GdiWorldSpaceToDeviceSpace
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
#define memcpy(s1, s2, n)
static int rop(int rop, int src, int dst)
const struct gdi_dc_funcs * funcs
INT EMFDRV_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 EMFDRV_StretchBlt(PHYSDEV devDst, struct bitblt_coords *dst, PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop)
BOOL EMFDRV_PatBlt(PHYSDEV dev, struct bitblt_coords *dst, DWORD rop)
INT EMFDRV_SetDIBitsToDevice(PHYSDEV dev, INT xDst, INT yDst, DWORD width, DWORD height, INT xSrc, INT ySrc, UINT startscan, UINT lines, LPCVOID bits, BITMAPINFO *info, UINT wUsage)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
int WINAPI GetDIBits(_In_ HDC hdc, _In_ HBITMAP hbm, _In_ UINT start, _In_ UINT cLines, _Out_opt_ LPVOID lpvBits, _At_((LPBITMAPINFOHEADER) lpbmi, _Inout_) LPBITMAPINFO lpbmi, _In_ UINT usage)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
struct tagEMRSETDIBITSTODEVICE EMRSETDIBITSTODEVICE
BOOL WINAPI GetTransform(HDC, DWORD, XFORM *)
struct tagEMRBITBLT EMRBITBLT
#define EMR_STRETCHDIBITS
COLORREF WINAPI GetBkColor(_In_ HDC)
struct tagEMRSTRETCHBLT * PEMRSTRETCHBLT
struct tagEMRSTRETCHDIBITS EMRSTRETCHDIBITS
struct tagEMRSTRETCHBLT EMRSTRETCHBLT
#define EMR_SETDIBITSTODEVICE