IDirectDrawSurface3::SetColorKey

The IDirectDrawSurface3::SetColorKey method sets the color key value for the DirectDrawSurface object if the hardware supports color keys on a per surface basis.

HRESULT SetColorKey(

DWORD dwFlags,

LPDDCOLORKEY lpDDColorKey

);

Parameters

dwFlags

Determines which color key is requested.

DDCKEY_COLORSPACE
  Set if the structure contains a color space. Not set if the structure contains a single color key.
DDCKEY_DESTBLT
  Set if the structure specifies a color key or color space to be used as a destination color key for blit operations.
DDCKEY_DESTOVERLAY
  Set if the structure specifies a color key or color space to be used as a destination color key for overlay operations.
DDCKEY_SRCBLT
  Set if the structure specifies a color key or color space to be used as a source color key for blit operations.
DDCKEY_SRCOVERLAY
  Set if the structure specifies a color key or color space to be used as a source color key for overlay operations.

lpDDColorKey

Address of the DDCOLORKEY structure that contains the new color key values for the DirectDrawSurface object.

Return Values

If the method succeeds, the return value is DD_OK.

If the method fails, the return value may be one of the following error values:

DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDSURFACETYPE
DDERR_NOOVERLAYHW
DDERR_NOTAOVERLAYSURFACE
DDERR_SURFACELOST
DDERR_UNSUPPORTED
DDERR_WASSTILLDRAWING

Remarks

For transparent blits and overlays, you should set destination color on the destination surface and source color on the source surface.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.

See Also

IDirectDrawSurface3::GetColorKey