2.3.7.9 EMR_EXTCREATEPEN Record

The EMR_EXTCREATEPEN record defines an extended logical pen for graphics operations. An optional DIB can be specified to use as the line style.

Fields not specified in this section are specified in section 2.3.7.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Type

Size

ihPen

offBmi

cbBmi

offBits

cbBits

elp (variable)

...

BitmapBuffer (variable, optional)

...

Type (4 bytes): An unsigned integer that identifies this record type as EMR_EXTCREATEPEN. This value is 0x0000005F.

ihPen (4 bytes): An unsigned integer that specifies the index of the extended logical pen object in the EMF object table (section 3.1.1.1). This index MUST be saved so that this object can be reused or modified.

offBmi (4 bytes): An unsigned integer that specifies the offset from the start of this record to the DIB header if the record contains a DIB.

cbBmi (4 bytes): An unsigned integer that specifies the size of the DIB header if the record contains a DIB.

offBits (4 bytes): An unsigned integer that specifies the offset from the start of this record to the DIB bits if the record contains a DIB.

cbBits (4 bytes): An unsigned integer that specifies the size of the DIB bits if the record contains a DIB.

elp (variable): A LogPenEx object (section 2.2.20) that specifies an extended logical pen with attributes including an optional line style array.

BitmapBuffer (variable, optional): An array of bytes containing a packed DIB in the form of a DeviceIndependentBitmap object ([MS-WMF] section 2.2.2.9). It is not required to be contiguous with the fixed portion of this record.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

UndefinedSpace (variable, optional)

...

BmiSrc (variable)

...

BitsSrc (variable)

...

UndefinedSpace (variable, optional): An array of bytes that MUST be ignored.

BmiSrc (variable): The DIB header, which is the DibHeaderInfo field of a DeviceIndependentBitmap object.

BitsSrc (variable): The DIB bits, which is the aData field of a DeviceIndependentBitmap object.

The extended logical pen object defined by this record can be selected into the playback device context by an EMR_SELECTOBJECT record (section 2.3.8.5), which specifies the logical pen to use in subsequent graphics operations.

See section 2.3.7 for more object creation record types.