[PATCH 1/2] winedump: Dump EMR_HEADER record.

Zhiyi Zhang zzhang at codeweavers.com
Wed Mar 24 03:10:12 CDT 2021


Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 tools/winedump/emf.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/winedump/emf.c b/tools/winedump/emf.c
index cce66c838b6..f3c92ac0539 100644
--- a/tools/winedump/emf.c
+++ b/tools/winedump/emf.c
@@ -93,7 +93,22 @@ static int dump_emfrecord(void)
 
     switch(type)
     {
-    EMRCASE(EMR_HEADER);
+    case EMR_HEADER:
+    {
+        const ENHMETAHEADER *header = PRD(offset, sizeof(*header));
+
+        printf("%-20s %08x\n", "EMR_HEADER", length);
+        printf("bounds (%d,%d - %d,%d) frame (%d,%d - %d,%d) signature %#x version %#x bytes %#x records %#x\n"
+               "handles %#x reserved %#x palette entries %#x px %dx%d mm %dx%d μm %dx%d opengl %d description %s\n",
+               header->rclBounds.left, header->rclBounds.top, header->rclBounds.right, header->rclBounds.bottom,
+               header->rclFrame.left, header->rclFrame.top, header->rclFrame.right, header->rclFrame.bottom,
+               header->dSignature, header->nVersion, header->nBytes, header->nRecords, header->nHandles, header->sReserved,
+               header->nPalEntries, header->szlDevice.cx, header->szlDevice.cy, header->szlMillimeters.cx,
+               header->szlMillimeters.cy, header->szlMicrometers.cx, header->szlMicrometers.cy, header->bOpenGL,
+               debugstr_wn((LPCWSTR)((const BYTE *)header + header->offDescription), header->nDescription));
+        break;
+    }
+
     EMRCASE(EMR_POLYBEZIER);
     EMRCASE(EMR_POLYGON);
     EMRCASE(EMR_POLYLINE);
-- 
2.27.0




More information about the wine-devel mailing list