D3DKMDT_VPPR_GET_CONTENT_ROTATION (d3dkmdt.h)
Fungsi pembantu yang mengekstrak rotasi gabungan yang dilihat pengguna dari orientasi tampilan default dari nilai tertentu dari enumerasi D3DKMDT_VIDPN_PRESENT_PATH_ROTATION . Nilai ini secara efektif adalah jumlah sudut offset dan sudut bahwa Desktop Window Manager (DWM) telah memutar konten jalur klon utama. Hanya driver yang mendukung rotasi independen jalur (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION) yang harus memanggil fungsi ini.
Sintaks
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_CONTENT_ROTATION(
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation
);
Parameter
Rotation
Pada input, nilai dari enumerasi D3DKMDT_VIDPN_PRESENT_PATH_ROTATION .
Pada output, nilai antara 1 dan 4, inklusif, yang sesuai dengan bagian OFFSET dari nilai konstanta D3DKMDT_VIDPN_PRESENT_PATH_ROTATION . Nilai output 1 (identitas) mewakili 0 derajat dari total rotasi, 2 mewakili 90 derajat, dan sebagainya. Nilai output 0 menunjukkan bahwa jalur VidPN tidak diinisialisasi.
Nilai output Rotasi adalah jumlah nilai output dari fungsi D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART dan D3DKMDT_VPPR_GET_OFFSET_ROTATION dikurangi 1.
Nilai kembali
Nilai yang dikembalikan sesuai dengan sudut rotasi dan offset sebagai berikut:
Nilai enumerasi input | Konstanta enumerasi input | Rotasi + offset, dalam derajat | Nilai Rotasi 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 |
Keterangan
Fungsi ini dinyatakan sebaris dalam D3dkmdt.h sebagai:
__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;
}
Jika konten yang disajikan harus diputar oleh driver, output fungsi ini mewakili rotasi total (anggota Putar struktur DXGK_PRESENTFLAGS ) yang perlu diterapkan driver ke piksel yang disediakan dalam operasi DxgkDdiPresent . Untuk informasi selengkapnya, lihat Mendukung Rotasi Path-Independent.
Berikut adalah contoh bagaimana fungsi ini dapat memberi driver Anda info yang diperlukan untuk memutar konten dengan benar. Ketika perangkat portrait-first terhubung dalam mode kloning ke monitor yang mengutamakan lanskap dan pengguna mengubah Orientasi di panel Kontrol tampilan menjadi Potret, ini mewakili orientasi default perangkat yang mengutamakan potret. Oleh karena itu driver harus menetapkan nilai D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. D3DKMDT_VPPR_ROTATE90_OFFSET270 di jalur. Fungsi ini kemudian akan mengembalikan nilai Rotasi 1 (identitas) untuk menunjukkan bahwa konten yang ditampilkan pada jalur kloning tidak akan diputar.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8.1,DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION |
Server minimum yang didukung | Windows Server 2012 R2 |
Target Platform | Desktop |
Header | d3dkmdt.h |
Lihat juga
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION
D3DKMDT_VPPR_GET_CONTENT_ROTATION_PART