gdi32/emf: Use public definition for EMREXTESCAPE record.
This commit is contained in:
parent
7c479e797f
commit
ba454b239f
2 changed files with 13 additions and 11 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue