mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 11:55:51 +00:00 
			
		
		
		
	docs: Update doxygen-awesome-css to 2.4.0 (#2647)
This commit is contained in:
		@@ -3,6 +3,8 @@ PROJECT_LOGO           = ${SOURCE}/docs/img/xrpl-logo.svg
 | 
			
		||||
PROJECT_NUMBER         = ${DOC_CLIO_VERSION}
 | 
			
		||||
PROJECT_BRIEF          = The XRP Ledger API server.
 | 
			
		||||
 | 
			
		||||
DOT_GRAPH_MAX_NODES    = 100
 | 
			
		||||
 | 
			
		||||
EXTRACT_ALL            = NO
 | 
			
		||||
EXTRACT_PRIVATE        = NO
 | 
			
		||||
EXTRACT_PACKAGE        = YES
 | 
			
		||||
@@ -32,12 +34,18 @@ SORT_MEMBERS_CTORS_1ST = YES
 | 
			
		||||
GENERATE_TREEVIEW      = YES
 | 
			
		||||
DISABLE_INDEX          = NO
 | 
			
		||||
FULL_SIDEBAR           = NO
 | 
			
		||||
HTML_HEADER            = ${SOURCE}/docs/doxygen-awesome-theme/header.html
 | 
			
		||||
HTML_HEADER            = ${SOURCE}/docs/doxygen-awesome-theme/doxygen-custom/header.html
 | 
			
		||||
HTML_EXTRA_STYLESHEET  = ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome.css \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-sidebar-only.css \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-sidebar-only-darkmode-toggle.css
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-sidebar-only-darkmode-toggle.css \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-custom/custom.css \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-custom/theme-robot.css \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-custom/theme-round.css \
 | 
			
		||||
                         ${SOURCE}/docs/github-corner-disable.css
 | 
			
		||||
HTML_EXTRA_FILES       = ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-darkmode-toggle.js \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-interactive-toc.js
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-fragment-copy-button.js \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-awesome-interactive-toc.js \
 | 
			
		||||
                         ${SOURCE}/docs/doxygen-awesome-theme/doxygen-custom/toggle-alternative-theme.js
 | 
			
		||||
 | 
			
		||||
HTML_COLORSTYLE        = LIGHT
 | 
			
		||||
HTML_COLORSTYLE_HUE    = 209
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,10 @@
 | 
			
		||||
// SPDX-License-Identifier: MIT
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2021 - 2023 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.
 | 
			
		||||
Copyright (c) 2021 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,66 @@
 | 
			
		||||
// SPDX-License-Identifier: MIT
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2022 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
class DoxygenAwesomeFragmentCopyButton extends HTMLElement {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super();
 | 
			
		||||
        this.onclick=this.copyContent
 | 
			
		||||
    }
 | 
			
		||||
    static title = "Copy to clipboard"
 | 
			
		||||
    static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M23.04,10.322c0,-2.582 -2.096,-4.678 -4.678,-4.678l-6.918,-0c-2.582,-0 -4.678,2.096 -4.678,4.678c0,-0 0,8.04 0,8.04c0,2.582 2.096,4.678 4.678,4.678c0,-0 6.918,-0 6.918,-0c2.582,-0 4.678,-2.096 4.678,-4.678c0,-0 0,-8.04 0,-8.04Zm-2.438,-0l-0,8.04c-0,1.236 -1.004,2.24 -2.24,2.24l-6.918,-0c-1.236,-0 -2.239,-1.004 -2.239,-2.24l-0,-8.04c-0,-1.236 1.003,-2.24 2.239,-2.24c0,0 6.918,0 6.918,0c1.236,0 2.24,1.004 2.24,2.24Z"/><path d="M5.327,16.748c-0,0.358 -0.291,0.648 -0.649,0.648c0,0 0,0 0,0c-2.582,0 -4.678,-2.096 -4.678,-4.678c0,0 0,-8.04 0,-8.04c0,-2.582 2.096,-4.678 4.678,-4.678l6.918,0c2.168,0 3.994,1.478 4.523,3.481c0.038,0.149 0.005,0.306 -0.09,0.428c-0.094,0.121 -0.239,0.191 -0.392,0.191c-0.451,0.005 -1.057,0.005 -1.457,0.005c-0.238,0 -0.455,-0.14 -0.553,-0.357c-0.348,-0.773 -1.128,-1.31 -2.031,-1.31c-0,0 -6.918,0 -6.918,0c-1.236,0 -2.24,1.004 -2.24,2.24l0,8.04c0,1.236 1.004,2.24 2.24,2.24l0,-0c0.358,-0 0.649,0.29 0.649,0.648c-0,0.353 -0,0.789 -0,1.142Z" style="fill-opacity:0.6;"/></svg>`
 | 
			
		||||
    static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M8.084,16.111c-0.09,0.09 -0.212,0.141 -0.34,0.141c-0.127,-0 -0.249,-0.051 -0.339,-0.141c-0.746,-0.746 -2.538,-2.538 -3.525,-3.525c-0.375,-0.375 -0.983,-0.375 -1.357,0c-0.178,0.178 -0.369,0.369 -0.547,0.547c-0.375,0.375 -0.375,0.982 -0,1.357c1.135,1.135 3.422,3.422 4.75,4.751c0.27,0.27 0.637,0.421 1.018,0.421c0.382,0 0.749,-0.151 1.019,-0.421c2.731,-2.732 10.166,-10.167 12.454,-12.455c0.375,-0.375 0.375,-0.982 -0,-1.357c-0.178,-0.178 -0.369,-0.369 -0.547,-0.547c-0.375,-0.375 -0.982,-0.375 -1.357,0c-2.273,2.273 -9.567,9.567 -11.229,11.229Z"/></svg>`
 | 
			
		||||
    static successDuration = 980
 | 
			
		||||
    static init() {
 | 
			
		||||
        $(function() {
 | 
			
		||||
            $(document).ready(function() {
 | 
			
		||||
                if(navigator.clipboard) {
 | 
			
		||||
                    const fragments = document.getElementsByClassName("fragment")
 | 
			
		||||
                    for(const fragment of fragments) {
 | 
			
		||||
                        const fragmentWrapper = document.createElement("div")
 | 
			
		||||
                        fragmentWrapper.className = "doxygen-awesome-fragment-wrapper"
 | 
			
		||||
                        const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button")
 | 
			
		||||
                        fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
 | 
			
		||||
                        fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title
 | 
			
		||||
                
 | 
			
		||||
                        fragment.parentNode.replaceChild(fragmentWrapper, fragment)
 | 
			
		||||
                        fragmentWrapper.appendChild(fragment)
 | 
			
		||||
                        fragmentWrapper.appendChild(fragmentCopyButton)
 | 
			
		||||
            
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            })
 | 
			
		||||
        })
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    copyContent() {
 | 
			
		||||
        const content = this.previousSibling.cloneNode(true)
 | 
			
		||||
        // filter out line number from file listings
 | 
			
		||||
        content.querySelectorAll(".lineno, .ttc").forEach((node) => {
 | 
			
		||||
            node.remove()
 | 
			
		||||
        })
 | 
			
		||||
        let textContent = content.textContent
 | 
			
		||||
        // remove trailing newlines that appear in file listings
 | 
			
		||||
        let numberOfTrailingNewlines = 0
 | 
			
		||||
        while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') {
 | 
			
		||||
            numberOfTrailingNewlines++;
 | 
			
		||||
        }
 | 
			
		||||
        textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines)
 | 
			
		||||
        navigator.clipboard.writeText(textContent);
 | 
			
		||||
        this.classList.add("success")
 | 
			
		||||
        this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon
 | 
			
		||||
        window.setTimeout(() => {
 | 
			
		||||
            this.classList.remove("success")
 | 
			
		||||
            this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
 | 
			
		||||
        }, DoxygenAwesomeFragmentCopyButton.successDuration);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton)
 | 
			
		||||
@@ -1,29 +1,10 @@
 | 
			
		||||
// SPDX-License-Identifier: MIT
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2022 - 2023 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.
 | 
			
		||||
Copyright (c) 2022 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
@@ -55,9 +36,7 @@ class DoxygenAwesomeInteractiveToc {
 | 
			
		||||
                        headerNode: document.getElementById(id)
 | 
			
		||||
                    })
 | 
			
		||||
 | 
			
		||||
                    document.getElementById("doc-content")?.addEventListener("scroll", () => {
 | 
			
		||||
                        DoxygenAwesomeInteractiveToc.update()
 | 
			
		||||
                    })
 | 
			
		||||
                    document.getElementById("doc-content")?.addEventListener("scroll",this.throttle(DoxygenAwesomeInteractiveToc.update, 100))
 | 
			
		||||
                })
 | 
			
		||||
                DoxygenAwesomeInteractiveToc.update()
 | 
			
		||||
            }
 | 
			
		||||
