diff --git a/.cache/clangd/index/ASTNode.cpp.B451CB51C2F3E902.idx b/.cache/clangd/index/ASTNode.cpp.B451CB51C2F3E902.idx new file mode 100644 index 0000000..89f4f45 Binary files /dev/null and b/.cache/clangd/index/ASTNode.cpp.B451CB51C2F3E902.idx differ diff --git a/.cache/clangd/index/ASTNode.h.429D441AB5566CB3.idx b/.cache/clangd/index/ASTNode.h.429D441AB5566CB3.idx new file mode 100644 index 0000000..fa02794 Binary files /dev/null and b/.cache/clangd/index/ASTNode.h.429D441AB5566CB3.idx differ diff --git a/.cache/clangd/index/Arg.h.F82647D518EDF2FE.idx b/.cache/clangd/index/Arg.h.F82647D518EDF2FE.idx new file mode 100644 index 0000000..7c28e74 Binary files /dev/null and b/.cache/clangd/index/Arg.h.F82647D518EDF2FE.idx differ diff --git a/.cache/clangd/index/ArgException.h.3DE58DC09B1308BB.idx b/.cache/clangd/index/ArgException.h.3DE58DC09B1308BB.idx new file mode 100644 index 0000000..51af510 Binary files /dev/null and b/.cache/clangd/index/ArgException.h.3DE58DC09B1308BB.idx differ diff --git a/.cache/clangd/index/ArgTraits.h.76685E92700872B5.idx b/.cache/clangd/index/ArgTraits.h.76685E92700872B5.idx new file mode 100644 index 0000000..7db0358 Binary files /dev/null and b/.cache/clangd/index/ArgTraits.h.76685E92700872B5.idx differ diff --git a/.cache/clangd/index/Arguments.cpp.A02774F127D26FD2.idx b/.cache/clangd/index/Arguments.cpp.A02774F127D26FD2.idx new file mode 100644 index 0000000..fb352bb Binary files /dev/null and b/.cache/clangd/index/Arguments.cpp.A02774F127D26FD2.idx differ diff --git a/.cache/clangd/index/Arguments.h.8F0FA98B73D33FF8.idx b/.cache/clangd/index/Arguments.h.8F0FA98B73D33FF8.idx new file mode 100644 index 0000000..2ea3a9f Binary files /dev/null and b/.cache/clangd/index/Arguments.h.8F0FA98B73D33FF8.idx differ diff --git a/.cache/clangd/index/BinaryOpNode.cpp.595C97A1D50535D2.idx b/.cache/clangd/index/BinaryOpNode.cpp.595C97A1D50535D2.idx new file mode 100644 index 0000000..0367a9a Binary files /dev/null and b/.cache/clangd/index/BinaryOpNode.cpp.595C97A1D50535D2.idx differ diff --git a/.cache/clangd/index/BinaryOpNode.h.23C1D1FAE542A366.idx b/.cache/clangd/index/BinaryOpNode.h.23C1D1FAE542A366.idx new file mode 100644 index 0000000..9012bce Binary files /dev/null and b/.cache/clangd/index/BinaryOpNode.h.23C1D1FAE542A366.idx differ diff --git a/.cache/clangd/index/CmdLine.h.5952B1A3F86EF0E2.idx b/.cache/clangd/index/CmdLine.h.5952B1A3F86EF0E2.idx new file mode 100644 index 0000000..7970a7b Binary files /dev/null and b/.cache/clangd/index/CmdLine.h.5952B1A3F86EF0E2.idx differ diff --git a/.cache/clangd/index/CmdLineInterface.h.FEDAA3C92A66A236.idx b/.cache/clangd/index/CmdLineInterface.h.FEDAA3C92A66A236.idx new file mode 100644 index 0000000..e81bdc8 Binary files /dev/null and b/.cache/clangd/index/CmdLineInterface.h.FEDAA3C92A66A236.idx differ diff --git a/.cache/clangd/index/CmdLineOutput.h.B9414F3E156FC017.idx b/.cache/clangd/index/CmdLineOutput.h.B9414F3E156FC017.idx new file mode 100644 index 0000000..0bfee68 Binary files /dev/null and b/.cache/clangd/index/CmdLineOutput.h.B9414F3E156FC017.idx differ diff --git a/.cache/clangd/index/Constraint.h.10039A77B66F125F.idx b/.cache/clangd/index/Constraint.h.10039A77B66F125F.idx new file mode 100644 index 0000000..4c7c395 Binary files /dev/null and b/.cache/clangd/index/Constraint.h.10039A77B66F125F.idx differ diff --git a/.cache/clangd/index/Error.cpp.4B9CCEE13D3175FE.idx b/.cache/clangd/index/Error.cpp.4B9CCEE13D3175FE.idx new file mode 100644 index 0000000..877b6e6 Binary files /dev/null and b/.cache/clangd/index/Error.cpp.4B9CCEE13D3175FE.idx differ diff --git a/.cache/clangd/index/Error.h.3B7E0BADBF8F90F1.idx b/.cache/clangd/index/Error.h.3B7E0BADBF8F90F1.idx new file mode 100644 index 0000000..e0aa1f2 Binary files /dev/null and b/.cache/clangd/index/Error.h.3B7E0BADBF8F90F1.idx differ diff --git a/.cache/clangd/index/ExprNode.cpp.8F6F61C73B219665.idx b/.cache/clangd/index/ExprNode.cpp.8F6F61C73B219665.idx new file mode 100644 index 0000000..d6bb156 Binary files /dev/null and b/.cache/clangd/index/ExprNode.cpp.8F6F61C73B219665.idx differ diff --git a/.cache/clangd/index/ExprNode.h.0DF8B5FF6B179A2E.idx b/.cache/clangd/index/ExprNode.h.0DF8B5FF6B179A2E.idx new file mode 100644 index 0000000..a75400c Binary files /dev/null and b/.cache/clangd/index/ExprNode.h.0DF8B5FF6B179A2E.idx differ diff --git a/.cache/clangd/index/FileIO.cpp.8F8237506DEEA2AF.idx b/.cache/clangd/index/FileIO.cpp.8F8237506DEEA2AF.idx new file mode 100644 index 0000000..81ce0c9 Binary files /dev/null and b/.cache/clangd/index/FileIO.cpp.8F8237506DEEA2AF.idx differ diff --git a/.cache/clangd/index/FileIO.h.9FA2BA8157874B15.idx b/.cache/clangd/index/FileIO.h.9FA2BA8157874B15.idx new file mode 100644 index 0000000..eda8f13 Binary files /dev/null and b/.cache/clangd/index/FileIO.h.9FA2BA8157874B15.idx differ diff --git a/.cache/clangd/index/FormatString.hpp.3A74D51725A3C858.idx b/.cache/clangd/index/FormatString.hpp.3A74D51725A3C858.idx new file mode 100644 index 0000000..2403572 Binary files /dev/null and b/.cache/clangd/index/FormatString.hpp.3A74D51725A3C858.idx differ diff --git a/.cache/clangd/index/HelpVisitor.h.F4EC295B7B27C54B.idx b/.cache/clangd/index/HelpVisitor.h.F4EC295B7B27C54B.idx new file mode 100644 index 0000000..45d6478 Binary files /dev/null and b/.cache/clangd/index/HelpVisitor.h.F4EC295B7B27C54B.idx differ diff --git a/.cache/clangd/index/IgnoreRestVisitor.h.94005608EE1B973A.idx b/.cache/clangd/index/IgnoreRestVisitor.h.94005608EE1B973A.idx new file mode 100644 index 0000000..8979cc6 Binary files /dev/null and b/.cache/clangd/index/IgnoreRestVisitor.h.94005608EE1B973A.idx differ diff --git a/.cache/clangd/index/Importer.cpp.091E0A0BCD958C95.idx b/.cache/clangd/index/Importer.cpp.091E0A0BCD958C95.idx new file mode 100644 index 0000000..b23c08f Binary files /dev/null and b/.cache/clangd/index/Importer.cpp.091E0A0BCD958C95.idx differ diff --git a/.cache/clangd/index/Importer.h.2F3545280A136DD7.idx b/.cache/clangd/index/Importer.h.2F3545280A136DD7.idx new file mode 100644 index 0000000..9a6d072 Binary files /dev/null and b/.cache/clangd/index/Importer.h.2F3545280A136DD7.idx differ diff --git a/.cache/clangd/index/Lexer.cpp.D3B870E487A318E2.idx b/.cache/clangd/index/Lexer.cpp.D3B870E487A318E2.idx new file mode 100644 index 0000000..9a3f3fc Binary files /dev/null and b/.cache/clangd/index/Lexer.cpp.D3B870E487A318E2.idx differ diff --git a/.cache/clangd/index/Lexer.h.5E5FFABF41760E91.idx b/.cache/clangd/index/Lexer.h.5E5FFABF41760E91.idx new file mode 100644 index 0000000..e11631d Binary files /dev/null and b/.cache/clangd/index/Lexer.h.5E5FFABF41760E91.idx differ diff --git a/.cache/clangd/index/Location.cpp.C9D9BBD164F9BA56.idx b/.cache/clangd/index/Location.cpp.C9D9BBD164F9BA56.idx new file mode 100644 index 0000000..e244f23 Binary files /dev/null and b/.cache/clangd/index/Location.cpp.C9D9BBD164F9BA56.idx differ diff --git a/.cache/clangd/index/Location.h.AB77C08586B33BC4.idx b/.cache/clangd/index/Location.h.AB77C08586B33BC4.idx new file mode 100644 index 0000000..2682839 Binary files /dev/null and b/.cache/clangd/index/Location.h.AB77C08586B33BC4.idx differ diff --git a/.cache/clangd/index/MulNode.cpp.8E3E7EF562643576.idx b/.cache/clangd/index/MulNode.cpp.8E3E7EF562643576.idx new file mode 100644 index 0000000..76cb54a Binary files /dev/null and b/.cache/clangd/index/MulNode.cpp.8E3E7EF562643576.idx differ diff --git a/.cache/clangd/index/MulNode.h.235F46E423D88601.idx b/.cache/clangd/index/MulNode.h.235F46E423D88601.idx new file mode 100644 index 0000000..9bde175 Binary files /dev/null and b/.cache/clangd/index/MulNode.h.235F46E423D88601.idx differ diff --git a/.cache/clangd/index/MultiArg.h.BBA0DA2650325CA9.idx b/.cache/clangd/index/MultiArg.h.BBA0DA2650325CA9.idx new file mode 100644 index 0000000..274a110 Binary files /dev/null and b/.cache/clangd/index/MultiArg.h.BBA0DA2650325CA9.idx differ diff --git a/.cache/clangd/index/MultiSwitchArg.h.C80257DD0591E756.idx b/.cache/clangd/index/MultiSwitchArg.h.C80257DD0591E756.idx new file mode 100644 index 0000000..32c3a7f Binary files /dev/null and b/.cache/clangd/index/MultiSwitchArg.h.C80257DD0591E756.idx differ diff --git a/.cache/clangd/index/Normalizer.cpp.442AE9722A3F4EAC.idx b/.cache/clangd/index/Normalizer.cpp.442AE9722A3F4EAC.idx new file mode 100644 index 0000000..157d0b2 Binary files /dev/null and b/.cache/clangd/index/Normalizer.cpp.442AE9722A3F4EAC.idx differ diff --git a/.cache/clangd/index/Normalizer.h.29E50ADF96486B59.idx b/.cache/clangd/index/Normalizer.h.29E50ADF96486B59.idx new file mode 100644 index 0000000..4db80c7 Binary files /dev/null and b/.cache/clangd/index/Normalizer.h.29E50ADF96486B59.idx differ diff --git a/.cache/clangd/index/NumberNode.cpp.69899A49740F5EDF.idx b/.cache/clangd/index/NumberNode.cpp.69899A49740F5EDF.idx new file mode 100644 index 0000000..76b57b0 Binary files /dev/null and b/.cache/clangd/index/NumberNode.cpp.69899A49740F5EDF.idx differ diff --git a/.cache/clangd/index/NumberNode.h.2AEF567B92EDF86C.idx b/.cache/clangd/index/NumberNode.h.2AEF567B92EDF86C.idx new file mode 100644 index 0000000..2002765 Binary files /dev/null and b/.cache/clangd/index/NumberNode.h.2AEF567B92EDF86C.idx differ diff --git a/.cache/clangd/index/OptionalUnlabeledTracker.h.B7CEE6D39C3A28D2.idx b/.cache/clangd/index/OptionalUnlabeledTracker.h.B7CEE6D39C3A28D2.idx new file mode 100644 index 0000000..f8a4ba7 Binary files /dev/null and b/.cache/clangd/index/OptionalUnlabeledTracker.h.B7CEE6D39C3A28D2.idx differ diff --git a/.cache/clangd/index/Parser.cpp.B554EE013B8347C5.idx b/.cache/clangd/index/Parser.cpp.B554EE013B8347C5.idx new file mode 100644 index 0000000..ad11781 Binary files /dev/null and b/.cache/clangd/index/Parser.cpp.B554EE013B8347C5.idx differ diff --git a/.cache/clangd/index/Parser.h.949BCC1E3ADD4428.idx b/.cache/clangd/index/Parser.h.949BCC1E3ADD4428.idx new file mode 100644 index 0000000..1c62edf Binary files /dev/null and b/.cache/clangd/index/Parser.h.949BCC1E3ADD4428.idx differ diff --git a/.cache/clangd/index/StandardTraits.h.1588C3607CBEAD3E.idx b/.cache/clangd/index/StandardTraits.h.1588C3607CBEAD3E.idx new file mode 100644 index 0000000..246de97 Binary files /dev/null and b/.cache/clangd/index/StandardTraits.h.1588C3607CBEAD3E.idx differ diff --git a/.cache/clangd/index/StatementNode.cpp.22E27075308FC188.idx b/.cache/clangd/index/StatementNode.cpp.22E27075308FC188.idx new file mode 100644 index 0000000..810160b Binary files /dev/null and b/.cache/clangd/index/StatementNode.cpp.22E27075308FC188.idx differ diff --git a/.cache/clangd/index/StatementNode.h.8DACD59761360BD2.idx b/.cache/clangd/index/StatementNode.h.8DACD59761360BD2.idx new file mode 100644 index 0000000..0657c29 Binary files /dev/null and b/.cache/clangd/index/StatementNode.h.8DACD59761360BD2.idx differ diff --git a/.cache/clangd/index/StdOutput.h.B2A5DE4D963C11CB.idx b/.cache/clangd/index/StdOutput.h.B2A5DE4D963C11CB.idx new file mode 100644 index 0000000..7298053 Binary files /dev/null and b/.cache/clangd/index/StdOutput.h.B2A5DE4D963C11CB.idx differ diff --git a/.cache/clangd/index/SumNode.cpp.9BEF02D059522A81.idx b/.cache/clangd/index/SumNode.cpp.9BEF02D059522A81.idx new file mode 100644 index 0000000..b3eb734 Binary files /dev/null and b/.cache/clangd/index/SumNode.cpp.9BEF02D059522A81.idx differ diff --git a/.cache/clangd/index/SumNode.h.A8FC63D04B738B0D.idx b/.cache/clangd/index/SumNode.h.A8FC63D04B738B0D.idx new file mode 100644 index 0000000..6e6f49a Binary files /dev/null and b/.cache/clangd/index/SumNode.h.A8FC63D04B738B0D.idx differ diff --git a/.cache/clangd/index/SwitchArg.h.E5A6FC1569510EE6.idx b/.cache/clangd/index/SwitchArg.h.E5A6FC1569510EE6.idx new file mode 100644 index 0000000..57120e7 Binary files /dev/null and b/.cache/clangd/index/SwitchArg.h.E5A6FC1569510EE6.idx differ diff --git a/.cache/clangd/index/Token.cpp.A74F1E982C163E32.idx b/.cache/clangd/index/Token.cpp.A74F1E982C163E32.idx new file mode 100644 index 0000000..fc3b1ae Binary files /dev/null and b/.cache/clangd/index/Token.cpp.A74F1E982C163E32.idx differ diff --git a/.cache/clangd/index/Token.h.27D872C5CE08B237.idx b/.cache/clangd/index/Token.h.27D872C5CE08B237.idx new file mode 100644 index 0000000..a1c7b43 Binary files /dev/null and b/.cache/clangd/index/Token.h.27D872C5CE08B237.idx differ diff --git a/.cache/clangd/index/UnlabeledMultiArg.h.FECC38423C878B06.idx b/.cache/clangd/index/UnlabeledMultiArg.h.FECC38423C878B06.idx new file mode 100644 index 0000000..cd371ce Binary files /dev/null and b/.cache/clangd/index/UnlabeledMultiArg.h.FECC38423C878B06.idx differ diff --git a/.cache/clangd/index/UnlabeledValueArg.h.7AA5AFE6EF57EF5B.idx b/.cache/clangd/index/UnlabeledValueArg.h.7AA5AFE6EF57EF5B.idx new file mode 100644 index 0000000..37fcbb4 Binary files /dev/null and b/.cache/clangd/index/UnlabeledValueArg.h.7AA5AFE6EF57EF5B.idx differ diff --git a/.cache/clangd/index/ValueArg.h.AB1C3432B28286EF.idx b/.cache/clangd/index/ValueArg.h.AB1C3432B28286EF.idx new file mode 100644 index 0000000..dc7c6bf Binary files /dev/null and b/.cache/clangd/index/ValueArg.h.AB1C3432B28286EF.idx differ diff --git a/.cache/clangd/index/ValuesConstraint.h.DA3520C6056CBC0A.idx b/.cache/clangd/index/ValuesConstraint.h.DA3520C6056CBC0A.idx new file mode 100644 index 0000000..fd6c8ed Binary files /dev/null and b/.cache/clangd/index/ValuesConstraint.h.DA3520C6056CBC0A.idx differ diff --git a/.cache/clangd/index/VersionVisitor.h.2984090290E646A8.idx b/.cache/clangd/index/VersionVisitor.h.2984090290E646A8.idx new file mode 100644 index 0000000..1ebb8d6 Binary files /dev/null and b/.cache/clangd/index/VersionVisitor.h.2984090290E646A8.idx differ diff --git a/.cache/clangd/index/Visitor.h.B9815D79CCA94EE5.idx b/.cache/clangd/index/Visitor.h.B9815D79CCA94EE5.idx new file mode 100644 index 0000000..8ade630 Binary files /dev/null and b/.cache/clangd/index/Visitor.h.B9815D79CCA94EE5.idx differ diff --git a/.cache/clangd/index/XorHandler.h.1C76E4702038A911.idx b/.cache/clangd/index/XorHandler.h.1C76E4702038A911.idx new file mode 100644 index 0000000..2d08f13 Binary files /dev/null and b/.cache/clangd/index/XorHandler.h.1C76E4702038A911.idx differ diff --git a/.cache/clangd/index/sapphire.cpp.15840129E7B7B4EF.idx b/.cache/clangd/index/sapphire.cpp.15840129E7B7B4EF.idx new file mode 100644 index 0000000..5705391 Binary files /dev/null and b/.cache/clangd/index/sapphire.cpp.15840129E7B7B4EF.idx differ diff --git a/.cache/clangd/index/sapphirepch.h.07AC922E8E87576A.idx b/.cache/clangd/index/sapphirepch.h.07AC922E8E87576A.idx new file mode 100644 index 0000000..fd3897a Binary files /dev/null and b/.cache/clangd/index/sapphirepch.h.07AC922E8E87576A.idx differ diff --git a/.cache/clangd/index/sstream.h.29D9E642FB948FE1.idx b/.cache/clangd/index/sstream.h.29D9E642FB948FE1.idx new file mode 100644 index 0000000..a5a7e4f Binary files /dev/null and b/.cache/clangd/index/sstream.h.29D9E642FB948FE1.idx differ diff --git a/.cache/clangd/index/utils.cpp.FC6D0CECDE87BC46.idx b/.cache/clangd/index/utils.cpp.FC6D0CECDE87BC46.idx new file mode 100644 index 0000000..14fa42b Binary files /dev/null and b/.cache/clangd/index/utils.cpp.FC6D0CECDE87BC46.idx differ diff --git a/.cache/clangd/index/utils.h.48E839AADCECB6C4.idx b/.cache/clangd/index/utils.h.48E839AADCECB6C4.idx new file mode 100644 index 0000000..db12048 Binary files /dev/null and b/.cache/clangd/index/utils.h.48E839AADCECB6C4.idx differ diff --git a/docs/header.html b/docs/header.html new file mode 100644 index 0000000..aeb3164 --- /dev/null +++ b/docs/header.html @@ -0,0 +1,67 @@ + + + + + + + + + + + $projectname: $title + + + $title + + + + + $treeview + $search + $mathjax + + $extrastylesheet + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+
$projectname +  $projectnumber + +
+ +
$projectbrief
+ +
+
$projectbrief
+
$searchbox
+
+ + \ No newline at end of file diff --git a/docs/html/doxygen-awesome-darkmode-toggle.js b/docs/html/doxygen-awesome-darkmode-toggle.js new file mode 100644 index 0000000..f2c5853 --- /dev/null +++ b/docs/html/doxygen-awesome-darkmode-toggle.js @@ -0,0 +1,157 @@ +/** + +Doxygen Awesome +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. + +*/ + +class DoxygenAwesomeDarkModeToggle extends HTMLElement { + // SVG icons from https://fonts.google.com/icons + // Licensed under the Apache 2.0 license: + // https://www.apache.org/licenses/LICENSE-2.0.html + static lightModeIcon = `` + static darkModeIcon = `` + static title = "Toggle Light/Dark Mode" + + static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" + static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" + + static _staticConstructor = function() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference) + // Update the color scheme when the browsers preference changes + // without user interaction on the website. + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + }) + // Update the color scheme when the tab is made visible again. + // It is possible that the appearance was changed in another tab + // while this tab was in the background. + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + } + }); + }() + + static init() { + $(function() { + $(document).ready(function() { + const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle') + toggleButton.title = DoxygenAwesomeDarkModeToggle.title + toggleButton.updateIcon() + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + toggleButton.updateIcon() + }) + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + toggleButton.updateIcon() + } + }); + + $(document).ready(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + $(window).resize(function(){ + document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) + }) + }) + }) + } + + constructor() { + super(); + this.onclick=this.toggleDarkMode + } + + /** + * @returns `true` for dark-mode, `false` for light-mode system preference + */ + static get systemPreference() { + return window.matchMedia('(prefers-color-scheme: dark)').matches + } + + /** + * @returns `true` for dark-mode, `false` for light-mode user preference + */ + static get userPreference() { + return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || + (DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) + } + + static set userPreference(userPreference) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference + if(!userPreference) { + if(DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) + } + } else { + if(!DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) + } + } + DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() + } + + static enableDarkMode(enable) { + if(enable) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = true + document.documentElement.classList.add("dark-mode") + document.documentElement.classList.remove("light-mode") + } else { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = false + document.documentElement.classList.remove("dark-mode") + document.documentElement.classList.add("light-mode") + } + } + + static onSystemPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + static onUserPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + toggleDarkMode() { + DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference + this.updateIcon() + } + + updateIcon() { + if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) { + this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon + } else { + this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon + } + } +} + +customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); diff --git a/docs/html/doxygen-awesome-sidebar-only-darkmode-toggle.css b/docs/html/doxygen-awesome-sidebar-only-darkmode-toggle.css new file mode 100644 index 0000000..b988b6f --- /dev/null +++ b/docs/html/doxygen-awesome-sidebar-only-darkmode-toggle.css @@ -0,0 +1,40 @@ + +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 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. + +*/ + +@media screen and (min-width: 768px) { + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height)); + } +}