Метод ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE) (d2d1.h)
Задает прямоугольник, к которому обрезаются все последующие операции рисования.
Синтаксис
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
Параметры
clipRect
Тип: [in] const D2D1_RECT_F*
Размер и положение области обрезки в аппаратно-независимых пикселях.
antialiasMode
Тип: [in] D2D1_ANTIALIAS_MODE
Режим сглаживания, используемый для рисования краев прямоугольника клипа с границами субпикселя, а также для смешивания клипа с содержимым сцены. Смешивание выполняется один раз при вызове метода PopAxisAlignedClip и не применяется к каждому примитиву в слое.
Возвращаемое значение
None
Remarks
ClipRect преобразуется текущим преобразованием мира, заданным в целевом объекте отрисовки. После применения преобразования к объекту clipRect , который передается, вычисляется выровненный по оси ограничивающий прямоугольник для clipRect . Для повышения эффективности содержимое обрезается в этот выровненный по оси ограничивающий прямоугольник, а не к исходному объекту clipRect , который передается.
На следующих схемах показано, как преобразование поворота применяется к целевому объекту отрисовки, результирующему объекту clipRect и выравниваемой по оси ограничивающей рамке.
- Предположим, что прямоугольник на следующем рисунке является целевым объектом отрисовки, выровненным по пикселям экрана.
- Примените преобразование поворота к целевому объекту отрисовки. На следующем рисунке черный прямоугольник представляет исходный целевой объект отрисовки, а красный пунктирный прямоугольник представляет преобразованный целевой объект отрисовки.
- После вызова PushAxisAlignedClip к clipRect применяется преобразование поворота. На следующем рисунке синий прямоугольник представляет преобразованный clipRect.
- Вычисляется ограничивающий прямоугольник, выровненный по оси. Зеленый пунктирный прямоугольник представляет ограничивающий прямоугольник на следующем рисунке. Все содержимое обрезается в ограничивающий прямоугольник, выровненный по оси.
Пара PushAxisAlignedClip и PopAxisAlignedClip может возникать вокруг или внутри PushLayer и PopLayer, но не может перекрываться. Например, последовательность PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip является допустимой, но последовательность PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer недопустима.
Этот метод не возвращает код ошибки в случае сбоя. Чтобы определить, завершилась ли операция рисования (например, PushAxisAlignedClip), проверка результат, возвращаемый методами ID2D1RenderTarget::EndDraw или ID2D1RenderTarget::Flush.
Требования
Целевая платформа | Windows |
Header | d2d1.h (включая D2d1.h) |
Библиотека | D2d1.lib |
DLL | D2d1.dll |