# HG changeset patch
# User Edouard Tisserant
# Date 1630056692 -7200
# Node ID 8b45d8494fae3895fb794906e7ab4d73d20a9723
# Parent  e6131894be1deb5acd8ac597b8165265ae5941fc
SVGHMI: Allow toggling fulscreen mode my right click or long press.

diff -r e6131894be1d -r 8b45d8494fae svghmi/gen_index_xhtml.xslt
--- a/svghmi/gen_index_xhtml.xslt	Tue Aug 24 11:12:41 2021 +0200
+++ b/svghmi/gen_index_xhtml.xslt	Fri Aug 27 11:31:32 2021 +0200
@@ -8226,12 +8226,38 @@
 </xsl:text>
           <xsl:text>
 </xsl:text>
+          <xsl:text>function toggleFullscreen() {
+</xsl:text>
+          <xsl:text>  let elem = document.documentElement;
+</xsl:text>
+          <xsl:text>
+</xsl:text>
+          <xsl:text>  if (!document.fullscreenElement) {
+</xsl:text>
+          <xsl:text>    elem.requestFullscreen().catch(err =&gt; {
+</xsl:text>
+          <xsl:text>      console.log("Error attempting to enable full-screen mode: "+err.message+" ("+err.name+")");
+</xsl:text>
+          <xsl:text>    });
+</xsl:text>
+          <xsl:text>  } else {
+</xsl:text>
+          <xsl:text>    document.exitFullscreen();
+</xsl:text>
+          <xsl:text>  }
+</xsl:text>
+          <xsl:text>}
+</xsl:text>
+          <xsl:text>
+</xsl:text>
           <xsl:text>function prepare_svg() {
 </xsl:text>
           <xsl:text>    // prevents context menu from appearing on right click and long touch
 </xsl:text>
           <xsl:text>    document.body.addEventListener('contextmenu', e =&gt; {
 </xsl:text>
+          <xsl:text>        toggleFullscreen();
+</xsl:text>
           <xsl:text>        e.preventDefault();
 </xsl:text>
           <xsl:text>    });
diff -r e6131894be1d -r 8b45d8494fae svghmi/svghmi.js
--- a/svghmi/svghmi.js	Tue Aug 24 11:12:41 2021 +0200
+++ b/svghmi/svghmi.js	Fri Aug 27 11:31:32 2021 +0200
@@ -367,9 +367,22 @@
 var current_page_index;
 var page_node_local_index = hmi_local_index("page_node");
 
+function toggleFullscreen() {
+  let elem = document.documentElement;
+
+  if (!document.fullscreenElement) {
+    elem.requestFullscreen().catch(err => {
+      console.log("Error attempting to enable full-screen mode: "+err.message+" ("+err.name+")");
+    });
+  } else {
+    document.exitFullscreen();
+  }
+}
+
 function prepare_svg() {
     // prevents context menu from appearing on right click and long touch
     document.body.addEventListener('contextmenu', e => {
+        toggleFullscreen();
         e.preventDefault();
     });