The IDirectDrawSurface3::BltFast method performs a source copy blit or transparent blit by using a source color key or destination color key.
HRESULT BltFast(
DWORD dwX,
DWORD dwY,
LPDIRECTDRAWSURFACE3 lpDDSrcSurface,
LPRECT lpSrcRect,
DWORD dwTrans
);
Parameters
dwX and dwY
The x- and y-coordinates to blit to on the destination surface.
lpDDSrcSurface
Address of the DirectDraw surface that is the source for the blit operation.
lpSrcRect
Address of a RECT structure that defines the upper-left and lower-right points of the rectangle on the source surface to be blitted from.
dwTrans
Type of transfer.
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 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 IDirectDrawSurface3::BltFast is 10 percent faster than the IDirectDrawSurface3::Blt method. However, there is no speed difference between the two if display hardware is being used.
Typically, IDirectDrawSurface3::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.
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.