1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

gdi32/emf: Use public definition for EMREXTESCAPE record.

This commit is contained in:
Nikolay Sivov 2023-11-27 10:01:46 +01:00 committed by Alexandre Julliard
parent 7c479e797f
commit ba454b239f
2 changed files with 13 additions and 11 deletions

View file

@ -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;

View file

@ -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;