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
);
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. |
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 |
For transparent blits and overlays, you should set destination color on the destination surface and source color on the source surface.
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.
IDirectDrawSurface3::GetColorKey