screen
Предоставляет информацию о размере экрана, дисплеях, позиции курсора.
Процесс: Главный
Этот модуль не льзя использовать до тех пор, пока событие ready
в app
не будет готово к использованию.
screen
is an EventEmitter.
Note: In the renderer / DevTools, window.screen
is a reserved DOM property, so writing let { screen } = require('electron')
will not work.
An example of creating a window that fills the whole screen:
- main.js
// Retrieve information about screen size, displays, cursor position, etc.
//
// For more info, see:
// https://www.electronjs.org/docs/latest/api/screen
const { app, BrowserWindow, screen } = require('electron/main')
let mainWindow = null
app.whenReady().then(() => {
// Create a window that fills the screen's available work area.
const primaryDisplay = screen.getPrimaryDisplay()
const { width, height } = primaryDisplay.workAreaSize
mainWindow = new BrowserWindow({ width, height })
mainWindow.loadURL('https://electronjs.org')
})
Другой пример создания окна на внешнем дисплее:
const { app, BrowserWindow, screen } = require('electron')
let win
app.whenReady().then(() => {
const displays = screen.getAllDisplays()
const externalDisplay = displays.find((display) => {
return display.bounds.x !== 0 || display.bounds.y !== 0
})
if (externalDisplay) {
win = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
win.loadURL('https://github.com')
}
})
События
Объект screen
имеет следующие события:
Событие: 'display-added'
Возвращает:
- Событие типа
event
newDisplay
Display
Возникает при добавлении newDisplay
.
Событие: 'display-removed'
Возвращает:
- Событие типа
event
oldDisplay
Display
Возникает при удалении oldDisplay
.
Событие: 'display-metrics-changed'
Возвращает:
- Событие типа
event
display
DisplaychangedMetrics
string[]
Возникает при изменении одной или нескольких метрик в display
. changedMetrics
является массивом строк, описывающих изменения. Возможные изменения bounds
, workArea
, scaleFactor
и rotation
.
Методы
Модуль screen
имеет следующие методы:
screen.getCursorScreenPoint()
Возвращает Point
Текущее абсолютное положение указателя мыши.
Note: The return value is a DIP point, not a screen physical point.
screen.getPrimaryDisplay()
Возвращает Display - Основной дисплей.
screen.getAllDisplays()
Возвращает Display[] - Массив доступных в настоящее время дисплеев.
screen.getDisplayNearestPoint(point)
point
Point
Возвращает Display - Дисплей, ближайший к указанной точке.
screen.getDisplayMatching(rect)
rect
Rectangle
Возвращает Display - Дисплей, который наиболее близко пересекает заданные границы.
screen.screenToDipPoint(point)
Windows
point
Point
Возвращает Point
Преобразует физическую точку экрана в точку DIP экрана. Масштаб DPI выполняется относительно отображения, содержащего физическую точку.
screen.dipToScreenPoint(point)
Windows
point
Point
Возвращает Point
Преобразует точку DIP экрана в физическую точку экрана. Масштаб DPI выполняется относительно отображения, содержащего точку DIP.
screen.screenToDipRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
Возвращает Rectangle
Преобразует физический прямоугольник экрана в DIP-прямоугольник экрана. Шкала DPI выполняется относительно дисплея, ближайшего к window
. Если window
равен нулю, то масштабирование будет производиться до ближайшего к rect
.
screen.dipToScreenRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
Возвращает Rectangle
Преобразовывает DIP-прямоуголник экрана в физический прямоугольник экрана. Шкала DPI выполняется относительно дисплея, ближайшего к window
. Если window
равен нулю, то масштабирование будет производиться до ближайшего к rect
.