@@ -78,4 +57,16 @@ class DoxygenAwesomeInteractiveToc {
 | 
			
		||||
        active?.classList.add("active")
 | 
			
		||||
        active?.classList.remove("aboveActive")
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    static throttle(func, delay) {
 | 
			
		||||
        let lastCall = 0;
 | 
			
		||||
        return function (...args) {
 | 
			
		||||
            const now = new Date().getTime();
 | 
			
		||||
            if (now - lastCall < delay) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            lastCall = now;
 | 
			
		||||
            return setTimeout(() => {func(...args)}, delay);
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,10 @@
 | 
			
		||||
 | 
			
		||||
/* SPDX-License-Identifier: MIT */
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2021 - 2023 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.
 | 
			
		||||
Copyright (c) 2021 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,10 @@
 | 
			
		||||
/* SPDX-License-Identifier: MIT */
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2021 - 2023 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.
 | 
			
		||||
Copyright (c) 2021 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@@ -60,10 +41,6 @@ html {
 | 
			
		||||
        height: calc(100vh - var(--top-height)) !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #nav-tree {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #top {
 | 
			
		||||
        display: block;
 | 
			
		||||
        border-bottom: none;
 | 
			
		||||
@@ -73,22 +50,24 @@ html {
 | 
			
		||||
        overflow: hidden;
 | 
			
		||||
        background: var(--side-nav-background);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #main-nav {
 | 
			
		||||
        float: left;
 | 
			
		||||
        padding-right: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .ui-resizable-handle {
 | 
			
		||||
        cursor: default;
 | 
			
		||||
        width: 1px !important;
 | 
			
		||||
        background: var(--separator-color);
 | 
			
		||||
        box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color);
 | 
			
		||||
        display: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .ui-resizable-e {
 | 
			
		||||
        width: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #nav-path {
 | 
			
		||||
        position: fixed;
 | 
			
		||||
        right: 0;
 | 
			
		||||
        left: var(--side-nav-fixed-width);
 | 
			
		||||
        left: calc(var(--side-nav-fixed-width) + 1px);
 | 
			
		||||
        bottom: 0;
 | 
			
		||||
        width: auto;
 | 
			
		||||
    }
 | 
			
		||||
@@ -113,4 +92,14 @@ html {
 | 
			
		||||
        left: var(--spacing-medium) !important;
 | 
			
		||||
        right: auto;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #nav-sync {
 | 
			
		||||
        bottom: 4px;
 | 
			
		||||
        right: auto;
 | 
			
		||||
        left: 300px;
 | 
			
		||||
        width: 35px;
 | 
			
		||||
        top: auto !important;
 | 
			
		||||
        user-select: none;
 | 
			
		||||
        position: fixed
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,10 @@
 | 
			
		||||
/* SPDX-License-Identifier: MIT */
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
Doxygen Awesome
 | 
			
		||||
https://github.com/jothepro/doxygen-awesome-css
 | 
			
		||||
 | 
			
		||||
MIT License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2021 - 2023 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.
 | 
			
		||||
Copyright (c) 2021 - 2025 jothepro
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
@@ -32,6 +13,9 @@ html {
 | 
			
		||||
    --primary-color: #1779c4;
 | 
			
		||||
    --primary-dark-color: #335c80;
 | 
			
		||||
    --primary-light-color: #70b1e9;
 | 
			
		||||
    --on-primary-color: #ffffff;
 | 
			
		||||
 | 
			
		||||
    --link-color: var(--primary-color);
 | 
			
		||||
 | 
			
		||||
    /* page base colors */
 | 
			
		||||
    --page-background-color: #ffffff;
 | 
			
		||||
@@ -42,14 +26,15 @@ html {
 | 
			
		||||
    --separator-color: #dedede;
 | 
			
		||||
 | 
			
		||||
    /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
 | 
			
		||||
    --border-radius-large: 8px;
 | 
			
		||||
    --border-radius-small: 4px;
 | 
			
		||||
    --border-radius-medium: 6px;
 | 
			
		||||
    --border-radius-large: 10px;
 | 
			
		||||
    --border-radius-small: 5px;
 | 
			
		||||
    --border-radius-medium: 8px;
 | 
			
		||||
 | 
			
		||||
    /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */
 | 
			
		||||
    --spacing-small: 5px;
 | 
			
		||||
    --spacing-medium: 10px;
 | 
			
		||||
    --spacing-large: 16px;
 | 
			
		||||
    --spacing-xlarge: 20px;
 | 
			
		||||
 | 
			
		||||
    /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */
 | 
			
		||||
    --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
 | 
			
		||||
@@ -113,7 +98,7 @@ html {
 | 
			
		||||
     */
 | 
			
		||||
    --menu-display: block;
 | 
			
		||||
 | 
			
		||||
    --menu-focus-foreground: var(--page-background-color);
 | 
			
		||||
    --menu-focus-foreground: var(--on-primary-color);
 | 
			
		||||
    --menu-focus-background: var(--primary-color);
 | 
			
		||||
    --menu-selected-background: rgba(0,0,0,.05);
 | 
			
		||||
 | 
			
		||||
@@ -310,10 +295,11 @@ body {
 | 
			
		||||
    font-size: var(--page-font-size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body, table, div, p, dl, #nav-tree .label, .title,
 | 
			
		||||
body, table, div, p, dl, #nav-tree .label, #nav-tree a, .title,
 | 
			
		||||
.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,
 | 
			
		||||
.SelectItem, #MSearchField, .navpath li.navelem a,
 | 
			
		||||
.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3 {
 | 
			
		||||
.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3,
 | 
			
		||||
#page-nav ul.page-outline li a {
 | 
			
		||||
    font-family: var(--font-family);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -332,8 +318,13 @@ p.reference, p.definition {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:link, a:visited, a:hover, a:focus, a:active {
 | 
			
		||||
    color: var(--primary-color) !important;
 | 
			
		||||
    color: var(--link-color) !important;
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
    background: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a:hover {
 | 
			
		||||
    text-decoration: underline;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a.anchor {
 | 
			
		||||
@@ -348,6 +339,8 @@ a.anchor {
 | 
			
		||||
#top {
 | 
			
		||||
    background: var(--header-background);
 | 
			
		||||
    border-bottom: 1px solid var(--separator-color);
 | 
			
		||||
    position: relative;
 | 
			
		||||
    z-index: 99;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (min-width: 768px) {
 | 
			
		||||
@@ -362,6 +355,7 @@ a.anchor {
 | 
			
		||||
#main-nav {
 | 
			
		||||
    flex-grow: 5;
 | 
			
		||||
    padding: var(--spacing-small) var(--spacing-medium);
 | 
			
		||||
    border-bottom: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#titlearea {
 | 
			
		||||
@@ -441,19 +435,36 @@ a.anchor {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .sm-dox a span.sub-arrow {
 | 
			
		||||
        border-color: var(--header-foreground) transparent transparent transparent;
 | 
			
		||||
        top: 15px;
 | 
			
		||||
        right: 10px;
 | 
			
		||||
        box-sizing: content-box;
 | 
			
		||||
        padding: 0;
 | 
			
		||||
        margin: 0;
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        width: 5px;
 | 
			
		||||
        height: 5px;
 | 
			
		||||
        transform: rotate(45deg);
 | 
			
		||||
        border-width: 0;
 | 
			
		||||
        border-right: 2px solid var(--header-foreground);
 | 
			
		||||
        border-bottom: 2px solid var(--header-foreground);
 | 
			
		||||
        background: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .sm-dox a:hover span.sub-arrow {
 | 
			
		||||
        border-color: var(--menu-focus-foreground) transparent transparent transparent;
 | 
			
		||||
        border-color: var(--menu-focus-foreground);
 | 
			
		||||
        background: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .sm-dox ul a span.sub-arrow {
 | 
			
		||||
        border-color: transparent transparent transparent var(--page-foreground-color);
 | 
			
		||||
        transform: rotate(-45deg);
 | 
			
		||||
        border-width: 0;
 | 
			
		||||
        border-right: 2px solid var(--header-foreground);
 | 
			
		||||
        border-bottom: 2px solid var(--header-foreground);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .sm-dox ul a:hover span.sub-arrow {
 | 
			
		||||
        border-color: transparent transparent transparent var(--menu-focus-foreground);
 | 
			
		||||
        border-color: var(--menu-focus-foreground);
 | 
			
		||||
        background: none;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -480,7 +491,7 @@ a.anchor {
 | 
			
		||||
 | 
			
		||||
.sm-dox ul a {
 | 
			
		||||
    color: var(--page-foreground-color) !important;
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    background: none;
 | 
			
		||||
    font-size: var(--navigation-font-size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -552,6 +563,13 @@ a.anchor {
 | 
			
		||||
    box-shadow: none;
 | 
			
		||||
    display: block;
 | 
			
		||||
    margin-top: 0;
 | 
			
		||||
    margin-right: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (min-width: 768px) {
 | 
			
		||||
    .sm-dox li {
 | 
			
		||||
        padding: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* until Doxygen 1.9.4 */
 | 
			
		||||
@@ -573,6 +591,17 @@ a.anchor {
 | 
			
		||||
    padding-left: 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Doxygen 1.14.0 */
 | 
			
		||||
.search-icon::before {
 | 
			
		||||
    background: none;
 | 
			
		||||
    top: 5px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.search-icon::after {
 | 
			
		||||
    background: none;
 | 
			
		||||
    top: 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.SelectionMark {
 | 
			
		||||
    user-select: none;
 | 
			
		||||
}
 | 
			
		||||
@@ -776,12 +805,15 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#side-nav {
 | 
			
		||||
    padding: 0 !important;
 | 
			
		||||
    background: var(--side-nav-background);
 | 
			
		||||
    min-width: 8px;
 | 
			
		||||
    max-width: 50vw;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#nav-tree, #top {
 | 
			
		||||
    border-right: 1px solid var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 767px) {
 | 
			
		||||
    #side-nav {
 | 
			
		||||
        display: none;
 | 
			
		||||
@@ -790,34 +822,95 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
    #doc-content {
 | 
			
		||||
        margin-left: 0 !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #top {
 | 
			
		||||
        border-right: none;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree {
 | 
			
		||||
    background: transparent;
 | 
			
		||||
    margin-right: 1px;
 | 
			
		||||
    background: var(--side-nav-background);
 | 
			
		||||
    margin-right: -1px;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree .label {
 | 
			
		||||
    font-size: var(--navigation-font-size);
 | 
			
		||||
    line-height: var(--tree-item-height);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree span.label a:hover {
 | 
			
		||||
    background: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree .item {
 | 
			
		||||
    height: var(--tree-item-height);
 | 
			
		||||
    line-height: var(--tree-item-height);
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
    text-overflow: ellipsis;
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree-contents {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-menu > li:last-child {
 | 
			
		||||
    height: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree .item > a:focus {
 | 
			
		||||
    outline: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-sync {
 | 
			
		||||
    bottom: 12px;
 | 
			
		||||
    right: 12px;
 | 
			
		||||
    bottom: var(--spacing-medium);
 | 
			
		||||
    right: var(--spacing-medium) !important;
 | 
			
		||||
    top: auto !important;
 | 
			
		||||
    user-select: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.nav-sync-icon {
 | 
			
		||||
    border: 1px solid var(--separator-color);
 | 
			
		||||
    border-radius: var(--border-radius-medium);
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    width: 30px;
 | 
			
		||||
    height: 20px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.nav-sync-icon:hover {
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left {
 | 
			
		||||
    border-left: 2px solid var(--primary-color);
 | 
			
		||||
    border-top: 2px solid var(--primary-color);
 | 
			
		||||
    top: 5px;
 | 
			
		||||
    left: 6px;
 | 
			
		||||
}
 | 
			
		||||
span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right {
 | 
			
		||||
    border-right: 2px solid var(--primary-color);
 | 
			
		||||
    border-bottom: 2px solid var(--primary-color);
 | 
			
		||||
    top: 5px;
 | 
			
		||||
    left: initial;
 | 
			
		||||
    right: 6px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after {
 | 
			
		||||
    border-top: 2px solid var(--primary-color);
 | 
			
		||||
    top: 9px;
 | 
			
		||||
    left: 6px;
 | 
			
		||||
    width: 19px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree .selected {
 | 
			
		||||
    text-shadow: none;
 | 
			
		||||
    background-image: none;
 | 
			
		||||
    background-color: transparent;
 | 
			
		||||
    position: relative;
 | 
			
		||||
    color: var(--primary-color) !important;
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree .selected::after {
 | 
			
		||||
@@ -843,9 +936,27 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
 | 
			
		||||
#nav-tree .arrow {
 | 
			
		||||
    opacity: var(--side-nav-arrow-opacity);
 | 
			
		||||
    background: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.arrow {
 | 
			
		||||
#nav-tree span.arrowhead {
 | 
			
		||||
    margin: 0 0 1px 2px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
span.arrowhead {
 | 
			
		||||
    border-color: var(--primary-light-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.selected span.arrowhead {
 | 
			
		||||
    border-color: var(--primary-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree ul li:first-child > div > a {
 | 
			
		||||
    opacity: 0;
 | 
			
		||||
    pointer-events: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.contents .arrow {
 | 
			
		||||
    color: inherit;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    font-size: 45%;
 | 
			
		||||
@@ -853,7 +964,7 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
    margin-right: 2px;
 | 
			
		||||
    font-family: serif;
 | 
			
		||||
    height: auto;
 | 
			
		||||
    text-align: right;
 | 
			
		||||
    padding-bottom: 4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
 | 
			
		||||
@@ -867,9 +978,11 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.ui-resizable-e {
 | 
			
		||||
    width: 4px;
 | 
			
		||||
    background: transparent;
 | 
			
		||||
    box-shadow: inset -1px 0 0 0 var(--separator-color);
 | 
			
		||||
    background: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.ui-resizable-e:hover {
 | 
			
		||||
    background: var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -878,7 +991,7 @@ html.dark-mode iframe#MSearchResults {
 | 
			
		||||
 | 
			
		||||
div.header {
 | 
			
		||||
    border-bottom: 1px solid var(--separator-color);
 | 
			
		||||
    background-color: var(--page-background-color);
 | 
			
		||||
    background: none;
 | 
			
		||||
    background-image: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -917,7 +1030,7 @@ div.headertitle {
 | 
			
		||||
div.header .title {
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    font-size: 225%;
 | 
			
		||||
    padding: var(--spacing-medium) var(--spacing-large);
 | 
			
		||||
    padding: var(--spacing-medium) var(--spacing-xlarge);
 | 
			
		||||
    word-break: break-word;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -934,9 +1047,10 @@ td.memSeparator {
 | 
			
		||||
 | 
			
		||||
span.mlabel {
 | 
			
		||||
    background: var(--primary-color);
 | 
			
		||||
    color: var(--on-primary-color);
 | 
			
		||||
    border: none;
 | 
			
		||||
    padding: 4px 9px;
 | 
			
		||||
    border-radius: 12px;
 | 
			
		||||
    border-radius: var(--border-radius-large);
 | 
			
		||||
    margin-right: var(--spacing-medium);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -945,7 +1059,7 @@ span.mlabel:last-of-type {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.contents {
 | 
			
		||||
    padding: 0 var(--spacing-large);
 | 
			
		||||
    padding: 0 var(--spacing-xlarge);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.contents p, div.contents li {
 | 
			
		||||
@@ -956,6 +1070,16 @@ div.contents div.dyncontent {
 | 
			
		||||
    margin: var(--spacing-medium) 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 767px) {
 | 
			
		||||
    div.contents {
 | 
			
		||||
        padding: 0 var(--spacing-large);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    div.header .title {
 | 
			
		||||
        padding: var(--spacing-medium) var(--spacing-large);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (prefers-color-scheme: dark) {
 | 
			
		||||
    html:not(.light-mode) div.contents div.dyncontent img,
 | 
			
		||||
    html:not(.light-mode) div.contents center img,
 | 
			
		||||
@@ -979,7 +1103,7 @@ html.dark-mode div.contents .dotgraph iframe
 | 
			
		||||
    filter: brightness(89%) hue-rotate(180deg) invert();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h2.groupheader {
 | 
			
		||||
td h2.groupheader, h2.groupheader {
 | 
			
		||||
    border-bottom: 0px;
 | 
			
		||||
    color: var(--page-foreground-color);
 | 
			
		||||
    box-shadow: 
 | 
			
		||||
@@ -1040,7 +1164,7 @@ blockquote::after {
 | 
			
		||||
blockquote p {
 | 
			
		||||
    margin: var(--spacing-small) 0 var(--spacing-medium) 0;
 | 
			
		||||
}
 | 
			
		||||
.paramname {
 | 
			
		||||
.paramname, .paramname em {
 | 
			
		||||
    font-weight: 600;
 | 
			
		||||
    color: var(--primary-dark-color);
 | 
			
		||||
}
 | 
			
		||||
@@ -1090,7 +1214,7 @@ div.contents .toc {
 | 
			
		||||
    border: 0;
 | 
			
		||||
    border-left: 1px solid var(--separator-color);
 | 
			
		||||
    border-radius: 0;
 | 
			
		||||
    background-color: transparent;
 | 
			
		||||
    background-color: var(--page-background-color);
 | 
			
		||||
    box-shadow: none;
 | 
			
		||||
    position: sticky;
 | 
			
		||||
    top: var(--toc-sticky-top);
 | 
			
		||||
@@ -1198,24 +1322,115 @@ div.toc li a.aboveActive {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 Page Outline (Doxygen >= 1.14.0)
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#page-nav {
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    border-left: 1px solid var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav #page-nav-resize-handle {
 | 
			
		||||
    background: var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav #page-nav-resize-handle::after {
 | 
			
		||||
    border-left: 1px solid var(--primary-color);
 | 
			
		||||
    border-right: 1px solid var(--primary-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav #page-nav-tree #page-nav-contents {
 | 
			
		||||
    top: var(--spacing-large);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline li a {
 | 
			
		||||
    font-size: var(--toc-font-size) !important;
 | 
			
		||||
    color: var(--page-secondary-foreground-color) !important;
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    line-height: calc(2 * var(--toc-font-size));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline li a a.anchorlink {
 | 
			
		||||
    display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline li.vis ~ * a {
 | 
			
		||||
    color: var(--page-foreground-color) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover {
 | 
			
		||||
    color: var(--primary-color) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .vis {
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    position: relative;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .vis::after {
 | 
			
		||||
    content: "";
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    bottom: 0;
 | 
			
		||||
    left: 0;
 | 
			
		||||
    width: 4px;
 | 
			
		||||
    background: var(--page-secondary-foreground-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .vis:not(.vis ~ .vis)::after {
 | 
			
		||||
    top: 1px;
 | 
			
		||||
    border-top-right-radius: var(--border-radius-small);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .vis:not(:has(~ .vis))::after {
 | 
			
		||||
    bottom: 1px;
 | 
			
		||||
    border-bottom-right-radius: var(--border-radius-small);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .arrow {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-nav ul.page-outline .arrow span {
 | 
			
		||||
    display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 767px) {
 | 
			
		||||
    #container {
 | 
			
		||||
        grid-template-columns: initial !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #page-nav {
 | 
			
		||||
        display: none;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 Code & Fragments
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
code, div.fragment, pre.fragment {
 | 
			
		||||
    border-radius: var(--border-radius-small);
 | 
			
		||||
code, div.fragment, pre.fragment, span.tt {
 | 
			
		||||
    border: 1px solid var(--separator-color);
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
code {
 | 
			
		||||
code, span.tt {
 | 
			
		||||
    display: inline;
 | 
			
		||||
    background: var(--code-background);
 | 
			
		||||
    color: var(--code-foreground);
 | 
			
		||||
    padding: 2px 6px;
 | 
			
		||||
    border-radius: var(--border-radius-small);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
div.fragment, pre.fragment {
 | 
			
		||||
    border-radius: var(--border-radius-medium);
 | 
			
		||||
    margin: var(--spacing-medium) 0;
 | 
			
		||||
    padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);
 | 
			
		||||
    background: var(--fragment-background);
 | 
			
		||||
@@ -1273,7 +1488,7 @@ div.fragment, pre.fragment {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span {
 | 
			
		||||
code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span, span.tt {
 | 
			
		||||
    font-family: var(--font-family-monospace);
 | 
			
		||||
    font-size: var(--code-font-size) !important;
 | 
			
		||||
}
 | 
			
		||||
@@ -1347,6 +1562,10 @@ div.line.glow {
 | 
			
		||||
 dl warning, attention, note, deprecated, bug, ...
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
dl {
 | 
			
		||||
    line-height: calc(1.65 * var(--page-font-size));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
 | 
			
		||||
    font-weight: bold !important;
 | 
			
		||||
}
 | 
			
		||||
@@ -1512,6 +1731,7 @@ div.memitem {
 | 
			
		||||
    border-top-right-radius: var(--border-radius-medium);
 | 
			
		||||
    border-bottom-right-radius: var(--border-radius-medium);
 | 
			
		||||
    border-bottom-left-radius: var(--border-radius-medium);
 | 
			
		||||
    border-top-left-radius: 0;
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
    display: block !important;
 | 
			
		||||
}
 | 
			
		||||
@@ -1743,7 +1963,7 @@ table.fieldtable th {
 | 
			
		||||
    color: var(--tablehead-foreground);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fielddoc, .fieldtable th {
 | 
			
		||||
table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th {
 | 
			
		||||
    border-bottom: 1px solid var(--separator-color);
 | 
			
		||||
    border-right: 1px solid var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
@@ -1778,8 +1998,10 @@ table.memberdecls tr[class^='memitem'] .memTemplParams {
 | 
			
		||||
    white-space: normal;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls .memItemLeft,
 | 
			
		||||
table.memberdecls .memItemRight,
 | 
			
		||||
table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft,
 | 
			
		||||
table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight,
 | 
			
		||||
table.memberdecls td.memItemLeft,
 | 
			
		||||
table.memberdecls td.memItemRight,
 | 
			
		||||
table.memberdecls .memTemplItemLeft,
 | 
			
		||||
table.memberdecls .memTemplItemRight,
 | 
			
		||||
table.memberdecls .memTemplParams {
 | 
			
		||||
@@ -1791,8 +2013,34 @@ table.memberdecls .memTemplParams {
 | 
			
		||||
    background-color: var(--fragment-background);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (min-width: 768px) {
 | 
			
		||||
 | 
			
		||||
    tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
 | 
			
		||||
        border-top-right-radius: var(--border-radius-small);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
 | 
			
		||||
        border-bottom-right-radius: var(--border-radius-small);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
 | 
			
		||||
        border-bottom-left-radius: var(--border-radius-small);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
 | 
			
		||||
        border-top-left-radius: var(--border-radius-small);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memname td.memname {
 | 
			
		||||
    font-size: var(--memname-font-size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls .memTemplItemLeft,
 | 
			
		||||
table.memberdecls .memTemplItemRight {
 | 
			
		||||
table.memberdecls .template .memItemLeft,
 | 
			
		||||
table.memberdecls .memTemplItemRight,
 | 
			
		||||
table.memberdecls .template .memItemRight {
 | 
			
		||||
    padding-top: 2px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1804,13 +2052,13 @@ table.memberdecls .memTemplParams {
 | 
			
		||||
    padding-bottom: var(--spacing-small);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls .memTemplItemLeft {
 | 
			
		||||
table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft {
 | 
			
		||||
    border-radius: 0 0 0 var(--border-radius-small);
 | 
			
		||||
    border-left: 1px solid var(--separator-color);
 | 
			
		||||
    border-top: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls .memTemplItemRight {
 | 
			
		||||
table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight {
 | 
			
		||||
    border-radius: 0 0 var(--border-radius-small) 0;
 | 
			
		||||
    border-right: 1px solid var(--separator-color);
 | 
			
		||||
    padding-left: 0;
 | 
			
		||||
@@ -1836,8 +2084,14 @@ table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
 | 
			
		||||
    background: none;
 | 
			
		||||
    color: var(--page-foreground-color);
 | 
			
		||||
    padding: var(--spacing-small) 0;
 | 
			
		||||
    border: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls [class^="memdesc"] {
 | 
			
		||||
    box-shadow: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
table.memberdecls .memItemLeft,
 | 
			
		||||
table.memberdecls .memTemplItemLeft {
 | 
			
		||||
    padding-right: var(--spacing-medium);
 | 
			
		||||
@@ -1860,6 +2114,10 @@ table.memberdecls .inherit_header td {
 | 
			
		||||
    color: var(--page-secondary-foreground-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls span.dynarrow {
 | 
			
		||||
    left: 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls img[src="closed.png"],
 | 
			
		||||
table.memberdecls img[src="open.png"],
 | 
			
		||||
div.dynheader img[src="open.png"],
 | 
			
		||||
@@ -1876,6 +2134,10 @@ div.dynheader img[src="closed.png"] {
 | 
			
		||||
    transition: transform var(--animation-duration) ease-out;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft, tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
 | 
			
		||||
    border-top: 1px solid var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table.memberdecls img {
 | 
			
		||||
    margin-right: 10px;
 | 
			
		||||
}
 | 
			
		||||
@@ -1900,7 +2162,10 @@ div.dynheader img[src="closed.png"] {
 | 
			
		||||
    table.memberdecls .mdescRight,
 | 
			
		||||
    table.memberdecls .memTemplItemLeft,
 | 
			
		||||
    table.memberdecls .memTemplItemRight,
 | 
			
		||||
    table.memberdecls .memTemplParams {
 | 
			
		||||
    table.memberdecls .memTemplParams,
 | 
			
		||||
    table.memberdecls .template .memItemLeft,
 | 
			
		||||
    table.memberdecls .template .memItemRight,
 | 
			
		||||
    table.memberdecls .template .memParams {
 | 
			
		||||
        display: block;
 | 
			
		||||
        text-align: left;
 | 
			
		||||
        padding-left: var(--spacing-large);
 | 
			
		||||
@@ -1913,12 +2178,14 @@ div.dynheader img[src="closed.png"] {
 | 
			
		||||
 | 
			
		||||
    table.memberdecls .memItemLeft,
 | 
			
		||||
    table.memberdecls .mdescLeft,
 | 
			
		||||
    table.memberdecls .memTemplItemLeft {
 | 
			
		||||
        border-bottom: 0;
 | 
			
		||||
        padding-bottom: 0;
 | 
			
		||||
    table.memberdecls .memTemplItemLeft,
 | 
			
		||||
    table.memberdecls .template .memItemLeft {
 | 
			
		||||
        border-bottom: 0 !important;
 | 
			
		||||
        padding-bottom: 0 !important;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.memberdecls .memTemplItemLeft {
 | 
			
		||||
    table.memberdecls .memTemplItemLeft,
 | 
			
		||||
    table.memberdecls .template .memItemLeft {
 | 
			
		||||
        padding-top: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1928,10 +2195,12 @@ div.dynheader img[src="closed.png"] {
 | 
			
		||||
 | 
			
		||||
    table.memberdecls .memItemRight, 
 | 
			
		||||
    table.memberdecls .mdescRight,
 | 
			
		||||
    table.memberdecls .memTemplItemRight {
 | 
			
		||||
        border-top: 0;
 | 
			
		||||
        padding-top: 0;
 | 
			
		||||
    table.memberdecls .memTemplItemRight,
 | 
			
		||||
    table.memberdecls .template .memItemRight {
 | 
			
		||||
        border-top: 0 !important;
 | 
			
		||||
        padding-top: 0 !important;
 | 
			
		||||
        padding-right: var(--spacing-large);
 | 
			
		||||
        padding-bottom: var(--spacing-medium);
 | 
			
		||||
        overflow-x: auto;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1966,6 +2235,22 @@ div.dynheader img[src="closed.png"] {
 | 
			
		||||
            max-height: 200px;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
 | 
			
		||||
        border-top-right-radius: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
 | 
			
		||||
        border-bottom-right-radius: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
 | 
			
		||||
        border-bottom-left-radius: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
 | 
			
		||||
        border-top-left-radius: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -1982,14 +2267,16 @@ hr {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.contents hr {
 | 
			
		||||
    box-shadow: 100px 0 0 var(--separator-color),
 | 
			
		||||
                -100px 0 0 var(--separator-color),
 | 
			
		||||
                500px 0 0 var(--separator-color),
 | 
			
		||||
                -500px 0 0 var(--separator-color),
 | 
			
		||||
                1500px 0 0 var(--separator-color),
 | 
			
		||||
                -1500px 0 0 var(--separator-color),
 | 
			
		||||
                2000px 0 0 var(--separator-color),
 | 
			
		||||
                -2000px 0 0 var(--separator-color);
 | 
			
		||||
    box-shadow: 100px 0 var(--separator-color),
 | 
			
		||||
                -100px 0 var(--separator-color),
 | 
			
		||||
                500px 0 var(--separator-color),
 | 
			
		||||
                -500px 0 var(--separator-color),
 | 
			
		||||
                900px 0 var(--separator-color),
 | 
			
		||||
                -900px 0 var(--separator-color),
 | 
			
		||||
                1400px 0 var(--separator-color),
 | 
			
		||||
                -1400px 0 var(--separator-color),
 | 
			
		||||
                1900px 0 var(--separator-color),
 | 
			
		||||
                -1900px 0 var(--separator-color);       
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.contents img, .contents .center, .contents center, .contents div.image object {
 | 
			
		||||
@@ -2152,9 +2439,7 @@ div.qindex {
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    border: none;
 | 
			
		||||
    border-top: 1px solid var(--separator-color);
 | 
			
		||||
    border-bottom: 1px solid var(--separator-color);
 | 
			
		||||
    border-bottom: 0;
 | 
			
		||||
    box-shadow: 0 0.75px 0 var(--separator-color);
 | 
			
		||||
    font-size: var(--navigation-font-size);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -2183,6 +2468,10 @@ address.footer {
 | 
			
		||||
    color: var(--primary-color) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.navpath li.navelem a:hover {
 | 
			
		||||
    text-shadow: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.navpath li.navelem b {
 | 
			
		||||
    color: var(--primary-dark-color);
 | 
			
		||||
    font-weight: 500;
 | 
			
		||||
@@ -2201,7 +2490,11 @@ li.navelem:first-child:before {
 | 
			
		||||
    display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:after {
 | 
			
		||||
#nav-path ul {
 | 
			
		||||
    padding-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:has(.el):after {
 | 
			
		||||
    content: '';
 | 
			
		||||
    border: 5px solid var(--page-background-color);
 | 
			
		||||
    border-bottom-color: transparent;
 | 
			
		||||
@@ -2212,7 +2505,21 @@ li.navelem:first-child:before {
 | 
			
		||||
    margin-left: 6px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:before {
 | 
			
		||||
#nav-path li.navelem:not(:has(.el)):after {
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    box-shadow: 1px -1px 0 1px var(--separator-color);
 | 
			
		||||
    border-radius: 0 var(--border-radius-medium) 0 50px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:not(:has(.el)) {
 | 
			
		||||
    margin-left: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after {
 | 
			
		||||
    background-color: var(--separator-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-path li.navelem:has(.el):before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    border: 5px solid var(--separator-color);
 | 
			
		||||
    border-bottom-color: transparent;
 | 
			
		||||
@@ -2338,7 +2645,7 @@ doxygen-awesome-dark-mode-toggle {
 | 
			
		||||
    height: var(--searchbar-height);
 | 
			
		||||
    background: none;
 | 
			
		||||
    border: none;
 | 
			
		||||
    border-radius: var(--searchbar-height);
 | 
			
		||||
    border-radius: var(--searchbar-border-radius);
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
    line-height: var(--searchbar-height);
 | 
			
		||||
@@ -2523,6 +2830,7 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.
 | 
			
		||||
    float: left;
 | 
			
		||||
    white-space: nowrap;
 | 
			
		||||
    font-weight: normal;
 | 
			
		||||
    font-family: var(--font-family);
 | 
			
		||||
    padding: calc(var(--spacing-large) / 2) var(--spacing-large);
 | 
			
		||||
    border-radius: var(--border-radius-medium);
 | 
			
		||||
    transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out;
 | 
			
		||||
@@ -2667,3 +2975,46 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.
 | 
			
		||||
        border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* 
 | 
			
		||||
 Bordered image
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
 | 
			
		||||
html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
 | 
			
		||||
    filter: brightness(89%) hue-rotate(180deg) invert();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.bordered_image {
 | 
			
		||||
    border-radius: var(--border-radius-small);
 | 
			
		||||
    border: 1px solid var(--separator-color);
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.bordered_image:empty {
 | 
			
		||||
    border: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
 | 
			
		||||
html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
 | 
			
		||||
    border-radius: var(--border-radius-small);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 Button
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
.primary-button {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    background: var(--primary-color);
 | 
			
		||||
    color: var(--page-background-color) !important;
 | 
			
		||||
    border-radius: var(--border-radius-medium);
 | 
			
		||||
    padding: var(--spacing-small) var(--spacing-medium);
 | 
			
		||||
    text-decoration: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.primary-button:hover {
 | 
			
		||||
    background: var(--primary-dark-color);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										129
									
								
								docs/doxygen-awesome-theme/doxygen-custom/custom.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								docs/doxygen-awesome-theme/doxygen-custom/custom.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,129 @@
 | 
			
		||||
.github-corner svg {
 | 
			
		||||
    fill: var(--primary-light-color);
 | 
			
		||||
    color: var(--page-background-color);
 | 
			
		||||
    width: 72px;
 | 
			
		||||
    height: 72px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 767px) {
 | 
			
		||||
    .github-corner svg {
 | 
			
		||||
        width: 50px;
 | 
			
		||||
        height: 50px;
 | 
			
		||||
    }
 | 
			
		||||
    #projectnumber {
 | 
			
		||||
        margin-right: 22px;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.title_screenshot {
 | 
			
		||||
    filter: drop-shadow(0px 3px 10px rgba(0,0,0,0.22));
 | 
			
		||||
    max-width: 500px;
 | 
			
		||||
    margin: var(--spacing-large) 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.title_screenshot .caption {
 | 
			
		||||
    display: none;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-selection {
 | 
			
		||||
    position: fixed;
 | 
			
		||||
    bottom: 0;
 | 
			
		||||
    left: 0;
 | 
			
		||||
    background: var(--side-nav-background);
 | 
			
		||||
    padding: 5px 2px 5px 8px;
 | 
			
		||||
    box-shadow: 0 -4px 4px -2px var(--side-nav-background);
 | 
			
		||||
    display: flex;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-selection label {
 | 
			
		||||
    border: 1px solid var(--separator-color);
 | 
			
		||||
    border-right: 0;
 | 
			
		||||
    color: var(--page-foreground-color);
 | 
			
		||||
    font-size: var(--toc-font-size);
 | 
			
		||||
    padding: 0 8px;
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    height: 22px;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
    border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
 | 
			
		||||
    line-height: 20px;
 | 
			
		||||
    background: var(--page-background-color);
 | 
			
		||||
    opacity: 0.7;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (prefers-color-scheme: dark) {
 | 
			
		||||
    html:not(.light-mode) #theme-select {
 | 
			
		||||
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23aaaaaa'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
 | 
			
		||||
        background-size: 8px;
 | 
			
		||||
        background-position: calc(100% - 6px) 65%;
 | 
			
		||||
        background-color: var(--page-background-color);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html.dark-mode #theme-select {
 | 
			
		||||
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23aaaaaa'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
 | 
			
		||||
    background-size: 8px;
 | 
			
		||||
    background-position: calc(100% - 6px) 65%;
 | 
			
		||||
    background-color: var(--page-background-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-select {
 | 
			
		||||
    border: 1px solid var(--separator-color);
 | 
			
		||||
    border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    height: 22px;
 | 
			
		||||
    font-size: var(--toc-font-size);
 | 
			
		||||
    font-family: var(--font-family);
 | 
			
		||||
    width: 215px;
 | 
			
		||||
    color: var(--primary-color);
 | 
			
		||||
    border-left: 0;
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    opacity: 0.7;
 | 
			
		||||
    outline: none;
 | 
			
		||||
    -webkit-appearance: none;
 | 
			
		||||
    -moz-appearance: none;
 | 
			
		||||
    appearance: none;
 | 
			
		||||
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23888888'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
 | 
			
		||||
    background-size: 8px;
 | 
			
		||||
    background-position: calc(100% - 6px) 65%;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    background-color: var(--page-background-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#theme-selection:hover #theme-select, #theme-selection:hover label {
 | 
			
		||||
    opacity: 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-tree-contents {
 | 
			
		||||
    margin-bottom: 30px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media screen and (max-width: 767px) {
 | 
			
		||||
    #theme-selection {
 | 
			
		||||
        box-shadow: none;
 | 
			
		||||
        background: none;
 | 
			
		||||
        height: 20px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #theme-select {
 | 
			
		||||
        width: 80px;
 | 
			
		||||
        opacity: 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #theme-selection label {
 | 
			
		||||
        opacity: 1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #nav-path ul li.navelem:first-child {
 | 
			
		||||
        margin-left: 160px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ul li.footer:not(:first-child) {
 | 
			
		||||
        display: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #nav-path {
 | 
			
		||||
        position: fixed;
 | 
			
		||||
        bottom: 0;
 | 
			
		||||
        background: var(--page-background-color);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										98
									
								
								docs/doxygen-awesome-theme/doxygen-custom/header.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								docs/doxygen-awesome-theme/doxygen-custom/header.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,98 @@
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
<head>
 | 
			
		||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 | 
			
		||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
 | 
			
		||||
<meta name="generator" content="Doxygen $doxygenversion"/>
 | 
			
		||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
 | 
			
		||||
 | 
			
		||||
<!-- BEGIN opengraph metadata -->
 | 
			
		||||
<meta property="og:title" content="Doxygen Awesome" />
 | 
			
		||||
<meta property="og:image" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
 | 
			
		||||
<meta property="og:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
 | 
			
		||||
<meta property="og:url" content="https://jothepro.github.io/doxygen-awesome-css/" />
 | 
			
		||||
<!-- END opengraph metadata -->
 | 
			
		||||
 | 
			
		||||
<!-- BEGIN twitter metadata -->
 | 
			
		||||
<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
 | 
			
		||||
<meta name="twitter:title" content="Doxygen Awesome" />
 | 
			
		||||
<meta name="twitter:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
 | 
			
		||||
<!-- END twitter metadata -->
 | 
			
		||||
 | 
			
		||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
 | 
			
		||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
 | 
			
		||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
 | 
			
		||||
<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/>
 | 
			
		||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^toggle-alternative-theme.js"></script>
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    DoxygenAwesomeFragmentCopyButton.init()
 | 
			
		||||
    DoxygenAwesomeDarkModeToggle.init()
 | 
			
		||||
    DoxygenAwesomeParagraphLink.init()
 | 
			
		||||
    DoxygenAwesomeInteractiveToc.init()
 | 
			
		||||
    DoxygenAwesomeTabs.init()
 | 
			
		||||
</script>
 | 
			
		||||
$treeview
 | 
			
		||||
$search
 | 
			
		||||
$mathjax
 | 
			
		||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
 | 
			
		||||
$extrastylesheet
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
<!-- https://tholman.com/github-corners/ -->
 | 
			
		||||
<a href="https://github.com/jothepro/doxygen-awesome-css" class="github-corner" title="View source on GitHub" target="_blank" rel="noopener noreferrer">
 | 
			
		||||
    <svg viewBox="0 0 250 250" width="40" height="40" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true">
 | 
			
		||||
    <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
 | 
			
		||||
 | 
			
		||||
<!--BEGIN TITLEAREA-->
 | 
			
		||||
<div id="titlearea">
 | 
			
		||||
<table cellspacing="0" cellpadding="0">
 | 
			
		||||
 <tbody>
 | 
			
		||||
 <tr style="height: 56px;">
 | 
			
		||||
  <!--BEGIN PROJECT_LOGO-->
 | 
			
		||||
  <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
 | 
			
		||||
  <!--END PROJECT_LOGO-->
 | 
			
		||||
  <!--BEGIN PROJECT_NAME-->
 | 
			
		||||
  <td id="projectalign" style="padding-left: 0.5em;">
 | 
			
		||||
   <div id="projectname">$projectname
 | 
			
		||||
   <!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
 | 
			
		||||
   </div>
 | 
			
		||||
   <!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
 | 
			
		||||
  </td>
 | 
			
		||||
  <!--END PROJECT_NAME-->
 | 
			
		||||
  <!--BEGIN !PROJECT_NAME-->
 | 
			
		||||
   <!--BEGIN PROJECT_BRIEF-->
 | 
			
		||||
    <td style="padding-left: 0.5em;">
 | 
			
		||||
    <div id="projectbrief">$projectbrief</div>
 | 
			
		||||
    </td>
 | 
			
		||||
   <!--END PROJECT_BRIEF-->
 | 
			
		||||
  <!--END !PROJECT_NAME-->
 | 
			
		||||
  <!--BEGIN DISABLE_INDEX-->
 | 
			
		||||
   <!--BEGIN SEARCHENGINE-->
 | 
			
		||||
   <td>$searchbox</td>
 | 
			
		||||
   <!--END SEARCHENGINE-->
 | 
			
		||||
  <!--END DISABLE_INDEX-->
 | 
			
		||||
 </tr>
 | 
			
		||||
 </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
<div id="theme-selection">
 | 
			
		||||
 <label for="theme-select">Theme:</label>
 | 
			
		||||
 <select id="theme-select">
 | 
			
		||||
  <option value="theme-default">Default</option>
 | 
			
		||||
  <option value="theme-round">Round</option>
 | 
			
		||||
  <option value="theme-robot">Robot</option>
 | 
			
		||||
 </select>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
<!--END TITLEAREA-->
 | 
			
		||||
<!-- end header part -->
 | 
			
		||||
							
								
								
									
										62
									
								
								docs/doxygen-awesome-theme/doxygen-custom/theme-robot.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								docs/doxygen-awesome-theme/doxygen-custom/theme-robot.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
html.theme-robot {
 | 
			
		||||
    /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
 | 
			
		||||
    --primary-color: #1c89a4;
 | 
			
		||||
    --primary-dark-color: #1a6f84;
 | 
			
		||||
    --primary-light-color: #5abcd4;
 | 
			
		||||
    --primary-lighter-color: #cae1f1;
 | 
			
		||||
    --primary-lightest-color: #e9f1f8;
 | 
			
		||||
 | 
			
		||||
    --fragment-background: #ececec;
 | 
			
		||||
    --code-background: #ececec;
 | 
			
		||||
 | 
			
		||||
    /* page base colors */
 | 
			
		||||
    --page-background-color: white;
 | 
			
		||||
    --page-foreground-color: #2c3e50;
 | 
			
		||||
    --page-secondary-foreground-color: #67727e;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    --border-radius-large: 0px;
 | 
			
		||||
    --border-radius-small: 0px;
 | 
			
		||||
    --border-radius-medium: 0px;
 | 
			
		||||
 | 
			
		||||
    --spacing-small: 3px;
 | 
			
		||||
    --spacing-medium: 6px;
 | 
			
		||||
    --spacing-large: 12px;
 | 
			
		||||
 | 
			
		||||
    --top-height: 125px;
 | 
			
		||||
 | 
			
		||||
    --side-nav-background: var(--page-background-color);
 | 
			
		||||
    --side-nav-foreground: var(--page-foreground-color);
 | 
			
		||||
    --header-foreground: var(--side-nav-foreground);
 | 
			
		||||
    --searchbar-border-radius: var(--border-radius-medium);
 | 
			
		||||
    --header-background: var(--side-nav-background);
 | 
			
		||||
    --header-foreground: var(--side-nav-foreground);
 | 
			
		||||
 | 
			
		||||
    --toc-background: rgb(243, 240, 252);
 | 
			
		||||
    --toc-foreground: var(--page-foreground-color);
 | 
			
		||||
 | 
			
		||||
    --font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
 | 
			
		||||
    --page-font-size: 14px;
 | 
			
		||||
    --box-shadow: none;
 | 
			
		||||
    --separator-color: #cdcdcd;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html.theme-robot.dark-mode {
 | 
			
		||||
    color-scheme: dark;
 | 
			
		||||
 | 
			
		||||
    --primary-color: #49cad3;
 | 
			
		||||
    --primary-dark-color: #8ed2d7;
 | 
			
		||||
    --primary-light-color: #377479;
 | 
			
		||||
    --primary-lighter-color: #191e21;
 | 
			
		||||
    --primary-lightest-color: #191a1c;
 | 
			
		||||
 | 
			
		||||
    --fragment-background: #000000;
 | 
			
		||||
    --code-background: #000000;
 | 
			
		||||
 | 
			
		||||
    --page-background-color: #161616;
 | 
			
		||||
    --page-foreground-color: #d2dbde;
 | 
			
		||||
    --page-secondary-foreground-color: #555555;
 | 
			
		||||
    --separator-color: #545454;
 | 
			
		||||
    --toc-background: #20142C;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								docs/doxygen-awesome-theme/doxygen-custom/theme-round.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								docs/doxygen-awesome-theme/doxygen-custom/theme-round.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
html.theme-round {
 | 
			
		||||
    /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
 | 
			
		||||
    --primary-color: #AF7FE4;
 | 
			
		||||
    --primary-dark-color: #9270E4;
 | 
			
		||||
    --primary-light-color: #d2b7ef;
 | 
			
		||||
    --primary-lighter-color: #cae1f1;
 | 
			
		||||
    --primary-lightest-color: #e9f1f8;
 | 
			
		||||
 | 
			
		||||
    /* page base colors */
 | 
			
		||||
    --page-background-color: white;
 | 
			
		||||
    --page-foreground-color: #2c3e50;
 | 
			
		||||
    --page-secondary-foreground-color: #67727e;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    --border-radius-large: 22px;
 | 
			
		||||
    --border-radius-small: 9px;
 | 
			
		||||
    --border-radius-medium: 14px;
 | 
			
		||||
    --spacing-small: 8px;
 | 
			
		||||
    --spacing-medium: 14px;
 | 
			
		||||
    --spacing-large: 19px;
 | 
			
		||||
    --spacing-xlarge: 21px;
 | 
			
		||||
 | 
			
		||||
    --top-height: 125px;
 | 
			
		||||
 | 
			
		||||
    --side-nav-background: #324067;
 | 
			
		||||
    --side-nav-foreground: #F1FDFF;
 | 
			
		||||
    --header-foreground: var(--side-nav-foreground);
 | 
			
		||||
    --searchbar-background: var(--side-nav-foreground);
 | 
			
		||||
    --searchbar-border-radius: var(--border-radius-medium);
 | 
			
		||||
    --header-background: var(--side-nav-background);
 | 
			
		||||
    --header-foreground: var(--side-nav-foreground);
 | 
			
		||||
 | 
			
		||||
    --toc-background: rgb(243, 240, 252);
 | 
			
		||||
    --toc-foreground: var(--page-foreground-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
html.theme-round.dark-mode {
 | 
			
		||||
    color-scheme: dark;
 | 
			
		||||
 | 
			
		||||
    --primary-color: #AF7FE4;
 | 
			
		||||
    --primary-dark-color: #715292;
 | 
			
		||||
    --primary-light-color: #ae97c7;
 | 
			
		||||
    --primary-lighter-color: #191e21;
 | 
			
		||||
    --primary-lightest-color: #191a1c;
 | 
			
		||||
 | 
			
		||||
    --page-background-color: #1C1D1F;
 | 
			
		||||
    --page-foreground-color: #d2dbde;
 | 
			
		||||
    --page-secondary-foreground-color: #859399;
 | 
			
		||||
    --separator-color: #3a3246;
 | 
			
		||||
    --side-nav-background: #171D32;
 | 
			
		||||
    --side-nav-foreground: #F1FDFF;
 | 
			
		||||
    --toc-background: #20142C;
 | 
			
		||||
    --searchbar-background: var(--page-background-color);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,52 @@
 | 
			
		||||
// Toggle zwischen drei Theme-Zuständen und speichere im localStorage
 | 
			
		||||
const THEME_CLASSES = ['theme-default', 'theme-round', 'theme-robot'];
 | 
			
		||||
// Ermögliche das Umschalten per Button/Funktion (z.B. für onclick im HTML)
 | 
			
		||||
function toggleThemeVariant() {
 | 
			
		||||
	let idx = getCurrentThemeIndex();
 | 
			
		||||
	idx = (idx + 1) % THEME_CLASSES.length;
 | 
			
		||||
	applyThemeClass(idx);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Funktion global verfügbar machen
 | 
			
		||||
window.toggleThemeVariant = toggleThemeVariant;
 | 
			
		||||
 | 
			
		||||
function getCurrentThemeIndex() {
 | 
			
		||||
	const stored = localStorage.getItem('theme-variant');
 | 
			
		||||
	if (stored === null) return 0;
 | 
			
		||||
	const idx = THEME_CLASSES.indexOf(stored);
 | 
			
		||||
	return idx === -1 ? 0 : idx;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function applyThemeClass(idx) {
 | 
			
		||||
	document.documentElement.classList.remove(...THEME_CLASSES);
 | 
			
		||||
	if (THEME_CLASSES[idx] && THEME_CLASSES[idx] !== 'theme-default') {
 | 
			
		||||
		document.documentElement.classList.add(THEME_CLASSES[idx]);
 | 
			
		||||
	}
 | 
			
		||||
	localStorage.setItem('theme-variant', THEME_CLASSES[idx] || 'theme-default');
 | 
			
		||||
	// Select synchronisieren, falls vorhanden
 | 
			
		||||
	const select = document.getElementById('theme-select');
 | 
			
		||||
	if (select) select.value = THEME_CLASSES[idx];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function setThemeByName(themeName) {
 | 
			
		||||
	const idx = THEME_CLASSES.indexOf(themeName);
 | 
			
		||||
	applyThemeClass(idx === -1 ? 0 : idx);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
document.addEventListener('DOMContentLoaded', () => {
 | 
			
		||||
	const select = document.getElementById('theme-select');
 | 
			
		||||
	if (select) {
 | 
			
		||||
		// Initialisiere Auswahl aus localStorage
 | 
			
		||||
		const idx = getCurrentThemeIndex();
 | 
			
		||||
		select.value = THEME_CLASSES[idx];
 | 
			
		||||
		applyThemeClass(idx);
 | 
			
		||||
		// Theme bei Auswahl ändern
 | 
			
		||||
		select.addEventListener('change', e => {
 | 
			
		||||
			setThemeByName(e.target.value);
 | 
			
		||||
		});
 | 
			
		||||
	} else {
 | 
			
		||||
		// Fallback: Theme trotzdem setzen
 | 
			
		||||
		applyThemeClass(getCurrentThemeIndex());
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
<!-- HTML header for doxygen 1.9.7-->
 | 
			
		||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
 | 
			
		||||
<head>
 | 
			
		||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 | 
			
		||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
 | 
			
		||||
<meta name="generator" content="Doxygen $doxygenversion"/>
 | 
			
		||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
 | 
			
		||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
 | 
			
		||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
 | 
			
		||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
 | 
			
		||||
<!--BEGIN DISABLE_INDEX-->
 | 
			
		||||
  <!--BEGIN FULL_SIDEBAR-->
 | 
			
		||||
<script type="text/javascript">var page_layout=1;</script>
 | 
			
		||||
  <!--END FULL_SIDEBAR-->
 | 
			
		||||
<!--END DISABLE_INDEX-->
 | 
			
		||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
 | 
			
		||||
$treeview
 | 
			
		||||
$search
 | 
			
		||||
$mathjax
 | 
			
		||||
$darkmode
 | 
			
		||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
 | 
			
		||||
$extrastylesheet
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
  DoxygenAwesomeDarkModeToggle.init()
 | 
			
		||||
</script>
 | 
			
		||||
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
  DoxygenAwesomeInteractiveToc.init()
 | 
			
		||||
</script>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
<!--BEGIN DISABLE_INDEX-->
 | 
			
		||||
  <!--BEGIN FULL_SIDEBAR-->
 | 
			
		||||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
 | 
			
		||||
  <!--END FULL_SIDEBAR-->
 | 
			
		||||
<!--END DISABLE_INDEX-->
 | 
			
		||||
 | 
			
		||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
 | 
			
		||||
 | 
			
		||||
<!--BEGIN TITLEAREA-->
 | 
			
		||||
<div id="titlearea">
 | 
			
		||||
<table cellspacing="0" cellpadding="0">
 | 
			
		||||
 <tbody>
 | 
			
		||||
 <tr id="projectrow">
 | 
			
		||||
  <!--BEGIN PROJECT_LOGO-->
 | 
			
		||||
  <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
 | 
			
		||||
  <!--END PROJECT_LOGO-->
 | 
			
		||||
  <!--BEGIN PROJECT_NAME-->
 | 
			
		||||
  <td id="projectalign">
 | 
			
		||||
   <div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER-->
 | 
			
		||||
   </div>
 | 
			
		||||
   <!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
 | 
			
		||||
  </td>
 | 
			
		||||
  <!--END PROJECT_NAME-->
 | 
			
		||||
  <!--BEGIN !PROJECT_NAME-->
 | 
			
		||||
   <!--BEGIN PROJECT_BRIEF-->
 | 
			
		||||
    <td>
 | 
			
		||||
    <div id="projectbrief">$projectbrief</div>
 | 
			
		||||
    </td>
 | 
			
		||||
   <!--END PROJECT_BRIEF-->
 | 
			
		||||
  <!--END !PROJECT_NAME-->
 | 
			
		||||
  <!--BEGIN DISABLE_INDEX-->
 | 
			
		||||
   <!--BEGIN SEARCHENGINE-->
 | 
			
		||||
     <!--BEGIN !FULL_SIDEBAR-->
 | 
			
		||||
    <td>$searchbox</td>
 | 
			
		||||
     <!--END !FULL_SIDEBAR-->
 | 
			
		||||
   <!--END SEARCHENGINE-->
 | 
			
		||||
  <!--END DISABLE_INDEX-->
 | 
			
		||||
 </tr>
 | 
			
		||||
  <!--BEGIN SEARCHENGINE-->
 | 
			
		||||
   <!--BEGIN FULL_SIDEBAR-->
 | 
			
		||||
   <tr><td colspan="2">$searchbox</td></tr>
 | 
			
		||||
   <!--END FULL_SIDEBAR-->
 | 
			
		||||
  <!--END SEARCHENGINE-->
 | 
			
		||||
 </tbody>
 | 
			
		||||
</table>
 | 
			
		||||
</div>
 | 
			
		||||
<!--END TITLEAREA-->
 | 
			
		||||
<!-- end header part -->
 | 
			
		||||
							
								
								
									
										3
									
								
								docs/github-corner-disable.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								docs/github-corner-disable.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
.github-corner {
 | 
			
		||||
  display: none !important;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user