45 #define STRETCH_VIA_DIB 54 #ifdef STRETCH_VIA_DIB 64 WARN(
"bad bitmap object %p passed for hdc %p\n",
hBitmap, devSrc->
hdc);
67 #ifdef STRETCH_VIA_DIB 68 nBPP = BM.bmPlanes * BM.bmBitsPixel;
69 if(nBPP > 8) nBPP = 24;
83 lpBMI->biClrUsed = nBPP <= 8 ? 1 << nBPP : 0;
84 lpBMI->biCompression =
BI_RGB;
87 lpBMI->biClrImportant = 0;
89 TRACE(
"MF_StretchBltViaDIB->len = %d rop=%x PixYPM=%d Caps=%d\n",
100 *(mr->
rdParm +10) = BM.bmWidth;
101 *(mr->
rdParm +11) = BM.bmHeight;
102 *(mr->
rdParm +12) = BM.bmWidthBytes;
103 *(mr->
rdParm +13) = BM.bmPlanes;
104 *(mr->
rdParm +14) = BM.bmBitsPixel;
134 INT heightSrc,
const void *
bits,
180 mr->
rdParm[2] = startscan;
BOOL MFDRV_StretchBlt(PHYSDEV devDst, struct bitblt_coords *dst, PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop)
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
struct tagMETARECORD METARECORD
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
static const unsigned char metafile[]
static int get_dib_image_size(const BITMAPINFO *info)
static int get_dib_stride(int width, int bpp)
static int rop(int rop, int src, int dst)
_Out_opt_ int _Out_opt_ int * cy
#define META_DIBSTRETCHBLT
BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
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)
struct BITMAPINFOHEADER * LPBITMAPINFOHEADER
LONG WINAPI GetBitmapBits(_In_ HBITMAP hbit, _In_ LONG cb, _Out_writes_bytes_(cb) LPVOID lpvBits)
WINE_DEFAULT_DEBUG_CHANNEL(metafile)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
#define memcpy(s1, s2, n)
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)
static int get_dib_info_size(const BITMAPINFO *info, UINT coloruse)
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
BOOL MFDRV_PatBlt(PHYSDEV dev, struct bitblt_coords *dst, DWORD rop)
const struct gdi_dc_funcs * funcs
#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)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)