função D3DKMDT_VPPR_GET_CONTENT_ROTATION (d3dkmdt.h)
Uma função auxiliar que extrai a rotação combinada que o usuário vê da orientação de exibição padrão de um determinado valor da enumeração D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. Esse valor é efetivamente a soma do ângulo de deslocamento e o ângulo que o DWM (Gerenciador de Janelas da Área de Trabalho) já girou o conteúdo do caminho do clone primário. Somente os drivers que dão suporte à rotação independente de caminho (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION) devem chamar essa função.
Sintaxe
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_CONTENT_ROTATION(
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation
);
Parâmetros
Rotation
Na entrada, um valor da enumeração D3DKMDT_VIDPN_PRESENT_PATH_ROTATION.
Na saída, um valor entre 1 e 4, inclusive, que corresponde à parte OFFSET dos valores constantes D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. Um valor de saída de 1 (identidade) representa 0 graus de rotação total, 2 representa 90 graus e assim por diante. Um valor de saída de 0 indica que o caminho VidPN não é inicializado.
O valor de saída de Rotation é a soma dos valores de saída das funções D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART e D3DKMDT_VPPR_GET_OFFSET_ROTATION menos 1.
Valor de retorno
O valor retornado corresponde aos ângulos de rotação e deslocamento da seguinte maneira:
Valor de enumeração de entrada | Constante de enumeração de entrada | Rotação + deslocamento, em graus | Valor de Rotação de Saída |
---|---|---|---|
0 | D3DKMDT_VPPR_UNINITIALIZED | - | 0 |
1 | D3DKMDT_VPPR_IDENTITY | 0 | 1 |
2 | D3DKMDT_VPPR_ROTATE90 | 90 | 2 |
3 | D3DKMDT_VPPR_ROTATE180 | 180 | 3 |
4 | D3DKMDT_VPPR_ROTATE270 | 270 | 4 |
5 | D3DKMDT_VPPR_IDENTITY_OFFSET90 | 90 | 2 |
6 | D3DKMDT_VPPR_ROTATE90_OFFSET90 | 180 | 3 |
7 | D3DKMDT_VPPR_ROTATE180_OFFSET90 | 270 | 4 |
8 | D3DKMDT_VPPR_ROTATE270_OFFSET90 | 0 | 1 |
9 | D3DKMDT_VPPR_IDENTITY_OFFSET180 | 180 | 3 |
10 | D3DKMDT_VPPR_ROTATE90_OFFSET180 | 270 | 4 |
11 | D3DKMDT_VPPR_ROTATE180_OFFSET180 | 0 | 1 |
12 | D3DKMDT_VPPR_ROTATE270_OFFSET180 | 90 | 2 |
13 | D3DKMDT_VPPR_IDENTITY_OFFSET270 | 270 | 4 |
14 | D3DKMDT_VPPR_ROTATE90_OFFSET270 | 0 | 1 |
15 | D3DKMDT_VPPR_ROTATE180_OFFSET270 | 90 | 2 |
16 | D3DKMDT_VPPR_ROTATE270_OFFSET270 | 180 | 3 |
Observações
Essa função é declarada embutida em D3dkmdt.h como:
__inline
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION
D3DKMDT_VPPR_GET_CONTENT_ROTATION(
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation)
{
if ((Rotation >= D3DKMDT_VPPR_IDENTITY_OFFSET90) &&
(Rotation <= D3DKMDT_VPPR_ROTATE270_OFFSET270))
{
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION ContentPart =
D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART(Rotation);
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION OffsetPart =
D3DKMDT_VPPR_GET_OFFSET_ROTATION(Rotation);
Rotation = (D3DKMDT_VIDPN_PRESENT_PATH_ROTATION)(
(((ContentPart - 1) + (OffsetPart - 1)) % 4) + 1);
}
return Rotation;
}
Se o conteúdo que está sendo apresentado precisar ser girado pelo driver, a saída dessa função representará a rotação total (o Girar membro da estrutura DXGK_PRESENTFLAGS) que o driver precisa aplicar aos pixels fornecidos na operação DxgkDdiPresent. Para obter mais informações, consulte Suporte Path-Independent Rotation.
Aqui está um exemplo de como essa função pode fornecer ao driver as informações necessárias para girar corretamente o conteúdo. Quando um dispositivo portrait-first é conectado no modo clone a um monitor de paisagem e o usuário altera o de Orientação no painel de controle Display para Retrato, isso representa a orientação padrão do dispositivo retrato-primeiro. Portanto, o driver deve definir um valor de D3DKMDT_VIDPN_PRESENT_PATH_ROTATION.D3DKMDT_VPPR_ROTATE90_OFFSET270 no caminho. Essa função retornará um Rotação valor de 1 (identidade) para indicar que o conteúdo exibido no caminho do clone não deve ser girado.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 8.1,DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION |
servidor com suporte mínimo | Windows Server 2012 R2 |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dkmdt.h |
Consulte também
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION
D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART