From e7de8395132a4f27e4ede3dc6112ccd426283ad4 Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Mon, 17 May 2021 17:09:27 +0800 Subject: [PATCH] winedump: Dump the distance array for EMR_EXTTEXTOUTW records. Signed-off-by: Zhiyi Zhang Signed-off-by: Alexandre Julliard --- tools/winedump/emf.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/winedump/emf.c b/tools/winedump/emf.c index 2f54f73153b..50c3ad092ea 100644 --- a/tools/winedump/emf.c +++ b/tools/winedump/emf.c @@ -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; }