electron/docs-translations/jp/api/screen.md

132 lines
3.9 KiB
Markdown
Raw Normal View History

2016-01-19 08:23:17 +00:00
# screen
`screen`モジュールは、画面サイズ、ディスプレイ、カーソル位置などの情報を読み取ります。`app`モジュールの`ready`イベントが出力されるまで、このモジュールは使うべきではありません。
`screen`は [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)です。
**Note:** レンダラ―/デベロッパーツールで、`window.screen`はDOMプロパティで予約されているので、`var screen = require('electron').screen`と書いても動作しません。下の例では、代わりに変数名で`electronScreen`を使用しています。
画面全体にウィンドウを作成する例:
```javascript
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
2016-01-19 08:23:17 +00:00
var mainWindow
2016-01-19 08:23:17 +00:00
app.on('ready', function () {
var electronScreen = electron.screen
var size = electronScreen.getPrimaryDisplay().workAreaSize
mainWindow = new BrowserWindow({ width: size.width, height: size.height })
})
2016-01-19 08:23:17 +00:00
```
外部ディスプレイにウィンドウを作成する別の例:
```javascript
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
2016-01-19 08:23:17 +00:00
var mainWindow
2016-01-19 08:23:17 +00:00
app.on('ready', function () {
var electronScreen = electron.screen
var displays = electronScreen.getAllDisplays()
var externalDisplay = null
2016-01-19 08:23:17 +00:00
for (var i in displays) {
2016-10-03 22:48:04 +00:00
if (displays[i].bounds.x !== 0 || displays[i].bounds.y !== 0) {
externalDisplay = displays[i]
break
2016-01-19 08:23:17 +00:00
}
}
if (externalDisplay) {
mainWindow = new BrowserWindow({
x: externalDisplay.bounds.x + 50,
y: externalDisplay.bounds.y + 50
})
2016-01-19 08:23:17 +00:00
}
})
2016-01-19 08:23:17 +00:00
```
## `Display` オブジェクト
`Display`オブジェクトはシステムに接続された物理ディスプレイを示します。ヘッドレスシステムでは、擬似`Display`があるかもしれませんし、`Display`はリモートや仮想ディスプレイに相当するかもしれません。
* `display` object
* `id` Integer - ディスプレイに紐づいた一意な識別子です。
* `rotation` Integer - 0, 1, 2, 3を設定でき、それぞれは時計回りで、0, 90, 180, 270度の画面の回転を示します。
* `scaleFactor` Number - 出力装置のピクセルスケールファクター
* `touchSupport` String - `available`, `unavailable`, `unknown`を設定できます。
* `bounds` Object
* `size` Object
* `workArea` Object
* `workAreaSize` Object
## イベント
`screen`モジュールは次のイベントを出力します:
### イベント: 'display-added'
返り値:
* `event` Event
* `newDisplay` Object
`newDisplay`が追加されたときに出力されます。
### イベント: 'display-removed'
返り値:
* `event` Event
* `oldDisplay` Object
`oldDisplay`が削除されたときに出力されます。
### イベント: 'display-metrics-changed'
返り値:
* `event` Event
* `display` Object
* `changedMetrics` Array
`display`で1つ以上のメトリックが変わったときに出力されます。`changedMetrics`は変更を説明する文字列の配列です。変更内容には`bounds`と`workArea`, `scaleFactor``rotation`があり得ます。
## メソッド
`screen`モジュールは次のメソッドを持ちます:
### `screen.getCursorScreenPoint()`
現在のマウスの絶対位置を返します。
### `screen.getPrimaryDisplay()`
プライマリディスプレイを返します。
### `screen.getAllDisplays()`
現在利用可能なディスプレイの配列を返します。
### `screen.getDisplayNearestPoint(point)`
* `point` Object
* `x` Integer
* `y` Integer
指定したポイントに近いディスプレイを返します。
### `screen.getDisplayMatching(rect)`
* `rect` Object
* `x` Integer
* `y` Integer
* `width` Integer
* `height` Integer
提供された範囲と、もっとも重複しているディスプレイを返します。