diff options
| author | RblSb <msrblsb@gmail.com> | 2020-05-23 20:31:40 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2020-05-23 21:15:02 +0300 |
| commit | a45d0bef0dccb5472bec095d8e00af8647173a56 (patch) | |
| tree | 356402681516062441c5a61cf9d0cf979ae63ee1 /src/client/Utils.hx | |
| parent | 306b5f4194ae40e80f3be00fcfea8614792649a5 (diff) | |
Restore mobile view
Diffstat (limited to 'src/client/Utils.hx')
| -rw-r--r-- | src/client/Utils.hx | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/src/client/Utils.hx b/src/client/Utils.hx index e9d5ff8..00a26fe 100644 --- a/src/client/Utils.hx +++ b/src/client/Utils.hx @@ -35,27 +35,40 @@ class Utils { return i; } - public static function toggleFullScreen(el:Element):Bool { - var state = true; + public static function hasFullscreen():Bool { final doc:Dynamic = document; + return ( + document.fullscreenElement != null + || doc.mozFullScreenElement != null + || doc.webkitFullscreenElement != null + ); + } + + public static function requestFullscreen(el:Element):Bool { final el2:Dynamic = el; - if (document.fullscreenElement == null && - doc.mozFullScreenElement == null && - doc.webkitFullscreenElement == null) { - if (el.requestFullscreen != null) { - el.requestFullscreen(); - } else if (el2.mozRequestFullScreen != null) { - el2.mozRequestFullScreen(); - } else if (el2.webkitRequestFullscreen != null) { - el2.webkitRequestFullscreen(untyped Element.ALLOW_KEYBOARD_INPUT); - } else state = false; - } else { - if (doc.cancelFullScreen != null) doc.cancelFullScreen(); - else if (doc.mozCancelFullScreen != null) doc.mozCancelFullScreen(); - else if (doc.webkitCancelFullScreen != null) doc.webkitCancelFullScreen(); - state = false; + if (el.requestFullscreen != null) { + el.requestFullscreen(); + } else if (el2.mozRequestFullScreen != null) { + el2.mozRequestFullScreen(); + } else if (el2.webkitRequestFullscreen != null) { + el2.webkitRequestFullscreen(untyped Element.ALLOW_KEYBOARD_INPUT); + } else return false; + return true; + } + + public static function cancelFullscreen(el:Element):Void { + final doc:Dynamic = document; + if (doc.cancelFullScreen != null) doc.cancelFullScreen(); + else if (doc.mozCancelFullScreen != null) doc.mozCancelFullScreen(); + else if (doc.webkitCancelFullScreen != null) doc.webkitCancelFullScreen(); + } + + public static function toggleFullscreen(el:Element):Bool { + if (hasFullscreen()) { + cancelFullscreen(el); + return false; } - return state; + return requestFullscreen(el); } public static function copyToClipboard(text:String):Void { |
