Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вспомогающая функция, извлекающая объединенную смену, которую пользователь видит из ориентации отображения по умолчанию из заданного значения перечисления 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