Método ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE) (d2d1.h)
Especifica um retângulo ao qual todas as operações de desenho subsequentes são recortadas.
Sintaxe
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
Parâmetros
clipRect
Tipo: [in] const D2D1_RECT_F*
O tamanho e a posição da área de recorte, em pixels independentes do dispositivo.
antialiasMode
Tipo: [in] D2D1_ANTIALIAS_MODE
O modo de suavização usado para desenhar as bordas de rects de clipe que têm limites de subpixel e para misturar o clipe com o conteúdo da cena. A mesclagem é executada uma vez quando o método PopAxisAlignedClip é chamado e não se aplica a cada primitivo dentro da camada.
Valor retornado
Nenhum
Comentários
O clipRect é transformado pela transformação do mundo atual definida no destino de renderização. Depois que a transformação é aplicada ao clipRect que é passado, a caixa delimitadora alinhada ao eixo do clipRect é computada. Para eficiência, o conteúdo é recortado para essa caixa delimitadora alinhada ao eixo e não para o clipRect original que é passado.
Os diagramas a seguir mostram como uma transformação de rotação é aplicada ao destino de renderização, ao clipRect resultante e a uma caixa delimitadora alinhada ao eixo calculado.
- Suponha que o retângulo na ilustração a seguir seja um destino de renderização alinhado aos pixels da tela.
- Aplique uma transformação de rotação ao destino de renderização. Na ilustração a seguir, o retângulo preto representa o destino de renderização original e o retângulo vermelho tracejado representa o destino de renderização transformado.
- Depois de chamar PushAxisAlignedClip, a transformação de rotação é aplicada ao clipRect. Na ilustração a seguir, o retângulo azul representa o clipRect transformado.
- A caixa delimitadora alinhada ao eixo é calculada. O retângulo tracejado verde representa a caixa delimitadora na ilustração a seguir. Todo o conteúdo é recortado nessa caixa delimitadora alinhada ao eixo.
Um par PushAxisAlignedClip e PopAxisAlignedClip pode ocorrer ao redor ou dentro de um PushLayer e PopLayer, mas não pode se sobrepor. Por exemplo, a sequência de PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip é válida, mas a sequência de PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer é inválida.
Esse método não retornará um código de erro se falhar. Para determinar se uma operação de desenho (como PushAxisAlignedClip) falhou, marcar o resultado retornado pelos métodos ID2D1RenderTarget::EndDraw ou ID2D1RenderTarget::Flush.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d2d1.h (inclua D2d1.h) |
Biblioteca | D2d1.lib |
DLL | D2d1.dll |