Метод IDirectDrawSurface7::BltFast (ddraw.h)
Выполняет исходное копирование bitblt или прозрачный bitblt с помощью ключа исходного цвета или ключа цвета назначения.
HRESULT BltFast(
[in] DWORD unnamedParam1,
[in] DWORD unnamedParam2,
[in] LPDIRECTDRAWSURFACE7 unnamedParam3,
[in] LPRECT unnamedParam4,
[in] DWORD unnamedParam5
);
[in] unnamedParam1
Координата по оси X, в который будет выполняться bitblt на целевой поверхности.
[in] unnamedParam2
Координата по оси Y, в который будет выполняться bitblt на целевой поверхности.
[in] unnamedParam3
Указатель на интерфейс IDirectDrawSurface7 для объекта DirectDrawSurface, который является источником bitblt.
[in] unnamedParam4
Указатель на структуру RECT , определяющую верхнюю левую и нижнюю правые точки прямоугольника для bitblt на исходной поверхности.
[in] unnamedParam5
Тип передачи. Определены следующие передачи:
Прозрачный bitblt, использующий ключ цвета назначения.
Обычный bitblt копирования без прозрачности.
Прозрачный bitblt, использующий ключ цвета источника.
Откладывает DDERR_WASSTILLDRAWING сообщение, если bitbltter занят, и возвращается, как только bitblt можно будет настроить или возникнет другая ошибка.
Если метод выполнен успешно, возвращаемое значение будет DD_OK.
В случае сбоя метод может вернуть одно из следующих значений ошибки:
- DDERR_EXCEPTION
- DDERR_GENERIC
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDRECT
- DDERR_NOBLTHW
- DDERR_SURFACEBUSY
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
- DDERR_WASSTILLDRAWING
BltFast всегда пытается выполнить асинхронную подсветку, если она поддерживается оборудованием.
BltFast работает только на поверхностях памяти дисплея и не может обрезать при выполнении операции bitblt. Если этот метод используется на поверхности с подключенным клиппером, вызов завершается ошибкой, и метод возвращает DDERR_UNSUPPORTED.
Программная реализация IDirectDrawSurface7::BltFast на 10 процентов быстрее, чем метод IDirectDrawSurface7::Blt . Однако при использовании оборудования для отображения между ними нет разницы в скорости.
Как правило, функция IDirectDrawSurface7::BltFast возвращается немедленно с ошибкой, если bitbltter занят и bitblt не удается настроить. Однако можно использовать флаг DDBLTFAST_WAIT, если вы хотите, чтобы этот метод не возвращал, пока не удастся настроить bitblt или не возникнет другая ошибка.
Целевая платформа | Windows |
Header | ddraw.h |
Библиотека | Ddraw.lib |
DLL | Ddraw.dll |