IDirectDrawSurface4::SetColorKey

The IDirectDrawSurface4::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. This value can be NULL to remove a previously set color key.

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/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.

See Also

IDirectDrawSurface4::GetColorKey