Compartilhar via


Método IDCompositionVisual3::SetTransform(IDCompositionTransform3D*) (dcomp.h)

Define a propriedade Transform desse visual como o objeto de transformação 3D especificado.

Sintaxe

HRESULT SetTransform(
  [in, optional] IDCompositionTransform3D *transform
);

Parâmetros

[in, optional] transform

Tipo: IDCompositionTransform3D*

O objeto de transformação usado para modificar o sistema de coordenadas desse visual. Esse parâmetro pode apontar para uma interface IDCompositionTransform ou uma de suas interfaces derivadas. Este parâmetro pode ser NULL.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Confira Códigos de erro do DirectComposition para obter uma lista de códigos de erro.

Comentários

Definir a propriedade Transform transforma o sistema de coordenadas de toda a subárvore visual com raiz nesse visual. Se a propriedade Clip desse visual for especificada, o retângulo de clipe também será transformado.

Se a propriedade Transform tiver especificado anteriormente uma matriz de transformação, o objeto de transformação recém-especificado substituirá a matriz de transformação.

Uma transformação especificada pela propriedade Transform é aplicada após as propriedades OffsetX e OffsetY. Em outras palavras, o efeito de definir a propriedade Transform e as propriedades OffsetX e OffsetY é o mesmo que definir apenas a propriedade Transform em um grupo de transformação em que o primeiro membro do grupo é um objeto IDCompositionTranslateTransform que tem os mesmos valores OffsetX e OffsetY. No entanto, você deve usar os métodos IDCompositionVisual::SetOffsetX e SetOffsetY sempre que possível, pois eles são um pouco mais rápidos.

Esse método falhará se a transformação for um ponteiro inválido ou se não tiver sido criada pela mesma interface IDCompositionDevice que criou esse visual. A interface não pode ser uma implementação personalizada; somente interfaces criadas pelo Microsoft DirectComposition podem ser usadas com esse método.

Se o parâmetro de transformação for NULL, o sistema de coordenadas desse visual será transformado apenas por suas propriedades OffsetX e OffsetY. Definir a propriedade Transform como NULL é equivalente a defini-la como um objeto IDCompositionMatrixTransform em que a matriz especificada é a matriz de identidade. No entanto, um aplicativo deve definir a propriedade Transform como NULL sempre que possível porque é um pouco mais rápido.

Se as propriedades OffsetX e OffsetY estiverem definidas como 0 e a propriedade Transform estiver definida como NULL, o sistema de coordenadas do visual será o mesmo que o de seu pai.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dcomp.h
Biblioteca Dcomp.lib
DLL Dcomp.dll

Confira também

IDCompositionMatrixTransform

IDCompositionRotateTransform

IDCompositionScaleTransform

IDCompositionSkewTransform

IDCompositionTransform

IDCompositionTranslateTransform

IDCompositionVisual

IDCompositionVisual3

IDCompositionVisual::SetOffsetX

IDCompositionVisual::SetOffsetY