Поделиться через


функция D3DKMDT_VPPR_GET_OFFSET_ROTATION (d3dkmdt.h)

Вспомогающая функция, извлекающая угол смещения из заданного значения перечисления D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. Вызов этой функции должен вызывать только драйверы, поддерживающие поворот без пути (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION).

Синтаксис

D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_OFFSET_ROTATION(
  D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation
);

Параметры

Rotation

При входе значение из перечисления D3DKMDT_VIDPN_PRESENT_PATH_ROTATION.

В выходных данных значение от 1 до 4 включительно, соответствующее OFFSET части констант D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. Выходное значение 1 (удостоверение) представляет 0 градусов смещения, 2 — 90 градусов и т. д. Выходное значение 0 указывает, что путь VidPN не инициализирован.

Выходное значение всегда является одним из поддерживаемых значений, указанных для этого пути в структуре D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT.

Возвращаемое значение

Возвращаемое значение соответствует углу смещения следующим образом:

Значение перечисления входных данных Константы перечисления входных данных Смещение в градусах Значение поворота выходных данных
0 D3DKMDT_VPPR_UNINITIALIZED - 0
1 D3DKMDT_VPPR_IDENTITY 0 1
2 D3DKMDT_VPPR_ROTATE90 0 1
3 D3DKMDT_VPPR_ROTATE180 0 1
4 D3DKMDT_VPPR_ROTATE270 0 1
5 D3DKMDT_VPPR_IDENTITY_OFFSET90 90 2
6 D3DKMDT_VPPR_ROTATE90_OFFSET90 90 2
7 D3DKMDT_VPPR_ROTATE180_OFFSET90 90 2
8 D3DKMDT_VPPR_ROTATE270_OFFSET90 90 2
9 D3DKMDT_VPPR_IDENTITY_OFFSET180 180 3
10 D3DKMDT_VPPR_ROTATE90_OFFSET180 180 3
11 D3DKMDT_VPPR_ROTATE180_OFFSET180 180 3
12 D3DKMDT_VPPR_ROTATE270_OFFSET180 180 3
13 D3DKMDT_VPPR_IDENTITY_OFFSET270 270 4
14 D3DKMDT_VPPR_ROTATE90_OFFSET270 270 4
15 D3DKMDT_VPPR_ROTATE180_OFFSET270 270 4
16 D3DKMDT_VPPR_ROTATE270_OFFSET270 270 4

Замечания

Эта функция объявляется встроенной в D3dkmdt.h как:

__inline
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION 
    D3DKMDT_VPPR_GET_OFFSET_ROTATION(
        D3DKMDT_VIDPN_PRESENT_PATH_ROTATION Rotation)
{
    if ((Rotation >= D3DKMDT_VPPR_IDENTITY) &&
        (Rotation <= D3DKMDT_VPPR_ROTATE270_OFFSET270))
    {
        Rotation = (D3DKMDT_VIDPN_PRESENT_PATH_ROTATION)(
            ((Rotation - 1) / 4) + 1);
    }
    return Rotation;
}

Драйвер должен использовать выходное значение параметра поворота, чтобы повернуть содержимое вторичного клонированного пути, когда диспетчер окон рабочего стола (DWM) уже повернул основное содержимое пути клонирования. Дополнительные сведения см. в разделе Поддержки Path-Independent поворота.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8.1,DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION
минимальный поддерживаемый сервер Windows Server 2012 R2
целевая платформа Настольный
заголовка d3dkmdt.h

См. также

D3DKMDT_VIDPN_PRESENT_PATH_ROTATION

D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT