Id2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE) (d2d1.h)
Especifica un rectángulo al que se recortan todas las operaciones de dibujo posteriores.
Sintaxis
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
Parámetros
clipRect
Tipo: [in] const D2D1_RECT_F*
El tamaño y la posición del área de recorte, en píxeles independientes del dispositivo.
antialiasMode
Tipo: [in] D2D1_ANTIALIAS_MODE
Modo de suavizado de contorno que se usa para dibujar los bordes de los rects de clip que tienen límites de subpixel y para combinar el clip con el contenido de la escena. La combinación se realiza una vez cuando se llama al método PopAxisAlignedClip y no se aplica a cada primitivo dentro de la capa.
Valor devuelto
None
Observaciones
ClipRect se transforma mediante la transformación del mundo actual establecida en el destino de representación. Después de aplicar la transformación al clipRect que se pasa, se calcula el cuadro de límite alineado con el eje para clipRect . Para mejorar la eficacia, el contenido se recorta en este rectángulo de límite alineado con el eje y no en el clipRect original que se pasa.
En los diagramas siguientes se muestra cómo se aplica una transformación de rotación al destino de representación, el clipRect resultante y un cuadro de límite alineado con el eje calculado.
- Supongamos que el rectángulo de la ilustración siguiente es un destino de representación que está alineado con los píxeles de pantalla.
- Aplique una transformación de rotación al destino de representación. En la ilustración siguiente, el rectángulo negro representa el destino de representación original y el rectángulo discontinuo rojo representa el destino de representación transformado.
- Después de llamar a PushAxisAlignedClip, la transformación de rotación se aplica a clipRect. En la ilustración siguiente, el rectángulo azul representa el clipRect transformado.
- Se calcula el rectángulo de límite alineado con el eje. El rectángulo de guiones verde representa el cuadro de límite de la ilustración siguiente. Todo el contenido se recorta en este rectángulo de límite alineado con el eje.
Un par PushAxisAlignedClip y PopAxisAlignedClip pueden producirse alrededor o dentro de pushLayer y PopLayer, pero no se puede superponer. Por ejemplo, la secuencia de PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip es válida, pero la secuencia de PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer no es válida.
Este método no devuelve un código de error si se produce un error. Para determinar si se produjo un error en una operación de dibujo (como PushAxisAlignedClip), compruebe el resultado devuelto por los métodos ID2D1RenderTarget::EndDraw o ID2D1RenderTarget::Flush .
Requisitos
Plataforma de destino | Windows |
Encabezado | d2d1.h (incluya D2d1.h) |
Library | D2d1.lib |
Archivo DLL | D2d1.dll |