функция D3DKMDT_VPPR_GET_CONTENT_ROTATION (d3dkmdt.h)
Вспомогающая функция, извлекающая объединенную смену, которую пользователь видит из ориентации отображения по умолчанию из заданного значения перечисления D3DKMDT_VIDPN_PRESENT_PATH_ROTATION. Это значение фактически является суммой угла смещения и угла, который диспетчер окон рабочего стола (DWM) уже повернул основное содержимое клонирования. Вызов этой функции должен вызывать только драйверы, поддерживающие поворот без пути (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM1_3_PATH_INDEPENDENT_ROTATION).
Синтаксис
D3DKMDT_VIDPN_PRESENT_PATH_ROTATION D3DKMDT_VPPR_GET_CONTENT_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_VPPR_GET_CONTENT_ROTATION_PART и D3DKMDT_VPPR_GET_OFFSET_ROTATION функций минус 1.
Возвращаемое значение
Возвращаемое значение соответствует углам поворота и смещения следующим образом:
Значение перечисления входных данных | Константы перечисления входных данных | Поворот и смещение, в градусах | Значение поворота выходных данных |
---|---|---|---|
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 |
Замечания
Эта функция объявляется встроенной в D3dkmdt.h как:
__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;
}
Если представленное содержимое должно повернуться драйвером, выходные данные этой функции представляют общий поворот (поворот член структуры DXGK_PRESENTFLAGS), который драйвер должен применить к пикселям, предоставленным в операции DxgkDdiPresent. Дополнительные сведения см. в разделе Поддержки Path-Independent поворота.
Ниже приведен пример того, как эта функция может предоставить драйверу сведения, необходимые для правильного поворота содержимого. Когда книжное устройство подключено в режиме клонирования к альбомным монитором, а пользователь изменяет ориентацию на панели управления Display на книжной, это представляет ориентацию по умолчанию на книжном устройстве. Поэтому драйвер должен задать значение D3DKMDT_VIDPN_PRESENT_PATH_ROTATION.D3DKMDT_VPPR_ROTATE90_OFFSET270 пути. Затем эта функция возвращает значение поворота 1 (удостоверение), чтобы указать, что содержимое, отображаемое на пути клонирования, не должно быть вращаемым.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | 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_VPPR_GET_CONTENT_ROTATION_PART