Метод IDCompositionVisual::SetClip(IDCompositionClip*) (dcomp.h)

Задает для свойства Clip этого визуального элемента указанный объект clip. Свойство Clip ограничивает отрисовку поддеревь визуального элемента, которое коренится в этом визуальном элементе, прямоугольной областью.

Синтаксис

HRESULT SetClip(
  [in, optional] IDCompositionClip *clip
);

Параметры

[in, optional] clip

Тип: IDCompositionClip*

Объект clip, связанный с этим визуальным элементом. Этот параметр может принимать значение NULL. Все свойства float idCompositionRectangleClip имеют числовое ограничение от -2^21 до 2^21. API принимает числа за пределами этого диапазона, но они всегда зажаты в этом диапазоне.

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

Тип: HRESULT

Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .

Комментарии

При установке свойства Клип этот визуальный элемент будет обрезан вместе со всеми визуальными элементами в поддереве, которое коренится в этом визуальном элементе. Клип преобразуется с помощью свойств OffsetX, OffsetY и Transform.

Если свойство Clip ранее указывало прямоугольник клипа, то только что указанный объект Clip заменяет прямоугольник клипа.

Этот метод завершается ошибкой, если clip является недопустимым указателем или если он не был создан тем же интерфейсом IDCompositionDevice , который создал этот визуальный элемент. Интерфейс не может быть пользовательской реализацией; С этим методом можно использовать только интерфейсы, созданные Microsoft DirectComposition.

Если clip имеет значение NULL, визуальный элемент не обрезается относительно родительского элемента. Однако визуальный элемент обрезается объектом клипа родительского визуального элемента или ближайшим визуальным элементом-предком, который содержит объект clip. Установка значения NULL для клипа аналогична указанию объекта клипа, прямоугольник которого имеет отрицательную бесконечность левой и верхней сторон, а правую и нижнюю стороны — положительную бесконечность. Использование объекта клипа NULL приводит к немного более высокой производительности.

Если clip указывает объект clip с пустым прямоугольником, визуальный элемент полностью обрезается; то есть визуальный элемент включается в визуальное дерево, но он ничего не отображает. Чтобы исключить определенный визуальный элемент из композиции, удалите его из визуального дерева вместо установки пустого прямоугольника клипа. Удаление визуального элемента приводит к повышению производительности.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header dcomp.h
Библиотека Dcomp.lib
DLL Dcomp.dll

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

Усечение

IDCompositionRectangleClip

IDCompositionVisual