2.7.9 RecolorInfoAtom

Referenced by: OfficeArtClientData

An atom record that specifies a collection of re-color mappings for a metafile ([MS-WMF]).

The corresponding metafile is specified by the Blip properties ([MS-ODRAW] section 2.3.23) of the OfficeArtSpContainer ([MS-ODRAW] section 2.2.14) that contains this RecolorInfoAtom 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

rh

...

A

B

C

D

E

unused2

cColors

cFills

monoColor

...

rgRecolorEntry (variable)

...

unused3 (variable)

...

rh (8 bytes): A RecordHeader structure (section 2.3.1) that specifies the header for this record. Sub-fields are further specified in the following table.

Field

Meaning

rh.recVer

MUST be 0x0.

rh.recInstance

MUST be 0x000.

rh.recType

MUST be RT_RecolorInfoAtom.

A - fShouldRecolor (1 bit): A bit that specifies whether the re-color mappings are applied.

B - fMissingColors (1 bit): A bit that specifies whether rgRecolorEntry has more than 64 items with a RecolorEntryColor variant. It SHOULD<97> be ignored.

C - fMissingFills (1 bit): A bit that specifies whether rgRecolorEntry has more than 64 items with a RecolorEntryBrush variant. It SHOULD<98> be ignored.

D - unused1 (1 bit): Undefined and MUST be ignored.

E - fMonoRecolor (1 bit): A bit that specifies whether monoColor is used as the destination color instead of the destination colors specified by the RecolorEntry structures in the rgRecolorEntry array.

unused2 (11 bits): Undefined and MUST be ignored.

cColors (2 bytes): An unsigned integer that specifies the count of items in the rgRecolorEntry array with a RecolorEntryColor variant.

cFills (2 bytes): An unsigned integer that specifies the count of items in the rgRecolorEntry array with a RecolorEntryBrush variant.

monoColor (6 bytes): A WideColorStruct structure that specifies the destination color if the fMonoRecolor bit is set.

rgRecolorEntry (variable): An array of RecolorEntry structures that specifies color mappings. The count of items in the array is specified by cColors + cFills. It MUST contain cColors items with a RecolorEntryColor variant. It MUST contain cFills items with a RecolorEntryBrush variant.

unused3 (variable): Undefined and MUST be ignored. The size, in bytes, is specified by the following formula:

 rh.recLen – ( 12 + 44 * ( cColors + cFills ) )