D3DKMDT_VPPR_GET_CONTENT_ROTATION-Funktion (d3dkmdt.h)
Eine Hilfsfunktion, die die kombinierte Drehung extrahiert, die dem Benutzer aus der Standardanzeigeausrichtung aus einem bestimmten Wert der D3DKMDT_VIDPN_PRESENT_PATH_ROTATION-Enumeration angezeigt wird. Dieser Wert ist effektiv die Summe des Offsetwinkels und des Winkels, den der Desktopfenster-Manager (DWM) bereits gedreht hat. Nur Treiber, die eine pfadunabhängige Rotation (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION) unterstützen, sollten diese Funktion aufrufen.
Syntax
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_CONTENT_ROTATION(
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation
);
Parameter
Rotation
Bei der Eingabe ein Wert aus der D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Enumeration.
In der Ausgabe ein Wert zwischen 1 und 4, einschließlich, der dem OFFSET-Teil des D3DKMDT_VIDPN_PRESENT_PATH_ROTATION konstanten Werten entspricht. Ein Ausgabewert von 1 (Identität) stellt 0 Grad der Gesamtrotation, 2 90 Grad usw. dar. Der Ausgabewert 0 gibt an, dass der VidPN-Pfad nicht initialisiert wird.
Der Ausgabewert von Rotation ist die Summe der Ausgabewerte der D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART und D3DKMDT_VPPR_GET_OFFSET_ROTATION Funktionen minus 1.
Rückgabewert
Der zurückgegebene Wert entspricht den Dreh- und Offsetwinkeln wie folgt:
Eingabeaufzählungswert | Eingabeaufzählungskonstante | Drehung + Offset, in Grad | Ausgaberotationswert |
---|---|---|---|
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 |
Hinweise
Diese Funktion wird in "D3dkmdt.h" als inline deklariert:
__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;
}
Wenn der angezeigte Inhalt vom Treiber gedreht werden muss, stellt die Ausgabe dieser Funktion die Gesamtrotation (das Rotieren-Element der DXGK_PRESENTFLAGS-Struktur ) dar, die der Treiber auf die im DxgkDdiPresent-Vorgang bereitgestellten Pixel anwenden muss. Weitere Informationen finden Sie unter Unterstützung Path-Independent Drehung.
Hier sehen Sie ein Beispiel dafür, wie diese Funktion Ihrem Treiber die Informationen bereitstellen kann, die er zum ordnungsgemäßen Rotieren von Inhalten benötigt. Wenn ein Hochformatgerät im Klonmodus mit einem Monitor im Querformat verbunden ist und der Benutzer die Ausrichtungim Anzeige-Bedienfeld in Hochformat ändert, stellt dies die Standardausrichtung des Geräts im Hochformat dar. Daher sollte der Treiber den Wert D3DKMDT_VIDPN_PRESENT_PATH_ROTATION festlegen. D3DKMDT_VPPR_ROTATE90_OFFSET270 auf den Pfad. Diese Funktion gibt dann den Rotationswert 1 (Identität) zurück, um anzugeben, dass der im Klonpfad angezeigte Inhalt nicht gedreht werden soll.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1,DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 |
Zielplattform | Desktop |
Kopfzeile | d3dkmdt.h |
Weitere Informationen
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION
D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART