diff --git a/docs/html/clipboard.js b/docs/html/clipboard.js
new file mode 100644
index 0000000..42c1fb0
--- /dev/null
+++ b/docs/html/clipboard.js
@@ -0,0 +1,61 @@
+/**
+
+The code below is based on the Doxygen Awesome project, see
+https://github.com/jothepro/doxygen-awesome-css
+
+MIT License
+
+Copyright (c) 2021 - 2022 jothepro
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+*/
+
+let clipboard_title = "Copy to clipboard"
+let clipboard_icon = ``
+let clipboard_successIcon = ``
+let clipboard_successDuration = 1000
+
+$(function() {
+ if(navigator.clipboard) {
+ const fragments = document.getElementsByClassName("fragment")
+ for(const fragment of fragments) {
+ const clipboard_div = document.createElement("div")
+ clipboard_div.classList.add("clipboard")
+ clipboard_div.innerHTML = clipboard_icon
+ clipboard_div.title = clipboard_title
+ $(clipboard_div).click(function() {
+ const content = this.parentNode.cloneNode(true)
+ // filter out line number and folded fragments from file listings
+ content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
+ let text = content.textContent
+ // remove trailing newlines and trailing spaces from empty lines
+ text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
+ navigator.clipboard.writeText(text);
+ this.classList.add("success")
+ this.innerHTML = clipboard_successIcon
+ window.setTimeout(() => { // switch back to normal icon after timeout
+ this.classList.remove("success")
+ this.innerHTML = clipboard_icon
+ }, clipboard_successDuration);
+ })
+ fragment.insertBefore(clipboard_div, fragment.firstChild)
+ }
+ }
+})
diff --git a/docs/html/constants_8hpp.html b/docs/html/constants_8hpp.html
index a6e0b9c..d50aa12 100644
--- a/docs/html/constants_8hpp.html
+++ b/docs/html/constants_8hpp.html
@@ -3,16 +3,18 @@
-
+
sml: constants.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
diff --git a/docs/html/menu.js b/docs/html/menu.js
index b0b2693..717761d 100644
--- a/docs/html/menu.js
+++ b/docs/html/menu.js
@@ -24,13 +24,12 @@
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
- var result='';
+ let result='';
if ('children' in data) {
result+='
';
- for (var i in data.children) {
- var url;
- var link;
- link = data.children[i].url;
+ for (let i in data.children) {
+ let url;
+ const link = data.children[i].url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
} else {
@@ -44,7 +43,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
}
return result;
}
- var searchBoxHtml;
+ let searchBoxHtml;
if (searchEnabled) {
if (serverSide) {
searchBoxHtml='
'+
@@ -88,29 +87,28 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
if (searchBoxHtml) {
$('#main-menu').append('');
}
- var $mainMenuState = $('#main-menu-state');
- var prevWidth = 0;
+ const $mainMenuState = $('#main-menu-state');
+ let prevWidth = 0;
if ($mainMenuState.length) {
- function initResizableIfExists() {
+ const initResizableIfExists = function() {
if (typeof initResizable==='function') initResizable();
}
// animate mobile menu
- $mainMenuState.change(function(e) {
- var $menu = $('#main-menu');
- var options = { duration: 250, step: initResizableIfExists };
+ $mainMenuState.change(function() {
+ const $menu = $('#main-menu');
+ let options = { duration: 250, step: initResizableIfExists };
if (this.checked) {
- options['complete'] = function() { $menu.css('display', 'block') };
+ options['complete'] = () => $menu.css('display', 'block');
$menu.hide().slideDown(options);
} else {
- options['complete'] = function() { $menu.css('display', 'none') };
+ options['complete'] = () => $menu.css('display', 'none');
$menu.show().slideUp(options);
}
});
// set default menu visibility
- function resetState() {
- var $menu = $('#main-menu');
- var $mainMenuState = $('#main-menu-state');
- var newWidth = $(window).outerWidth();
+ const resetState = function() {
+ const $menu = $('#main-menu');
+ const newWidth = $(window).outerWidth();
if (newWidth!=prevWidth) {
if ($(window).outerWidth()<768) {
$mainMenuState.prop('checked',false); $menu.hide();
diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html
index bd56b0c..cce9e2b 100644
--- a/docs/html/namespacemembers.html
+++ b/docs/html/namespacemembers.html
@@ -3,16 +3,18 @@
-
+
sml: Namespace Members
+
+
@@ -34,7 +36,7 @@