Two main colors are defined - a foreground color and a background color. Different fillTypes use these values differently. In addition to the foreground and background any number of shade colors can be defined. Each shade color is associated with a "position" which says how far into the shade the color appears – colors must be given in position order.
For a solid fill the foreground color is used and the background (and everything else except transparency) is ignored. For pattern and texture fills the fillBlip identifies a BLIP, which will be used for the fill.
fillWidth and fillHeight define the desired pattern/texture size in EMUs. The pattern/tile will be expanded to this size. If the pattern is a bitmap the actual size will be rounded to a close integer multiple of the original (pixel) size of the bitmap. If the size is 0 then the pattern/tile will not be expanded or contracted at all in pixel terms, so the fill will be device dependent - this may result in non-proportional scaling between devices (on devices with non-square pixels).
For a pattern the foreground and background colors define the colors to use when filling with a pattern, for a texture the colors are in the bitmap (this is the only difference).
For both pattern and texture fills the fill is registered with (0,0) on the view in which the effect appears unless fillShape is set to TRUE, in which case the pattern/texture is registered relative to the shape (so it moves with the shape).
For a picture fill the fillBlip is centered in the shape - not tiled.
For a shaded fill the colors define shade bands to use across the shade, shading between each pair of colors. The positions are the positions of the shade at which the given color appears - the shade ends with the first index that is >= 1 (in 16.16 notation), the indices must be in ascending order or the result is undefined. The interpretation of the shade start and shade end points varies according to the exact shade type.
The fillBackground fill indicates a fill inherited from a background object.
Property | PID | Type | Default | Description | ||
fillType | 384 | MSOFILLTYPE | Solid | Type of fill | ||
fillColor | 385 | MSOCLR | white | Foreground color | ||
fillOpacity | 386 | LONG | 1<<16 | Fixed 16.16 | ||
fillBackColor | 387 | MSOCLR | white | Background color | ||
fillBackOpacity | 388 | LONG | 1<<16 | Shades only | ||
fillCrMod | 389 | MSOCLR | undefined | Modification for BW views | ||
fillBlip | 390 | IMsoBlip* | NULL | Pattern/texture | ||
fillBlipName | 391 | WCHAR* | NULL | Blip file name | ||
fillBlipFlags | 392 | MSOBLIPFLAGS | Comment | Blip flags | ||
fillWidth | 393 | LONG | 0 | How big (A units) to make a metafile texture. | ||
fillHeight | 394 | LONG | 0 | |||
fillAngle | 395 | LONG | 0 | Fade angle - degrees in 16.16 | ||
fillFocus | 396 | LONG | 0 | Linear shaded fill focus percent | ||
fillToLeft | 397 | LONG | 0 | Fraction 16.16 | ||
fillToTop | 398 | LONG | 0 | Fraction 16.16 | ||
fillToRight | 399 | LONG | 0 | Fraction 16.16 | ||
fillToBottom | 400 | LONG | 0 | Fraction 16.16 | ||
fillRectLeft | 401 | LONG | 0 | For shaded fills, use the specified rectangle instead of the shape's bounding rect to define how large the fade is going to be. | ||
fillRectTop | 402 | LONG | 0 | |||
fillRectRight | 403 | LONG | 0 | |||
fillRectBottom | 404 | LONG | 0 | |||
fillDztype | 405 | MSODZTYPE | Default | |||
fillShadePreset | 406 | LONG | 0 | Special shades | ||
fillShadeColors | 407 | IMsoArray | NULL | a preset array of colors | ||
fillOriginX | 408 | LONG | 0 | |||
fillOriginY | 409 | LONG | 0 | |||
fillShapeOriginX | 410 | LONG | 0 | |||
fillShapeOriginY | 411 | LONG | 0 | |||
fillShadeType | 412 | MSOSHADETYPE | Default | Type of shading, if a shaded (gradient) fill. | ||
fFilled | 443 | BOOL | TRUE | Is shape filled? | ||
fHitTestFill | 444 | BOOL | TRUE | Should we hit test fill? | ||
fillShape | 445 | BOOL | TRUE | Register pattern on shape | ||
fillUseRect | 446 | BOOL | FALSE | Use the large rect? | ||
fNoFillHitTest | 447 | BOOL | FALSE | Hit test a shape as though filled |