Merge pull request #495 from feross/osx-fullscreenst

OS X: Make controls use full window in fullscreen
This commit is contained in:
Feross Aboukhadijeh
2016-05-12 17:10:34 -07:00
4 changed files with 16 additions and 6 deletions

View File

@@ -45,8 +45,8 @@ function init () {
setBounds(bounds, maximize)
})
ipcMain.on('setAspectRatio', function (e, aspectRatio, extraSize) {
setAspectRatio(aspectRatio, extraSize)
ipcMain.on('setAspectRatio', function (e, aspectRatio) {
setAspectRatio(aspectRatio)
})
ipcMain.on('setBadge', function (e, text) {
@@ -206,10 +206,10 @@ function setBounds (bounds, maximize) {
}
}
function setAspectRatio (aspectRatio, extraSize) {
log('setAspectRatio %o %o', aspectRatio, extraSize)
function setAspectRatio (aspectRatio) {
log('setAspectRatio %o', aspectRatio)
if (windows.main) {
windows.main.setAspectRatio(aspectRatio, extraSize)
windows.main.setAspectRatio(aspectRatio)
}
}

View File

@@ -35,6 +35,10 @@ function toggleFullScreen (flag) {
log('toggleFullScreen %s', flag)
if (windows.main && windows.main.isVisible()) {
flag = flag != null ? flag : !windows.main.isFullScreen()
if (flag) {
// Allows the window to use the full screen in fullscreen mode (OS X).
windows.main.setAspectRatio(0)
}
windows.main.setFullScreen(flag)
}
}

View File

@@ -441,6 +441,10 @@ function setupIpc () {
ipcRenderer.on('fullscreenChanged', function (e, isFullScreen) {
state.window.isFullScreen = isFullScreen
if (!isFullScreen) {
// Aspect ratio gets reset in fullscreen mode, so restore it (OS X)
ipcRenderer.send('setAspectRatio', state.playing.aspectRatio)
}
update()
})
@@ -1079,6 +1083,7 @@ function setDimensions (dimensions) {
ipcRenderer.send('setAspectRatio', aspectRatio)
ipcRenderer.send('setBounds', {x: null, y: null, width, height})
state.playing.aspectRatio = aspectRatio
}
function restoreBounds () {

View File

@@ -77,7 +77,8 @@ function getDefaultPlayState () {
subtitles: {
tracks: [], /* subtitles file (Buffer) */
enabled: false
}
},
aspectRatio: 0 /* aspect ratio of the video */
}
}