2.2.2 OfficeArtCOLORREF

Referenced by: borderBottomColor, borderLeftColor, borderRightColor, borderTopColor, c3DCrMod, c3DExtrusionColor, c3DExtrusionColorExt, fillBackColor, fillBackColorExt, fillColor, fillColorExt, fillCrMod, lineBackColor, lineBackColorExt, lineBottomBackColor, lineBottomBackColorExt, lineBottomColor, lineBottomColorExt, lineBottomCrMod, lineColor, lineColorExt, lineCrMod, lineLeftBackColor, lineLeftBackColorExt, lineLeftColor, lineLeftColorExt, lineLeftCrMod, lineRightBackColor, lineRightBackColorExt, lineRightColor, lineRightColorExt, lineRightCrMod, lineTopBackColor, lineTopBackColorExt, lineTopColor, lineTopColorExt, lineTopCrMod, MSOSHADECOLOR, pictureDblCrMod, pictureFillCrMod, pictureLineCrMod, pictureRecolor, pictureRecolorExt, pictureTransparent, pictureTransparentExt, reserved1370, reserved1374, reserved1377, reserved1378, reserved1434, reserved1438, reserved1441, reserved1442, reserved1498, reserved1502, reserved1505, reserved1506, reserved1562, reserved1566, reserved1569, reserved1570, reserved278, reserved281, reserved284, reserved287, reserved415, reserved419, reserved422, reserved423, reserved474, reserved478, reserved481, reserved482, reserved531, reserved535, reserved538, reserved539, reserved650, reserved653, shadowColor, shadowColorExt, shadowCrMod, shadowHighlight, shadowHighlightExt

The OfficeArtCOLORREF structure specifies a color. The high 8 bits MAY be set to 0xFF, in which case the color MUST be ignored.

The color properties that are specified in the following table have a set of extended-color properties. The color property specifies the main color. The colorExt and colorExtMod properties specify the extended colors that can be used to define the main color more precisely.

color

colorExt

colorExtMod

fillColor (section 2.3.7.2)

fillColorExt (section 2.3.7.33)

fillColorExtMod (section 2.3.7.35)

fillBackColor (section 2.3.7.4)

fillBackColorExt (section 2.3.7.37)

fillBackColorExtMod (section 2.3.7.39)

lineColor (section 2.3.8.1)

lineColorExt (section 2.3.8.28)

lineColorExtMod (section 2.3.8.30)

lineBackColor (section 2.3.8.3)

lineBackColorExt (section 2.3.8.32)

lineBackColorExtMod (section 2.3.8.34)

lineLeftColor (section 2.3.9.1)

lineLeftColorExt (section 2.3.9.28)

lineLeftColorExtMod (section 2.3.9.30)

lineLeftBackColor (section 2.3.9.3)

lineLeftBackColorExt (section 2.3.9.32)

lineLeftBackColorExtMod (section 2.3.9.34)

lineRightColor (section 2.3.11.1)

lineRightColorExt (section 2.3.11.28)

lineRightColorExtMod (section 2.3.11.30)

lineRightBackColor (section 2.3.11.3)

lineRightBackColorExt (section 2.3.11.32)

lineRightBackColorExtMod (section 2.3.11.34)

lineTopColor (section 2.3.10.1)

lineTopColorExt (section 2.3.10.28)

lineTopColorExtMod (section 2.3.10.30)

lineTopBackColor (section 2.3.10.3)

lineTopBackColorExt (section 2.3.10.32)

lineTopBackColorExtMod (section 2.3.10.34)

lineBottomColor (section 2.3.12.1)

lineBottomColorExt (section 2.3.12.28)

lineBottomColorExtMod (section 2.3.12.30)

lineBottomBackColor (section 2.3.12.3)

lineBottomBackColorExt (section 2.3.12.32)

lineBottomBackColorExtMod (section 2.3.12.34)

shadowColor (section 2.3.13.2)

shadowColorExt (section 2.3.13.12)

shadowColorExtMod (section 2.3.13.14)

shadowHighlight (section 2.3.13.3)

shadowHighlightExt (section 2.3.13.16)

shadowHighlightExtMod (section 2.3.13.18)

c3DExtrusionColor (section 2.3.15.8)

c3DExtrusionColorExt (section 2.3.15.10)

c3DExtrusionColorExtMod (section 2.3.15.12)

pictureRecolor (section 2.3.23.29)

pictureRecolorExt (section 2.3.23.30)

