winedump: Dump the distance array for EMR_EXTTEXTOUTW records.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zhiyi Zhang 2021-05-17 17:09:27 +08:00 committed by Alexandre Julliard
parent 02325ccb67
commit e7de839513
1 changed files with 9 additions and 0 deletions

View File

@ -378,6 +378,7 @@ static int dump_emfrecord(void)
case EMR_EXTTEXTOUTW:
{
const EMREXTTEXTOUTW *etoW = PRD(offset, sizeof(*etoW));
const int *dx = (const int *)((const BYTE *)etoW + etoW->emrtext.offDx);
printf("%-20s %08x\n", "EMR_EXTTEXTOUTW", length);
printf("bounds (%d,%d - %d,%d) mode %#x x_scale %f y_scale %f pt (%d,%d) rect (%d,%d - %d,%d) flags %#x, %s\n",
@ -388,6 +389,14 @@ static int dump_emfrecord(void)
etoW->emrtext.rcl.right, etoW->emrtext.rcl.bottom,
etoW->emrtext.fOptions,
debugstr_wn((LPCWSTR)((const BYTE *)etoW + etoW->emrtext.offString), etoW->emrtext.nChars));
printf("dx_offset %u {", etoW->emrtext.offDx);
for (i = 0; i < etoW->emrtext.nChars; ++i)
{
printf("%d", dx[i]);
if (i != etoW->emrtext.nChars - 1)
putchar(',');
}
printf("}\n");
break;
}