Fill Style

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