-
-
-
-
-
-
-
- |
-
-
-
- $projectname
- $projectnumber
-
- $projectbrief
- |
-
-
-
-
- $projectbrief
- |
-
-
-
-
- $searchbox |
-
-
-
-
-
-
-
-
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-custom/toggle-alternative-theme.js b/doc/doxygen-awesome-css-2.1.0/doxygen-custom/toggle-alternative-theme.js
deleted file mode 100644
index 72c3731..0000000
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-custom/toggle-alternative-theme.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
-let original_theme_active = true;
-
-function toggle_alternative_theme() {
- if(original_theme_active) {
- document.documentElement.classList.add("alternative")
- original_theme_active = false;
- } else {
- document.documentElement.classList.remove("alternative")
- original_theme_active = true;
- }
-}
\ No newline at end of file
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-darkmode-toggle.js b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-darkmode-toggle.js
similarity index 99%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-darkmode-toggle.js
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-darkmode-toggle.js
index f2c5853..40fe2d3 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-darkmode-toggle.js
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-darkmode-toggle.js
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2021 - 2022 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-fragment-copy-button.js b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-fragment-copy-button.js
similarity index 99%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-fragment-copy-button.js
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-fragment-copy-button.js
index 7d06b34..86c16fd 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-fragment-copy-button.js
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-fragment-copy-button.js
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2022 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-interactive-toc.js b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-interactive-toc.js
similarity index 98%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-interactive-toc.js
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-interactive-toc.js
index b049f57..20a9669 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-interactive-toc.js
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-interactive-toc.js
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2022 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-paragraph-link.js b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-paragraph-link.js
similarity index 98%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-paragraph-link.js
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-paragraph-link.js
index 6424dbd..e53d132 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-paragraph-link.js
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-paragraph-link.js
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2022 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only-darkmode-toggle.css b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only-darkmode-toggle.css
similarity index 97%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only-darkmode-toggle.css
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only-darkmode-toggle.css
index b988b6f..d207446 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only-darkmode-toggle.css
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only-darkmode-toggle.css
@@ -6,7 +6,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2021 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only.css b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only.css
similarity index 98%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only.css
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only.css
index 656ebbf..f58fcbe 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome-sidebar-only.css
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-sidebar-only.css
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2021 jothepro
+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
diff --git a/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-tabs.js b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-tabs.js
new file mode 100644
index 0000000..8e725b2
--- /dev/null
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome-tabs.js
@@ -0,0 +1,70 @@
+/**
+
+Doxygen Awesome
+https://github.com/jothepro/doxygen-awesome-css
+
+MIT License
+
+Copyright (c) 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.
+
+*/
+
+class DoxygenAwesomeTabs {
+
+ static init() {
+ window.addEventListener("load", () => {
+ document.querySelectorAll(".tabbed:not(:empty)").forEach((tabbed, tabbedIndex) => {
+ let tabLinkList = []
+ tabbed.querySelectorAll("li").forEach((tab, tabIndex) => {
+ tab.id = "tab_" + tabbedIndex + "_" + tabIndex
+ let header = tab.querySelector(".tab-title")
+ let tabLink = document.createElement("button")
+ tabLink.classList.add("tab-button")
+ tabLink.appendChild(header)
+ tabLink.addEventListener("click", () => {
+ tabbed.querySelectorAll("li").forEach((tab) => {
+ tab.classList.remove("selected")
+ })
+ tabLinkList.forEach((tabLink) => {
+ tabLink.classList.remove("active")
+ })
+ tab.classList.add("selected")
+ tabLink.classList.add("active")
+ })
+ tabLinkList.push(tabLink)
+ if(tabIndex == 0) {
+ tab.classList.add("selected")
+ tabLink.classList.add("active")
+ }
+ })
+ let tabsOverview = document.createElement("div")
+ tabsOverview.classList.add("tabs-overview")
+ let tabsOverviewContainer = document.createElement("div")
+ tabsOverviewContainer.classList.add("tabs-overview-container")
+ tabLinkList.forEach((tabLink) => {
+ tabsOverview.appendChild(tabLink)
+ })
+ tabsOverviewContainer.appendChild(tabsOverview)
+ tabbed.before(tabsOverviewContainer)
+ })
+ })
+ }
+}
\ No newline at end of file
diff --git a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome.css b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome.css
similarity index 93%
rename from doc/doxygen-awesome-css-2.1.0/doxygen-awesome.css
rename to doc/doxygen-awesome-css-2.2.0/doxygen-awesome.css
index abd2893..e934b16 100644
--- a/doc/doxygen-awesome-css-2.1.0/doxygen-awesome.css
+++ b/doc/doxygen-awesome-css-2.2.0/doxygen-awesome.css
@@ -5,7 +5,7 @@ https://github.com/jothepro/doxygen-awesome-css
MIT License
-Copyright (c) 2021 - 2022 jothepro
+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
@@ -160,7 +160,7 @@ html {
--toc-background: var(--side-nav-background);
--toc-foreground: var(--side-nav-foreground);
- /* height of an item in any tree / collapsable table */
+ /* height of an item in any tree / collapsible table */
--tree-item-height: 30px;
--memname-font-size: var(--code-font-size);
@@ -204,7 +204,7 @@ html {
--code-background: #2a2c2f;
--tablehead-background: #2a2c2f;
-
+
--blockquote-background: #222325;
--blockquote-foreground: #7e8c92;
@@ -790,6 +790,7 @@ html.dark-mode iframe#MSearchResults {
#nav-tree {
background: transparent;
+ margin-right: 1px;
}
#nav-tree .label {
@@ -884,7 +885,7 @@ div.header {
flex-wrap: nowrap;
align-items: flex-start;
}
-
+
div.contents .textblock {
min-width: 200px;
flex-grow: 1;
@@ -956,8 +957,9 @@ div.contents div.dyncontent {
html:not(.light-mode) div.contents > table img,
html:not(.light-mode) div.contents div.dyncontent iframe,
html:not(.light-mode) div.contents center iframe,
- html:not(.light-mode) div.contents table iframe {
- filter: hue-rotate(180deg) invert();
+ html:not(.light-mode) div.contents table iframe,
+ html:not(.light-mode) div.contents .dotgraph iframe {
+ filter: brightness(89%) hue-rotate(180deg) invert();
}
}
@@ -966,28 +968,30 @@ html.dark-mode div.contents center img,
html.dark-mode div.contents > table img,
html.dark-mode div.contents div.dyncontent iframe,
html.dark-mode div.contents center iframe,
-html.dark-mode div.contents table iframe {
- filter: hue-rotate(180deg) invert();
+html.dark-mode div.contents table iframe,
+html.dark-mode div.contents .dotgraph iframe
+ {
+ filter: brightness(89%) hue-rotate(180deg) invert();
}
h2.groupheader {
border-bottom: 0px;
color: var(--page-foreground-color);
- box-shadow:
- 100px 0 var(--page-background-color),
+ box-shadow:
+ 100px 0 var(--page-background-color),
-100px 0 var(--page-background-color),
100px 0.75px var(--separator-color),
-100px 0.75px var(--separator-color),
- 500px 0 var(--page-background-color),
+ 500px 0 var(--page-background-color),
-500px 0 var(--page-background-color),
500px 0.75px var(--separator-color),
-500px 0.75px var(--separator-color),
- 900px 0 var(--page-background-color),
+ 900px 0 var(--page-background-color),
-900px 0 var(--page-background-color),
900px 0.75px var(--separator-color),
-900px 0.75px var(--separator-color),
1400px 0 var(--page-background-color),
- -1400px 0 var(--page-background-color),
+ -1400px 0 var(--page-background-color),
1400px 0.75px var(--separator-color),
-1400px 0.75px var(--separator-color),
1900px 0 var(--page-background-color),
@@ -1056,6 +1060,21 @@ h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
color: var(--page-foreground-color);
}
+.dotgraph {
+ max-width: 100%;
+ overflow-x: scroll;
+}
+
+.dotgraph .caption {
+ position: sticky;
+ left: 0;
+}
+
+/* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */
+.interactive_dotgraph .dotgraph iframe {
+ max-width: 100%;
+}
+
/*
Table of Contents
*/
@@ -1068,7 +1087,7 @@ div.contents .toc {
border-radius: 0;
background-color: transparent;
box-shadow: none;
- position: sticky;
+ /* position: sticky; */
top: var(--toc-sticky-top);
padding: 0 var(--spacing-large);
margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large);
@@ -1143,8 +1162,8 @@ div.toc li a.aboveActive {
div.contents .toc.interactive > h3::before {
content: "";
- width: 0;
- height: 0;
+ width: 0;
+ height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid var(--primary-color);
@@ -1322,7 +1341,7 @@ dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
font-weight: bold !important;
}
-dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.todo, dl.remark {
+dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark {
padding: var(--spacing-medium);
margin: var(--spacing-medium) 0;
color: var(--page-background-color);
@@ -1393,13 +1412,13 @@ dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {
margin-inline-start: 0px;
}
-dl.invariant, dl.pre {
+dl.invariant, dl.pre, dl.post {
background: var(--invariant-color);
border-left: 8px solid var(--invariant-color-dark);
color: var(--invariant-color-darker);
}
-dl.invariant dt, dl.pre dt {
+dl.invariant dt, dl.pre dt, dl.post dt {
color: var(--invariant-color-dark);
}
@@ -1603,6 +1622,10 @@ table.doxtable tbody {
border-radius: var(--border-radius-small);
}
+table.markdownTable, table.doxtable, table.fieldtable {
+ padding: 1px;
+}
+
table.doxtable caption {
display: block;
}
@@ -1693,6 +1716,15 @@ table.markdownTable tr:last-child, table.doxtable tr:last-child {
border-bottom: none;
}
+.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) {
+ display: block;
+}
+
+.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
+ display: table;
+ width: 100%;
+}
+
table.fieldtable th {
font-size: var(--page-font-size);
font-weight: 600;
@@ -1822,8 +1854,8 @@ table.memberdecls img[src="closed.png"],
table.memberdecls img[src="open.png"],
div.dynheader img[src="open.png"],
div.dynheader img[src="closed.png"] {
- width: 0;
- height: 0;
+ width: 0;
+ height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid var(--primary-color);
@@ -1841,7 +1873,7 @@ table.memberdecls img {
table.memberdecls img[src="closed.png"],
div.dynheader img[src="closed.png"] {
transform: rotate(-90deg);
-
+
}
.compoundTemplParams {
@@ -1884,7 +1916,7 @@ div.dynheader img[src="closed.png"] {
margin-bottom: calc(0px - var(--page-font-size));
}
- table.memberdecls .memItemRight,
+ table.memberdecls .memItemRight,
table.memberdecls .mdescRight,
table.memberdecls .memTemplItemRight {
border-top: 0;
@@ -2070,8 +2102,8 @@ html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
background-color: transparent;
}
-/*
- Class Index Doxygen 1.8
+/*
+ Class Index Doxygen 1.8
*/
table.classindex {
@@ -2195,7 +2227,9 @@ div.memproto::-webkit-scrollbar,
.contents center::-webkit-scrollbar,
.contents .center::-webkit-scrollbar,
.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar,
-div.contents .toc::-webkit-scrollbar {
+div.contents .toc::-webkit-scrollbar,
+.contents .dotgraph::-webkit-scrollbar,
+.contents .tabs-overview-container::-webkit-scrollbar {
background: transparent;
width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
@@ -2208,11 +2242,13 @@ div.memproto::-webkit-scrollbar-thumb,
.contents center::-webkit-scrollbar-thumb,
.contents .center::-webkit-scrollbar-thumb,
.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb,
-div.contents .toc::-webkit-scrollbar-thumb {
+div.contents .toc::-webkit-scrollbar-thumb,
+.contents .dotgraph::-webkit-scrollbar-thumb,
+.contents .tabs-overview-container::-webkit-scrollbar-thumb {
background-color: transparent;
border: var(--webkit-scrollbar-padding) solid transparent;
border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
- background-clip: padding-box;
+ background-clip: padding-box;
}
#nav-tree:hover::-webkit-scrollbar-thumb,
@@ -2222,7 +2258,9 @@ div.memproto:hover::-webkit-scrollbar-thumb,
.contents center:hover::-webkit-scrollbar-thumb,
.contents .center:hover::-webkit-scrollbar-thumb,
.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb,
-div.contents .toc:hover::-webkit-scrollbar-thumb {
+div.contents .toc:hover::-webkit-scrollbar-thumb,
+.contents .dotgraph:hover::-webkit-scrollbar-thumb,
+.contents .tabs-overview-container:hover::-webkit-scrollbar-thumb {
background-color: var(--webkit-scrollbar-color);
}
@@ -2233,7 +2271,9 @@ div.memproto::-webkit-scrollbar-track,
.contents center::-webkit-scrollbar-track,
.contents .center::-webkit-scrollbar-track,
.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track,
-div.contents .toc::-webkit-scrollbar-track {
+div.contents .toc::-webkit-scrollbar-track,
+.contents .dotgraph::-webkit-scrollbar-track,
+.contents .tabs-overview-container::-webkit-scrollbar-track {
background: transparent;
}
@@ -2270,7 +2310,9 @@ div.memproto,
.contents center,
.contents .center,
.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
-div.contents .toc {
+div.contents .toc,
+.contents .dotgraph,
+.contents .tabs-overview-container {
scrollbar-width: thin;
}
@@ -2403,3 +2445,78 @@ a.anchorlink:hover {
h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink {
display: inline-block;
}
+
+/*
+ Optional tab feature
+*/
+
+.tabbed ul {
+ padding-inline-start: 0px;
+ margin: 0;
+ padding: var(--spacing-small) 0;
+ border-bottom: 1px solid var(--separator-color);
+}
+
+.tabbed li {
+ display: none;
+}
+
+.tabbed li.selected {
+ display: block;
+}
+
+.tabs-overview-container {
+ overflow-x: auto;
+ display: block;
+ overflow-y: visible;
+}
+
+.tabs-overview {
+ border-bottom: 1px solid var(--separator-color);
+ display: flex;
+ flex-direction: row;
+}
+
+.tabs-overview button.tab-button {
+ color: var(--page-foreground-color);
+ margin: 0;
+ border: none;
+ background: transparent;
+ padding: var(--spacing-small) 0;
+ display: inline-block;
+ font-size: var(--page-font-size);
+ cursor: pointer;
+ box-shadow: 0 1px 0 0 var(--separator-color);
+}
+
+.tabs-overview button.tab-button .tab-title {
+ float: left;
+ white-space: nowrap;
+ padding: var(--spacing-small) var(--spacing-large);
+ border-radius: var(--border-radius-medium);
+}
+
+.tabs-overview button.tab-button:not(:last-child) .tab-title {
+ box-shadow: 8px 0 0 -7px var(--separator-color);
+}
+
+.tabs-overview button.tab-button:hover .tab-title {
+ background: var(--primary-color);
+ color: var(--page-background-color);
+ box-shadow: none;
+}
+
+.tabs-overview button.tab-button.active {
+ color: var(--primary-color);
+ box-shadow: 0 1px 0 0 var(--primary-color), inset 0 -1px 0 0 var(--primary-color);
+}
+
+@media (prefers-color-scheme: dark) {
+ html:not(.light-mode) .tabs-overview button.tab-button:hover .tab-title {
+ color: var(--page-foreground-color);
+ }
+}
+
+html.dark-mode .tabs-overview button.tab-button:hover .tab-title {
+ color: var(--page-foreground-color);
+}