2.2.2.30 EmfPlusPathGradientBrushOptionalData Object

The EmfPlusPathGradientBrushOptionalData object specifies optional data for a path gradient brush.

Note: Each field of this object is optional and might not be present in the OptionalData field of an EmfPlusPathGradientBrushData object (section 2.2.2.29), depending on the BrushData flags (section 2.1.2.1) set in its BrushDataFlags field. Although it is not practical to represent every possible combination of fields present or absent, this section specifies their relative order in the object. The implementer is responsible for determining which fields are actually present in a given metafile record, and for unmarshaling the data for individual fields separately and appropriately.


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

TransformMatrix (24 bytes, optional)

...

...

...

BlendPattern (variable)

...

FocusScaleData (optional)

...

...

TransformMatrix (24 bytes): An optional EmfPlusTransformMatrix object (section 2.2.2.47) that specifies a world space to device space transform for the path gradient brush. This field MUST be present if the BrushDataTransform flag is set in the BrushDataFlags field of the EmfPlusPathGradientBrushData object.

BlendPattern (variable): An optional blend pattern for the path gradient brush. If this field is present, it MUST contain either an EmfPlusBlendColors object (section 2.2.2.4), or an EmfPlusBlendFactors object (section 2.2.2.5), but it MUST NOT contain both. The table below shows the valid combinations of flags in the BrushDataFlags field of the EmfPlusPathGradientBrushData object and the corresponding blend patterns:

PresetColors

BlendFactorsH

Blend Patterns

Clear

Clear

This field MUST NOT be present.

Set

Clear

An EmfPlusBlendColors object MUST be present.

Clear

Set

An EmfPlusBlendFactors object MUST be present.

FocusScaleData (12 bytes): An optional EmfPlusFocusScaleData object (section 2.2.2.18) that specifies focus scales for the path gradient brush. This field MUST be present if the BrushDataFocusScales flag is set in the BrushDataFlags field of the EmfPlusPathGradientBrushData object.

Graphics brushes are specified by EmfPlusBrush objects (section 2.2.1.1).

See section 2.2.2 for the specification of additional structure objects.