Commit ba454b23 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

gdi32/emf: Use public definition for EMREXTESCAPE record.

parent 7c479e79
...@@ -1194,26 +1194,20 @@ BOOL EMFDC_PolyDraw( DC_ATTR *dc_attr, const POINT *pts, const BYTE *types, DWOR ...@@ -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 EMFDC_ExtEscape( DC_ATTR *dc_attr, INT escape, INT input_size, const char *input,
INT output_size, char *output) INT output_size, char *output)
{ {
struct EMREXTESCAPE EMREXTESCAPE *emr;
{
EMR emr;
DWORD escape;
DWORD size;
BYTE data[1];
} *emr;
size_t size; size_t size;
if (escape == QUERYESCSUPPORT) return 0; if (escape == QUERYESCSUPPORT) return 0;
size = FIELD_OFFSET( struct EMREXTESCAPE, data[input_size] ); size = FIELD_OFFSET( EMREXTESCAPE, EscData[input_size] );
size = (size + 3) & ~3; size = (size + 3) & ~3;
if (!(emr = HeapAlloc( GetProcessHeap(), 0, size ))) return 0; if (!(emr = HeapAlloc( GetProcessHeap(), 0, size ))) return 0;
emr->emr.iType = EMR_EXTESCAPE; emr->emr.iType = EMR_EXTESCAPE;
emr->emr.nSize = size; emr->emr.nSize = size;
emr->escape = escape; emr->iEscape = escape;
emr->size = input_size; emr->cbEscData = input_size;
memcpy(emr->data, input, input_size); memcpy(emr->EscData, input, input_size);
emfdc_record( get_dc_emf( dc_attr ), &emr->emr ); emfdc_record( get_dc_emf( dc_attr ), &emr->emr );
HeapFree( GetProcessHeap(), 0, emr ); HeapFree( GetProcessHeap(), 0, emr );
if (output_size && output) return 0; if (output_size && output) return 0;
......
...@@ -2341,6 +2341,14 @@ typedef struct { ...@@ -2341,6 +2341,14 @@ typedef struct {
EXTLOGPEN elp; EXTLOGPEN elp;
} EMREXTCREATEPEN, *PEMREXTCREATEPEN; } EMREXTCREATEPEN, *PEMREXTCREATEPEN;
typedef struct tagEMREXTESCAPE
{
EMR emr;
INT iEscape;
INT cbEscData;
BYTE EscData[1];
} EMREXTESCAPE, *PEMREXTESCAPE, EMRDRAWESCAPE, *PEMRDRAWESCAPE;
typedef struct { typedef struct {
EMR emr; EMR emr;
POINTL ptlStart; POINTL ptlStart;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment