funzione D3DKMDT_VPPR_GET_CONTENT_ROTATION (d3dkmdt.h)
Funzione helper che estrae la rotazione combinata visualizzata dall'orientamento di visualizzazione predefinito da un determinato valore dell'enumerazione D3DKMDT_VIDPN_PRESENT_PATH_ROTATION . Questo valore è effettivamente la somma dell'angolo di offset e l'angolo in cui Desktop Window Manager (DWM) ha già ruotato il contenuto del percorso clone primario. Solo i driver che supportano la rotazione indipendente dal percorso (DXGKDDI_INTERFACE_VERSION = DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION >) devono chiamare questa funzione.
Sintassi
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_CONTENT_ROTATION(
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation
);
Parametri
Rotation
In input, un valore dell'enumerazione D3DKMDT_VIDPN_PRESENT_PATH_ROTATION .
In output, un valore compreso tra 1 e 4, inclusivo, che corrisponde alla parte OFFSET dei valori costanti D3DKMDT_VIDPN_PRESENT_PATH_ROTATION . Un valore di output pari a 1 (identità) rappresenta 0 gradi di rotazione totale, 2 rappresenta 90 gradi e così via. Un valore di output pari a 0 indica che il percorso VidPN non viene inizializzato.
Il valore di output di Rotation è la somma dei valori di output delle funzioni D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART e D3DKMDT_VPPR_GET_OFFSET_ROTATION meno 1.
Valore restituito
Il valore restituito corrisponde agli angoli di rotazione e offset come indicato di seguito:
Valore di enumerazione di input | Costante di enumerazione di input | Rotazione + offset, in gradi | Valore di rotazione dell'output |
---|---|---|---|
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 |
Commenti
Questa funzione è dichiarata inline in D3dkmdt.h come:
__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 il contenuto presentato deve essere ruotato dal driver, l'output di questa funzione rappresenta la rotazione totale (il membro Ruota della struttura DXGK_PRESENTFLAGS) che il driver deve applicare ai pixel forniti nell'operazione DxgkDdiPresent. Per altre informazioni, vedere Supporto Path-Independent rotazione.
Ecco un esempio di come questa funzione può fornire al driver le informazioni necessarie per ruotare correttamente il contenuto. Quando un dispositivo verticale è connesso in modalità clone a un monitor orizzontale e l'utente modifica l'orientamento nel pannello di controllo Visualizzazione in Verticale, questo rappresenta l'orientamento predefinito del dispositivo verticale. Pertanto, il driver deve impostare un valore di D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. D3DKMDT_VPPR_ROTATE90_OFFSET270 sul percorso. Questa funzione restituirà quindi un valore di rotazione pari a 1 (identità) per indicare che il contenuto visualizzato nel percorso clone non deve essere ruotato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1,DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION |
Server minimo supportato | Windows Server 2012 R2 |
Piattaforma di destinazione | Desktop |
Intestazione | d3dkmdt.h |
Vedi anche
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION
D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per