pictureRecolorExtMod (section 2.3.23.32)

pictureTransparent (section 2.3.23.10)

pictureTransparentExt (section 2.3.23.24)

pictureTransparentExtMod (section 2.3.23.26)

If neither extended-color property is set, the main color property contains the full color definition. Otherwise, the colorExt property specifies the base color, and the colorExtMod property specifies a tint or shade modification that is applied to the colorExt property. In this case, the main color property contains the flattened RGB color that is computed by applying the specified tint or shade modification to the specified base color.


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

A

B

C

D

E

F

G

H

blue

green

red

A - unused1 (1 bit): A bit that is undefined and MUST be ignored.

B - unused2 (1 bit): A bit that is undefined and MUST be ignored.

C - unused3 (1 bit): A bit that is undefined and MUST be ignored.

D - fSysIndex (1 bit): A bit that specifies whether the system color scheme will be used to determine the color. A value of 0x1 specifies that green and red will be treated as an unsigned 16-bit index into the system color table. Values less than 0x00F0 map directly to system colors. For more information, see [MSDN-GetSysColor].

The following table specifies values that have special meaning.

Value

Meaning

0x00F0

Use the fill color of the shape.

0x00F1

If the shape contains a line, use the line color of the shape. Otherwise, use the fill color.

0x00F2

Use the line color of the shape.

0x00F3

Use the shadow color of the shape.

0x00F4

Use the current, or last-used, color.

0x00F5

Use the fill background color of the shape.

0x00F6

Use the line background color of the shape.

0x00F7

If the shape contains a fill, use the fill color of the shape. Otherwise, use the line color.

The following table specifies values that indicate special procedural properties that are used to modify the color components of another color. These values are combined with those in the preceding table or with a user-specified color. The first six values are mutually exclusive.

Value

Meaning

0x0100

Darken the color by the value that is specified in the blue field. A blue value of 0xFF specifies that the color is to be left unchanged, whereas a blue value of 0x00 specifies that the color is to be completely darkened.

0x0200

Lighten the color by the value that is specified in the blue field. A blue value of 0xFF specifies that the color is to be left unchanged, whereas a blue value of 0x00 specifies that the color is to be completely lightened.

0x0300

Add a gray level RGB value. The blue field contains the gray level to add:

NewColor = SourceColor + gray

0x0400

Subtract a gray level RGB value. The blue field contains the gray level to subtract:

NewColor = SourceColor - gray

0x0500

Reverse-subtract a gray level RGB value. The blue field contains the gray level from which to subtract:

NewColor = gray - SourceColor

0x0600

If the color component being modified is less than the parameter contained in the blue field, set it to the minimum intensity. If the color component being modified is greater than or equal to the parameter, set it to the maximum intensity.

0x2000

After making other modifications, invert the color.

0x4000

After making other modifications, invert the color by toggling just the high bit of each color channel.

0x8000

Before making other modifications, convert the color to grayscale.

E - fSchemeIndex (1 bit): A bit that specifies whether the current application-defined color scheme will be used to determine the color. A value of 0x1 specifies that red will be treated as an index into the current color scheme table. If this value is 0x1, green and blue MUST be 0x00.

F - fSystemRGB (1 bit): A bit that specifies whether the color is a standard RGB color. The following table specifies the meaning of each value for this field.

Value

Meaning

0x0

The RGB color MAY use halftone dithering to display.

0x1

The color MUST be a solid color.

G - fPaletteRGB (1 bit): A bit that specifies whether the current palette will be used to determine the color. A value of 0x1 specifies that red, green, and blue contain an RGB value that will be matched in the current color palette. This color MUST be solid.

H - fPaletteIndex (1 bit): A bit that specifies whether the current palette will be used to determine the color. A value of 0x1 specifies that green and red will be treated as an unsigned 16-bit index into the current color palette. This color MAY<1> be dithered. If this value is 0x1, blue MUST be 0x00.

blue (1 byte): An unsigned integer that specifies the intensity of the blue color channel. A value of 0x00 has the minimum blue intensity. A value of 0xFF has the maximum blue intensity.

green (1 byte): An unsigned integer that specifies the intensity of the green color channel. A value of 0x00 has the minimum green intensity. A value of 0xFF has the maximum green intensity.

red (1 byte): An unsigned integer that specifies the intensity of the red color channel. A value of 0x00 has the minimum red intensity. A value of 0xFF has the maximum red intensity.