Прочитать на английском

Поделиться через


Метод 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

Тип передачи. Определены следующие передачи:

DDBLTFAST_DESTCOLORKEY

Прозрачный bitblt, использующий ключ цвета назначения.

DDBLTFAST_NOCOLORKEY

Обычный bitblt копирования без прозрачности.

DDBLTFAST_SRCCOLORKEY

Прозрачный bitblt, использующий ключ цвета источника.

DDBLTFAST_WAIT

Откладывает 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

См. также раздел

IDirectDrawSurface7