Описание
Используйте API system.display
для запроса метаданных отображения.
Разрешения
system.display
Типы
ActiveState
Перечисление, указывающее, обнаружен ли дисплей и используется ли системой. Дисплей считается «неактивным», если он не обнаружен системой (возможно, отключен или считается отключенным из-за спящего режима и т. д.). Это состояние используется для сохранения существующего дисплея, например, когда все дисплеи отключены.
Перечисление
"активный" "неактивный"
Bounds
Характеристики
- высота
число
Высота дисплея в пикселях.
- левый
число
Координата X верхнего левого угла.
- вершина
число
Координата Y верхнего левого угла.
- ширина
число
Ширина дисплея в пикселях.
DisplayLayout
Характеристики
- идентификатор
нить
Уникальный идентификатор дисплея.
- компенсировать
число
Смещение дисплея вдоль соединенного края. 0 означает, что самые верхние или самые левые углы выровнены.
- родительский идентификатор
нить
Уникальный идентификатор родительского дисплея. Пусто, если это корень.
- позиция
Положение макета этого дисплея относительно родительского. Это будет игнорироваться для root.
DisplayMode
Характеристики
- устройствоScaleFactor
число
Масштабный коэффициент устройства режима отображения.
- высота
число
Высота режима отображения в пикселях, независимых от устройства (видимых пользователем).
- высотаInNativePixels
число
Высота режима отображения в собственных пикселях.
- isInterlaced
логическое значение необязательно
Хром 74+True, если этот режим чересстрочный, и false, если он не указан.
- isNative
логическое значение
Истинно, если режим является собственным режимом дисплея.
- isSelected
логическое значение
Истинно, если режим отображения выбран в данный момент.
- ставка обновления
число
Хром 67+Частота обновления режима отображения в герцах.
- uiScale
номер необязательно
Устарело с Chrome 70.Используйте
displayZoomFactor
Коэффициент масштабирования пользовательского интерфейса режима отображения.
- ширина
число
Ширина режима отображения в пикселях, не зависящих от устройства (видимых пользователем).
- ширинаInNativePixels
число
Ширина режима отображения в собственных пикселях.
DisplayProperties
Характеристики
- границыOriginX
номер необязательно
Если установлено, обновляется начало логических границ отображения по оси X. Применяется вместе
boundsOriginY
. По умолчанию используется текущее значение, если оно не установлено и установленоboundsOriginY
. Обратите внимание, что при обновлении начала координат отображения будут применены некоторые ограничения, поэтому окончательный источник границ может отличаться от установленного. Окончательные границы можно получить с помощьюgetInfo
. Начало границ невозможно изменить на основном дисплее. - границыOriginY
номер необязательно
Если установлено, обновляется начало логических границ отображения по оси Y. См. документацию по
boundsOriginX
. - режим отображения
Режим отображения необязательно
Хром 52+Если установлено, обновляет режим отображения до режима, соответствующего этому значению. Если другие параметры недействительны, это не будет применено. Если режим отображения недействителен, он не будет применен и будет установлена ошибка, но другие свойства все равно будут применены.
- дисплейZoomFactor
номер необязательно
Хром 65+Если установлено, обновляется масштаб, связанный с дисплеем. При этом масштабировании выполняется перекомпоновка и перерисовка, что приводит к более качественному масштабированию, чем простое увеличение попиксельного растяжения.
- isPrimary
логическое значение необязательно
Если установлено значение true, дисплей становится основным. Нет операции, если установлено значение false. Примечание. Если установлено, отображение считается основным для всех других свойств (т. е.
isUnified
может быть установлено, а начало границ — нет). - isUnified
логическое значение необязательно
Хром 59+Только ChromeOS. Если установлено значение true, режим отображения изменяется на единый рабочий стол (подробности см. в разделе
enableUnifiedDesktop
). Если установлено значение false, режим единого рабочего стола будет отключен. Это справедливо только для основного дисплея. Если параметр MirroringSourceId указан, его нельзя указывать, а другие свойства будут игнорироваться. Если это не предусмотрено, это не имеет никакого эффекта. - зеркальное отображениеSourceId
строка необязательна
Устарело с Chrome 68.Используйте
setMirrorMode
.Только ChromeOS. Если установлено и не пусто, включает зеркалирование только для этого дисплея. В противном случае отключает зеркалирование для всех дисплеев. Это значение должно указывать идентификатор исходного дисплея для зеркалирования, который не должен совпадать с идентификатором, переданным в setDisplayProperties. Если установлено, никакое другое свойство не может быть установлено.
- пересканировать
Вставки по желанию
Если установлено, устанавливает вставки за пределы развертки дисплея в предоставленные значения. Обратите внимание, что значения переразвертки не могут быть отрицательными или превышать половину размера экрана. Оверскан нельзя изменить на внутреннем мониторе.
- вращение
номер необязательно
Если установлено, обновляется вращение дисплея. Допустимые значения: [0, 90, 180, 270]. Вращение устанавливается по часовой стрелке относительно вертикального положения дисплея.
DisplayUnitInfo
Характеристики
- активное состояниеХром 117+
Активно, если дисплей обнаружен и используется системой.
- ДоступноDisplayZoomFactors
число[]
Хром 67+Список значений коэффициента масштабирования, которые можно установить для дисплея.
- границы
Логические границы дисплея.
- дисплейZoomFactor
число
Хром 65+Соотношение между текущим масштабом дисплея и масштабом по умолчанию. Например, значение 1 соответствует масштабу 100 %, а значение 1,5 — масштабу 150 %.
- dpiX
число
Количество пикселей на дюйм по оси X.
- dpiY
число
Количество пикселей на дюйм по оси Y.
- Эдид
Эдид по желанию
Хром 67+ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
- hasTouchSupport
логическое значение
Хром 57+Истинно, если с этим дисплеем связано устройство сенсорного ввода.
- идентификатор
нить
Уникальный идентификатор дисплея.
- isEnabled
логическое значение
Истинно, если этот дисплей включен.
- isPrimary
логическое значение
True, если это основной дисплей.
- isUnified
логическое значение
Хром 59+Верно для всех дисплеев в режиме единого рабочего стола. См. документацию для
enableUnifiedDesktop
. - зеркалированиеDestinationIds
нить[]
Хром 64+Только ChromeOS. Идентификаторы дисплеев, на которые зеркально отображается исходный дисплей. Пусто, если ни одно отображение не отображается. Для всех дисплеев будет установлено одинаковое значение. Оно не должно включать
mirroringSourceId
. - зеркальное отображениеSourceId
нить
Только ChromeOS. Идентификатор дисплея, который зеркалируется, если зеркалирование включено, в противном случае пусто. Это будет установлено для всех дисплеев (включая зеркальный дисплей).
- режимыХром 52+
Список доступных режимов отображения. Текущий режим будет иметь isSelected=true. Доступно только в ChromeOS. На других платформах будет установлен пустой массив.
- имя
нить
Понятное имя (например, «ЖК-монитор HP»).
- пересканировать
Вставки дисплея в пределах его экрана. В настоящее время доступно только в ChromeOS. На других платформах будут установлены пустые вставки.
- вращение
число
Поворот дисплея по часовой стрелке в градусах относительно вертикального положения. В настоящее время доступно только в ChromeOS. На других платформах будет установлено значение 0. Значение -1 будет интерпретироваться как автоматический поворот, когда устройство находится в физическом состоянии планшета.
- рабочая область
Полезная рабочая область дисплея в пределах границ дисплея. В рабочую область не входят области дисплея, зарезервированные для ОС, например панель задач и панель запуска.
Edid
Характеристики
- идентификатор производителя
нить
Трехзначный код производителя. См. гл. 3.4.1 стр. 21. Требуется в версии 1.4.
- идентификатор продукта
нить
2-байтовый код, присвоенный производителем, разд. 3.4.2 стр. 21. Требуется в версии 1.4.
- годПроизводства
число
Год производителя, разд. 3.4.4 стр. 22. Требуется в версии 1.4.
GetInfoFlags
Характеристики
- одиночныйЕдиный
логическое значение необязательно
Если установлено значение true,
getInfo
будет возвращать только одинDisplayUnitInfo
в режиме единого рабочего стола (см.enableUnifiedDesktop
). По умолчанию ложь.
Insets
Характеристики
- нижний
число
Расстояние по оси Y от нижней границы.
- левый
число
Расстояние по оси X от левой границы.
- верно
число
Расстояние по оси X от правой границы.
- вершина
число
Расстояние по оси Y от верхней границы.
LayoutPosition
Положение макета, т. е. край родительского элемента, к которому прикреплен дисплей.
Перечисление
"вершина" "верно" "нижний" "левый"
MirrorMode
Режим зеркала, т. е. различные способы зеркального отражения одного дисплея на другие дисплеи.
Перечисление
"выключенный" "нормальный" "смешанный"
Указывает режим по умолчанию (расширенный или единый рабочий стол).
Указывает, что исходный дисплей по умолчанию будет зеркально отображен на всех остальных дисплеях.
Указывает, что указанный исходный дисплей будет зеркально отображен на предоставленных целевых дисплеях. Все остальные подключенные дисплеи будут расширены.
MirrorModeInfo
Характеристики
- зеркалированиеDestinationIds
строка[] необязательно
Отобразятся идентификаторы места назначения зеркального отображения. Это справедливо только для «смешанного».
- зеркальное отображениеSourceId
строка необязательна
Идентификатор отображения источника зеркального отображения. Это справедливо только для «смешанного».
- режим
Режим зеркала, который следует установить.
Point
Характеристики
- х
число
Координата X точки.
- й
число
Координата Y точки.
TouchCalibrationPair
Характеристики
- дисплейпойнт
Координаты точки отображения.
- TouchPoint
Координаты точки касания, соответствующие точке отображения.
TouchCalibrationPairQuad
Характеристики
- пара1
Для калибровки сенсорного экрана необходима первая пара точек касания и дисплея.
- пара2
Для калибровки сенсорного экрана необходима вторая пара точек касания и дисплея.
- пара3
Для калибровки сенсорного экрана необходима третья пара точек касания и отображения.
- пара4
Для калибровки сенсорного экрана необходима четвертая пара точек касания и отображения.
Методы
clearTouchCalibration()
chrome.system.display.clearTouchCalibration(
id: string,
)
Сбрасывает калибровку сенсорного экрана и возвращает его в состояние по умолчанию, удаляя все данные калибровки сенсорного экрана, связанные с дисплеем.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
completeCustomTouchCalibration()
chrome.system.display.completeCustomTouchCalibration(
pairs: TouchCalibrationPairQuad,
bounds: Bounds,
)
Устанавливает пары сенсорной калибровки для дисплея. Эти pairs
будут использоваться для калибровки сенсорного экрана для отображения с id
вызываемым в startCustomTouchCalibration(). Всегда вызывайте startCustomTouchCalibration
перед вызовом этого метода. Если уже выполняется другая сенсорная калибровка, это приведет к ошибке.
Параметры
Пары точек, используемые для калибровки дисплея.
- границы
Границы дисплея при выполнении сенсорной калибровки. Значения
bounds.left
иbounds.top
игнорируются.
enableUnifiedDesktop()
chrome.system.display.enableUnifiedDesktop(
enabled: boolean,
)
Включает/отключает функцию единого рабочего стола. Если включено, когда зеркалирование активно, режим рабочего стола не изменится, пока зеркалирование не будет отключено. В противном случае режим рабочего стола немедленно переключится на унифицированный. ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
Параметры
- включено
логическое значение
True, если единый рабочий стол должен быть включен.
getDisplayLayout()
chrome.system.display.getDisplayLayout(
callback?: function,
)
Запрашивает информацию о макете для всех дисплеев. ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(layouts: DisplayLayout[]) => void
- макеты
Возврат
Обещание< DisplayLayout []>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getInfo()
chrome.system.display.getInfo(
flags?: GetInfoFlags,
callback?: function,
)
Запрашивает информацию для всех подключенных устройств отображения.
Параметры
- флаги
GetInfoFlags необязательно
Хром 59+Параметры, влияющие на возврат информации.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(displayInfo: DisplayUnitInfo[]) => void
- дисплейинформация
Возврат
Обещание< DisplayUnitInfo []>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
overscanCalibrationAdjust()
chrome.system.display.overscanCalibrationAdjust(
id: string,
delta: Insets,
)
Регулирует текущие вставки развертки для дисплея. Обычно это должно либо перемещать дисплей вдоль оси (например, левое и правое имеют одинаковое значение), либо масштабировать его вдоль оси (например, верхнее и нижнее имеют противоположные значения). Каждый вызов настройки суммируется с предыдущими вызовами с момента запуска.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
- дельта
Величина изменения вставок развертки.
overscanCalibrationComplete()
chrome.system.display.overscanCalibrationComplete(
id: string,
)
Выполните настройку переразвертки для дисплея, сохранив текущие значения и скрыв наложение.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
overscanCalibrationReset()
chrome.system.display.overscanCalibrationReset(
id: string,
)
Сбрасывает вставки развертки для дисплея на последнее сохраненное значение (т.е. до вызова Start).
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
overscanCalibrationStart()
chrome.system.display.overscanCalibrationStart(
id: string,
)
Запускает калибровку расширенной развертки для дисплея. На экране появится наложение, указывающее текущие вставки за пределы сканирования. Если выполняется калибровка сверхсканирования для id
дисплея, калибровка будет сброшена.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
setDisplayLayout()
chrome.system.display.setDisplayLayout(
layouts: DisplayLayout[],
callback?: function,
)
Установите макет для всех дисплеев. Любой не включенный дисплей будет использовать макет по умолчанию. Если макет перекрывается или является недействительным по другим причинам, он будет адаптирован к допустимому макету. После разрешения макета будет вызвано событие onDisplayChanged. ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
Параметры
- макеты
Информация о макете, необходимая для всех дисплеев, кроме основного.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setDisplayProperties()
chrome.system.display.setDisplayProperties(
id: string,
info: DisplayProperties,
callback?: function,
)
Обновляет свойства дисплея, указанного id
, в соответствии с информацией, представленной в info
. В случае сбоя будет установлен runtime.lastError
. ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
- информация
Информация о свойствах отображения, которые необходимо изменить. Свойство будет изменено только в том случае, если в
info
указано новое значение для него. - перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
setMirrorMode()
chrome.system.display.setMirrorMode(
info: MirrorModeInfo,
callback?: function,
)
Устанавливает режим отображения в указанный зеркальный режим. Каждый вызов сбрасывает состояние предыдущих вызовов. Вызов setDisplayProperties() завершится неудачно для целевых дисплеев зеркального отображения. ПРИМЕЧАНИЕ. Это доступно только для киоск-приложений ChromeOS и веб-интерфейса.
Параметры
- информация
Информация о режиме зеркала, которую следует применить к режиму отображения.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
showNativeTouchCalibration()
chrome.system.display.showNativeTouchCalibration(
id: string,
callback?: function,
)
Отображает собственный пользовательский интерфейс сенсорной калибровки для дисплея с id
в качестве идентификатора дисплея. На экране появится наложение с необходимыми инструкциями о том, как действовать. Обратный вызов будет вызван только в случае успешной калибровки. Если калибровка не удалась, это приведет к ошибке.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(success: boolean) => void
- успех
логическое значение
Возврат
Обещание <логическое значение>
Хром 91+Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
startCustomTouchCalibration()
chrome.system.display.startCustomTouchCalibration(
id: string,
)
Запускает пользовательскую сенсорную калибровку дисплея. Это следует вызывать при использовании пользовательского интерфейса для сбора данных калибровки. Если уже выполняется другая сенсорная калибровка, это приведет к ошибке.
Параметры
- идентификатор
нить
Уникальный идентификатор дисплея.
События
onDisplayChanged
chrome.system.display.onDisplayChanged.addListener(
callback: function,
)
Запускается, когда что-либо меняется в конфигурации дисплея.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:() => void