winedump: Dump EMR_STRETCHBLT record.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zhiyi Zhang 2021-04-14 15:26:52 +08:00 committed by Alexandre Julliard
parent 2c47d0b58b
commit 1c35d29ed5
1 changed files with 24 additions and 1 deletions

View File

@ -325,7 +325,30 @@ static int dump_emfrecord(void)
}
EMRCASE(EMR_BITBLT);
EMRCASE(EMR_STRETCHBLT);
case EMR_STRETCHBLT:
{
const EMRSTRETCHBLT *blt = PRD(offset, sizeof(*blt));
const BITMAPINFOHEADER *bmih = (const BITMAPINFOHEADER *)((const unsigned char *)blt + blt->offBmiSrc);
printf("%-20s %08x\n", "EMR_STRETCHBLT", length);
printf("bounds (%d,%d - %d,%d) dst %d,%d %dx%d src %d,%d %dx%d rop %#x xform (%f, %f, %f, %f, %f, %f)\n"
"bk_color %#x usage %#x bmi_offset %#x bmi_size %#x bits_offset %#x bits_size %#x\n",
blt->rclBounds.left, blt->rclBounds.top, blt->rclBounds.right, blt->rclBounds.bottom,
blt->xDest, blt->yDest, blt->cxDest, blt->cyDest,
blt->xSrc, blt->ySrc, blt->cxSrc, blt->cySrc, blt->dwRop,
blt->xformSrc.eM11, blt->xformSrc.eM12, blt->xformSrc.eM21,
blt->xformSrc.eM22, blt->xformSrc.eDx, blt->xformSrc.eDy,
blt->crBkColorSrc, blt->iUsageSrc, blt->offBmiSrc, blt->cbBmiSrc,
blt->offBitsSrc, blt->cbBitsSrc);
printf("BITMAPINFOHEADER biSize %#x biWidth %d biHeight %d biPlanes %d biBitCount %d biCompression %#x\n"
"biSizeImage %#x biXPelsPerMeter %d biYPelsPerMeter %d biClrUsed %#x biClrImportant %#x\n",
bmih->biSize, bmih->biWidth, bmih->biHeight, bmih->biPlanes, bmih->biBitCount,
bmih->biCompression, bmih->biSizeImage, bmih->biXPelsPerMeter, bmih->biYPelsPerMeter,
bmih->biClrUsed, bmih->biClrImportant);
break;
}
EMRCASE(EMR_MASKBLT);
EMRCASE(EMR_PLGBLT);
EMRCASE(EMR_SETDIBITSTODEVICE);