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