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