Module: wine Branch: master Commit: ba454b239feed275864441b87fd2bccfa8998592 URL: https://gitlab.winehq.org/wine/wine/-/commit/ba454b239feed275864441b87fd2bcc...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Nov 27 10:01:46 2023 +0100
gdi32/emf: Use public definition for EMREXTESCAPE record.
---
dlls/gdi32/emfdc.c | 16 +++++----------- include/wingdi.h | 8 ++++++++ 2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/gdi32/emfdc.c b/dlls/gdi32/emfdc.c index fdd915a106f..5fc0109f78f 100644 --- a/dlls/gdi32/emfdc.c +++ b/dlls/gdi32/emfdc.c @@ -1194,26 +1194,20 @@ BOOL EMFDC_PolyDraw( DC_ATTR *dc_attr, const POINT *pts, const BYTE *types, DWOR INT EMFDC_ExtEscape( DC_ATTR *dc_attr, INT escape, INT input_size, const char *input, INT output_size, char *output) { - struct EMREXTESCAPE - { - EMR emr; - DWORD escape; - DWORD size; - BYTE data[1]; - } *emr; + EMREXTESCAPE *emr; size_t size;
if (escape == QUERYESCSUPPORT) return 0;
- size = FIELD_OFFSET( struct EMREXTESCAPE, data[input_size] ); + size = FIELD_OFFSET( EMREXTESCAPE, EscData[input_size] ); size = (size + 3) & ~3; if (!(emr = HeapAlloc( GetProcessHeap(), 0, size ))) return 0;
emr->emr.iType = EMR_EXTESCAPE; emr->emr.nSize = size; - emr->escape = escape; - emr->size = input_size; - memcpy(emr->data, input, input_size); + emr->iEscape = escape; + emr->cbEscData = input_size; + memcpy(emr->EscData, input, input_size); emfdc_record( get_dc_emf( dc_attr ), &emr->emr ); HeapFree( GetProcessHeap(), 0, emr ); if (output_size && output) return 0; diff --git a/include/wingdi.h b/include/wingdi.h index ff0bbb6fc85..ef1b3e310aa 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -2341,6 +2341,14 @@ typedef struct { EXTLOGPEN elp; } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
+typedef struct tagEMREXTESCAPE +{ + EMR emr; + INT iEscape; + INT cbEscData; + BYTE EscData[1]; +} EMREXTESCAPE, *PEMREXTESCAPE, EMRDRAWESCAPE, *PEMRDRAWESCAPE; + typedef struct { EMR emr; POINTL ptlStart;