diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index d619c7a..7fd526b 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index d619c7a..7fd526b 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 5ad0623..4a8903b 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index d619c7a..7fd526b 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 5ad0623..4a8903b 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index e046755..d312d09 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index d619c7a..7fd526b 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 5ad0623..4a8903b 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index e046755..d312d09 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/build.gradle b/build.gradle index dec863a..86d14f5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'perses.games' -version '1.0.3-SNAPSHOT' +version '1.1.1-SNAPSHOT' apply plugin: 'kotlin2js' apply plugin: 'idea' diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index d619c7a..7fd526b 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 5ad0623..4a8903b 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index e046755..d312d09 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/build.gradle b/build.gradle index dec863a..86d14f5 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'perses.games' -version '1.0.3-SNAPSHOT' +version '1.1.1-SNAPSHOT' apply plugin: 'kotlin2js' apply plugin: 'idea' diff --git a/src/main/kotlin/games/perses/game/View.kt b/src/main/kotlin/games/perses/game/View.kt index 4cd1f55..e0189fd 100644 --- a/src/main/kotlin/games/perses/game/View.kt +++ b/src/main/kotlin/games/perses/game/View.kt @@ -1,6 +1,7 @@ package games.perses.game import games.perses.math.Matrix4 +import kotlin.browser.document enum class ViewType { PROJECTION, @@ -33,19 +34,48 @@ } fun requestFullscreen() { - //println("Requesting fullscreen") + println("Requesting fullscreen") + val element = document.body + //language=javascript js(""" - if (document.webkitFullscreenElement) { - document.webkitCancelFullScreen(); - } else { - document.documentElement.webkitRequestFullScreen(); - } + if(element.requestFullscreen) { + element.requestFullscreen(); + } else if(element.mozRequestFullScreen) { + element.mozRequestFullScreen(); + } else if(element.webkitRequestFullscreen) { + element.webkitRequestFullscreen(); + } else if(element.msRequestFullscreen) { + element.msRequestFullscreen(); + } """) - //if (document.fullscreenEnabled) { - // println("fullscreen Enabled") - //Game.html.container.requestFullscreen() - //document.documentElement?.requestFullscreen() - //} + } + + fun exitFullscreen() { + js(""" + if(document.exitFullscreen) { + document.exitFullscreen(); + } else if(document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if(document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + """) + } + + fun switchFullscreen() { + if (isFullscreen()) { + exitFullscreen() + } else { + requestFullscreen() + } + } + + fun isFullscreen(): Boolean { + val fse = js("document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement"); + + console.log("fse: ", fse) + + return fse != undefined } fun updateView() {