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


Метод IDirectDrawSurface7::SetClipper (ddraw.h)

Присоединяет объект clipper к этой поверхности или удаляет его из нее.

Синтаксис

HRESULT SetClipper(
  [in] LPDIRECTDRAWCLIPPER unnamedParam1
);

Параметры

[in] unnamedParam1

Указатель на интерфейс IDirectDrawClipper для объекта DirectDrawClipper, присоединенного к объекту DirectDrawSurface. Если для этого параметра задано значение NULL, текущий объект DirectDrawClipper отсоединяется.

Возвращаемое значение

Если метод выполнен успешно, возвращаемое значение будет DD_OK.

В случае сбоя метод может вернуть одно из следующих значений ошибки:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDSURFACETYPE
  • DDERR_NOCLIPPERATTACHED

Комментарии

Когда вы впервые устанавливаете клиппер на поверхность, SetClipper увеличивает число ссылок клипера; последующие вызовы не влияют на количество ссылок clipper. Если передать значение NULL в качестве параметра lpDDClipper , clipper удаляется с поверхности, а количество ссылок клипера уменьшается. Если не удалить клиппер, поверхность автоматически отпускает ссылку на клиппер при освобождении самой поверхности. В соответствии с правилами COM приложение должно освобождать все ссылки, которые оно содержит в clipper, когда объект больше не нужен.

SetClipper в основном используется поверхностями, которые накладываются на основную поверхность или прикрепляются к ней. Однако его можно использовать на любой поверхности. После присоединения объекта DirectDrawClipper и связывания с ним списка клипов объект DirectDrawClipper используется для операций IDirectDrawSurface7::Blt, IDirectDrawSurface7::BltBatch и IDirectDrawSurface7::UpdateOverlay , которые включают родительский объект DirectDrawSurface. SetClipper также может отсоединить текущий объект DirectDrawClipper объекта DirectDrawSurface.

Требования

   
Целевая платформа Windows
Header ddraw.h
Библиотека Ddraw.lib
DLL Ddraw.dll

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

IDirectDrawSurface7