Share via


IDirectDrawSurface5::BltFast

This method performs a source copy blit or a transparent blit by using a source color key or destination color key.

HRESULT BltFast(
  DWORD dwX, 
  DWORD dwY, 
  LPDIRECTDRAWSURFACE4 lpDDSrcSurface, 
  LPRECT lpSrcRect, 
  DWORD dwTrans
); 

Parameters

  • dwX
    x-coordinate to blit to on the destination surface.
  • dwY
    y-coordinate to blit to on the destination surface.
  • lpDDSrcSurface
    Address of an IDirectDrawSurface5 interface for the DirectDrawSurface object that is the source of the blit.
  • lpSrcRect
    Address of a RECT structure that defines the upper-left and lower-right points of the rectangle to blit from on the source surface.
  • dwTrans
    Type of transfer. The following table shows the possible types.
    Type Description
    DDBLTFAST_DESTCOLORKEY Specifies a transparent blit that uses the destination's color key.
    DDBLTFAST_NOCOLORKEY Specifies a normal copy blit with no transparency.
    DDBLTFAST_SRCCOLORKEY Specifies a transparent blit that uses the source's color key.
    DDBLTFAST_WAIT Postpones the DDERR_WASSTILLDRAWING message if the blitter is busy, and returns as soon as the blit can be set up or when another error occurs.

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_EXCEPTION
DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDRECT
DDERR_NOBLTHW
DDERR_SURFACEBUSY
DDERR_SURFACELOST
DDERR_UNSUPPORTED
DDERR_WASSTILLDRAWING

Remarks

This method always attempts an asynchronous blit if it is supported by the hardware.

This method works only on display memory surfaces and cannot clip when blitting. If you use this method on a surface with an attached clipper, the call will fail and the method will return DDERR_UNSUPPORTED.

The software implementation of IDirectDrawSurface5::BltFast is 10 percent faster than the IDirectDrawSurface5::Blt method. However, there is no speed difference between the two if display hardware is being used.

Typically, IDirectDrawSurface5::BltFast returns immediately with an error if the blitter is busy and the blit cannot be set up. You can use the DDBLTFAST_WAIT flag, however, if you want this method to not return until either the blit can be set up or another error occurs.

Requirements

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header: Ddraw.h.
Link Library: Ddraw.lib.

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.