Microsoft DirectX 8.1 (C++)

CImagePalette::CImagePalette

Constructor method.

Syntax

CImagePalette(
    CBaseFilter *pBaseFilter,
    CBaseWindow *pBaseWindow,
    CDrawImage *pDrawImage
);

Parameters

pBaseFilter

Pointer to the filter that owns this class.

pBaseWindow

Pointer to the window to realize palette in.

pDrawImage

Pointer to the object that draws using this palette.

Return Value

No return value.

Remarks

This class looks after the creation, management, and deletion of a window palette. It is passed in a number of other objects that might be interested in palettes. The class is optimized so that requested palette changes will be acted on only if the new set of colors differs from the current set. This is a performance optimization, because changing palettes is an expensive process.

This constructor is passed in the owning filter (pBaseFilter), which must be a valid pointer. When the class actually creates a palette, it tells the owning filter to send an EC_PALETTE_CHANGED message to the filter graph manager. The constructor might also be passed two further object pointers. If pBaseWindow is not null, when the renderer creates a new palette the class automatically installs it in this window. When told to remove a palette, the class also removes the palette from the base window and installs a standard VGA palette instead.

The constructor can also be passed a drawing object derived from the CDrawImage class. If this is non-NULL, when creating a new palette the class will inform the drawing object that the palette has changed (this is usually used in conjunction with a window object). This ensures that the drawing object is notified when the palette changes so that it can update any samples it has that were created using CreateDIBSection (because they might need their internal color tables updated).

See Also