screen
画面サイズ、ディスプレイ、カーソルの位置などについての情報を取得します。
Process: Main
app
モジュールの ready
イベントが発生するまでは、このモジュールは使用できません。
screen
は EventEmitter です。
[!NOTE] In the renderer / DevTools,
window.screen
is a reserved DOM property, so writinglet { screen } = require('electron')
will not work.
以下は画面全体を埋めるウインドウを作成する例です。
- 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')
}
})
[!NOTE] Screen coordinates used by this module are Point structures. There are two kinds of coordinates available to the process:
- Physical screen points are raw hardware pixels on a display.
- Device-independent pixel (DIP) points are virtualized screen points scaled based on the DPI (dots per inch) of the display.
イベント
screen
モジュールには以下のイベントがあります。
イベント: 'display-added'
戻り値:
event
EventnewDisplay
Display
newDisplay
が追加されたときに発生します。
イベント: 'display-removed'
戻り値:
event
EventoldDisplay
Display
oldDisplay
が削除されたときに発生します。
イベント: 'display-metrics-changed'
戻り値:
event
Eventdisplay
DisplaychangedMetrics
string[]
display
内の一つ以上の寸法が変化したときに発生します。 changedMetrics
は、変化を示す文字列の配列です。 Possible changes are bounds
, workArea
, scaleFactor
and rotation
.
メソッド
screen
モジュールには以下のメソッドがあります。
screen.getCursorScreenPoint()
Returns Point
マウスポインタの現在の絶対位置。
[!NOTE] The return value is a DIP point, not a screen physical point.
screen.getPrimaryDisplay()
Returns Display - The primary display.
screen.getAllDisplays()
Returns Display[] - An array of displays that are currently available.
screen.getDisplayNearestPoint(point)
point
Point
Returns Display - The display nearest the specified point.
screen.getDisplayMatching(rect)
rect
Rectangle
Returns Display - The display that most closely intersects the provided bounds.
screen.screenToDipPoint(point)
Windows
point
Point
Returns Point
スクリーン上の物理的な点をスクリーン上の DIP な点に変換します。 DPI スケールは、物理的な点のあるディスプレイに対して相対的なものになります。
screen.dipToScreenPoint(point)
Windows
point
Point
Returns Point
スクリーン上の DIP な点をスクリーン上の物理的な点に変換します。 DPI スケールは、DIP な点のあるディスプレイに対して相対的なものになります。
screen.screenToDipRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
Returns Rectangle
スクリーンの物理矩形をスクリーンのの DIP 矩形に変換します。 DPI スケールは window
に近いディスプレイと相対的に計算されます。 window
が null の場合、スケールは rect
に近いディスプレイと相対的に計算されます。
screen.dipToScreenRect(window, rect)
Windows
window
BrowserWindow | nullrect
Rectangle
Returns Rectangle
スクリーンの DIP 矩形をスクリーンのの物理矩形に変換します。 DPI スケールは window
に近いディスプレイと相対的に計算されます。 window
が null の場合、スケールは rect
に近いディスプレイと相対的に計算されます。