diff --git a/cmake/SetupDoxygen.cmake b/cmake/SetupDoxygen.cmake index ddd0b25ef561..63a0b2b4a92e 100644 --- a/cmake/SetupDoxygen.cmake +++ b/cmake/SetupDoxygen.cmake @@ -22,6 +22,18 @@ endif() find_package(Doxygen) if (DOXYGEN_FOUND) set(SPECTRE_DOXYGEN_GROUPS "${CMAKE_BINARY_DIR}/docs/tmp/GroupDefs.hpp") + # The layout file is doxygen version dependent. There was a significant + # change in version 1.9.8 to support C++ modules. Doxygen modules were + # renamed topics. Minor changes in doxygen version may cause warnings + # about the layout file, but can appear to cause no problems + if(DOXYGEN_VERSION VERSION_LESS 1.9.8) + set(DOXYGEN_LAYOUT_FILE + "${PROJECT_SOURCE_DIR}/docs/config/DoxygenLayout_1_8_10.xml") + else() + set(DOXYGEN_LAYOUT_FILE + "${PROJECT_SOURCE_DIR}/docs/config/DoxygenLayout_1_9_8.xml" + ) + endif() # For INPUT_FILTER in Doxyfile. Using Python instead of Perl here increases # docs generation time by ~25%. Runtimes are 102s (no filter), 108s (Perl) and diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index f179d8797a8d..f92e4cf29712 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -243,14 +243,13 @@ GENERATE_LEGEND = NO # HTML layout file #--------------------------------------------------------------------------- -LAYOUT_FILE = @PROJECT_SOURCE_DIR@/docs/config/layout.xml +LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@ HTML_EXTRA_FILES = @PROJECT_SOURCE_DIR@/docs/config/icons/octicons.eot \ @PROJECT_SOURCE_DIR@/docs/config/icons/octicons.svg \ @PROJECT_SOURCE_DIR@/docs/config/icons/octicons.ttf \ @PROJECT_SOURCE_DIR@/docs/config/icons/octicons.woff \ @PROJECT_SOURCE_DIR@/docs/config/octicons.css \ - @PROJECT_SOURCE_DIR@/docs/config/js/doxygen-navtree-hacks.js \ @PROJECT_SOURCE_DIR@/docs/config/doxygen-awesome-fragment-copy-button.js \ @PROJECT_SOURCE_DIR@/docs/config/doxygen-awesome-interactive-toc.js \ @PROJECT_SOURCE_DIR@/docs/config/doxygen-awesome-paragraph-link.js \ diff --git a/docs/config/layout.xml b/docs/config/DoxygenLayout_1_8_10.xml similarity index 95% rename from docs/config/layout.xml rename to docs/config/DoxygenLayout_1_8_10.xml index 054469ea7cd1..87722ddd7f83 100644 --- a/docs/config/layout.xml +++ b/docs/config/DoxygenLayout_1_8_10.xml @@ -5,13 +5,13 @@ - - - + + + - + diff --git a/docs/config/DoxygenLayout_1_9_8.xml b/docs/config/DoxygenLayout_1_9_8.xml new file mode 100644 index 000000000000..c12672bf9cef --- /dev/null +++ b/docs/config/DoxygenLayout_1_9_8.xml @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/config/doxygen-awesome-fragment-copy-button.js b/docs/config/doxygen-awesome-fragment-copy-button.js index 4e6f13dd56e2..9c0b13a43cfa 100644 --- a/docs/config/doxygen-awesome-fragment-copy-button.js +++ b/docs/config/doxygen-awesome-fragment-copy-button.js @@ -28,68 +28,56 @@ SOFTWARE. */ class DoxygenAwesomeFragmentCopyButton extends HTMLElement { - constructor() { - super(); - this.onclick = this.copyContent; - } - static title = "Copy to clipboard"; - static copyIcon = ``; - static successIcon = ``; - 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; + constructor() { + super(); + this.onclick=this.copyContent + } + static title = "Copy to clipboard" + static copyIcon = `` + static successIcon = `` + 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) + } + } + }) + }) + } - 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++; + 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); } - 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 -); +customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton) diff --git a/docs/config/doxygen-awesome-interactive-toc.js b/docs/config/doxygen-awesome-interactive-toc.js index 5e3a6ed79015..f3c3e7706824 100644 --- a/docs/config/doxygen-awesome-interactive-toc.js +++ b/docs/config/doxygen-awesome-interactive-toc.js @@ -28,58 +28,64 @@ SOFTWARE. */ class DoxygenAwesomeInteractiveToc { - static topOffset = 38; - static hideMobileMenu = true; - static headers = []; + static topOffset = 38 + static hideMobileMenu = true + static headers = [] - static init() { - window.addEventListener("load", () => { - let toc = document.querySelector(".contents > .toc"); - if (toc) { - toc.classList.add("interactive"); - if (!DoxygenAwesomeInteractiveToc.hideMobileMenu) { - toc.classList.add("open"); - } - document - .querySelector(".contents > .toc > h3") - ?.addEventListener("click", () => { - if (toc.classList.contains("open")) { - toc.classList.remove("open"); - } else { - toc.classList.add("open"); - } - }); + static init() { + window.addEventListener("load", () => { + let toc = document.querySelector(".contents > .toc") + if(toc) { + toc.classList.add("interactive") + if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) { + toc.classList.add("open") + } + document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => { + if(toc.classList.contains("open")) { + toc.classList.remove("open") + } else { + toc.classList.add("open") + } + }) - document.querySelectorAll(".contents > .toc > ul a").forEach((node) => { - let id = node.getAttribute("href").substring(1); - DoxygenAwesomeInteractiveToc.headers.push({ - node: node, - headerNode: document.getElementById(id), - }); + document.querySelectorAll(".contents > .toc > ul a").forEach((node) => { + let id = node.getAttribute("href").substring(1) + DoxygenAwesomeInteractiveToc.headers.push({ + node: node, + headerNode: document.getElementById(id) + }) - document - .getElementById("doc-content") - ?.addEventListener("scroll", () => { - DoxygenAwesomeInteractiveToc.update(); - }); - }); - DoxygenAwesomeInteractiveToc.update(); - } - }); - } + document.getElementById("doc-content")?.addEventListener("scroll",this.throttle(DoxygenAwesomeInteractiveToc.update, 100)) + }) + DoxygenAwesomeInteractiveToc.update() + } + }) + } - static update() { - let active = DoxygenAwesomeInteractiveToc.headers[0]?.node; - DoxygenAwesomeInteractiveToc.headers.forEach((header) => { - let position = header.headerNode.getBoundingClientRect().top; - header.node.classList.remove("active"); - header.node.classList.remove("aboveActive"); - if (position < DoxygenAwesomeInteractiveToc.topOffset) { - active = header.node; - active?.classList.add("aboveActive"); - } - }); - active?.classList.add("active"); - active?.classList.remove("aboveActive"); - } + static update() { + let active = DoxygenAwesomeInteractiveToc.headers[0]?.node + DoxygenAwesomeInteractiveToc.headers.forEach((header) => { + let position = header.headerNode.getBoundingClientRect().top + header.node.classList.remove("active") + header.node.classList.remove("aboveActive") + if(position < DoxygenAwesomeInteractiveToc.topOffset) { + active = header.node + active?.classList.add("aboveActive") + } + }) + 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); + }; + } } diff --git a/docs/config/doxygen-awesome-paragraph-link.js b/docs/config/doxygen-awesome-paragraph-link.js index 1ef2c74dc709..e53d132cea5a 100644 --- a/docs/config/doxygen-awesome-paragraph-link.js +++ b/docs/config/doxygen-awesome-paragraph-link.js @@ -28,28 +28,24 @@ SOFTWARE. */ class DoxygenAwesomeParagraphLink { - // Icon from https://fonts.google.com/icons - // Licensed under the Apache 2.0 license: - // https://www.apache.org/licenses/LICENSE-2.0.html - static icon = ``; - static title = "Permanent Link"; - static init() { - $(function () { - $(document).ready(function () { - document - .querySelectorAll( - ".contents a.anchor[id], .contents .groupheader > a[id]" - ) - .forEach((node) => { - let anchorlink = document.createElement("a"); - anchorlink.setAttribute("href", `#${node.getAttribute("id")}`); - anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title); - anchorlink.classList.add("anchorlink"); - node.classList.add("anchor"); - anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon; - node.parentElement.appendChild(anchorlink); - }); - }); - }); - } + // Icon from https://fonts.google.com/icons + // Licensed under the Apache 2.0 license: + // https://www.apache.org/licenses/LICENSE-2.0.html + static icon = `` + static title = "Permanent Link" + static init() { + $(function() { + $(document).ready(function() { + document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => { + let anchorlink = document.createElement("a") + anchorlink.setAttribute("href", `#${node.getAttribute("id")}`) + anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title) + anchorlink.classList.add("anchorlink") + node.classList.add("anchor") + anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon + node.parentElement.appendChild(anchorlink) + }) + }) + }) + } } diff --git a/docs/config/doxygen-awesome-sidebar-only.css b/docs/config/doxygen-awesome-sidebar-only.css index 96c18da721f0..853f6d6926e2 100644 --- a/docs/config/doxygen-awesome-sidebar-only.css +++ b/docs/config/doxygen-awesome-sidebar-only.css @@ -28,90 +28,89 @@ SOFTWARE. */ html { - /* side nav width. MUST be = `TREEVIEW_WIDTH`. + /* side nav width. MUST be = `TREEVIEW_WIDTH`. * Make sure it is wide enough to contain the page title (logo + title + version) */ - --side-nav-fixed-width: 335px; - --menu-display: none; + --side-nav-fixed-width: 335px; + --menu-display: none; - --top-height: 120px; - --toc-sticky-top: -25px; - --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px); + --top-height: 120px; + --toc-sticky-top: -25px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px); } #projectname { - white-space: nowrap; + white-space: nowrap; } + @media screen and (min-width: 768px) { - html { - --searchbar-background: var(--page-background-color); - } - - #side-nav { - min-width: var(--side-nav-fixed-width); - max-width: var(--side-nav-fixed-width); - top: var(--top-height); - overflow: visible; - } - - #nav-tree, - #side-nav { - height: calc(100vh - var(--top-height)) !important; - } - - #nav-tree { - padding: 0; - } - - #top { - display: block; - border-bottom: none; - height: var(--top-height); - margin-bottom: calc(0px - var(--top-height)); - max-width: var(--side-nav-fixed-width); - overflow: hidden; - background: var(--side-nav-background); - } - #main-nav { - float: left; - padding-right: 0; - } - - .ui-resizable-handle { - cursor: default; - width: 1px !important; - box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); - } - - #nav-path { - position: fixed; - right: 0; - left: var(--side-nav-fixed-width); - bottom: 0; - width: auto; - } - - #doc-content { - height: calc(100vh - 31px) !important; - padding-bottom: calc(3 * var(--spacing-large)); - padding-top: calc(var(--top-height) - 80px); - box-sizing: border-box; - margin-left: var(--side-nav-fixed-width) !important; - } - - #MSearchBox { - width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); - } - - #MSearchField { - width: calc( - var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px - ); - } - - #MSearchResultsWindow { - left: var(--spacing-medium) !important; - right: auto; - } + html { + --searchbar-background: var(--page-background-color); + } + + #side-nav { + min-width: var(--side-nav-fixed-width); + max-width: var(--side-nav-fixed-width); + top: var(--top-height); + overflow: visible; + } + + #nav-tree, #side-nav { + height: calc(100vh - var(--top-height)) !important; + } + + #nav-tree { + padding: 0; + } + + #top { + display: block; + border-bottom: none; + height: var(--top-height); + margin-bottom: calc(0px - var(--top-height)); + max-width: var(--side-nav-fixed-width); + 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); + } + + #nav-path { + position: fixed; + right: 0; + left: var(--side-nav-fixed-width); + bottom: 0; + width: auto; + } + + #doc-content { + height: calc(100vh - 31px) !important; + padding-bottom: calc(3 * var(--spacing-large)); + padding-top: calc(var(--top-height) - 80px); + box-sizing: border-box; + margin-left: var(--side-nav-fixed-width) !important; + } + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px); + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: auto; + } } diff --git a/docs/config/doxygen-awesome.css b/docs/config/doxygen-awesome.css index 158d9ed85da3..25917cc920df 100644 --- a/docs/config/doxygen-awesome.css +++ b/docs/config/doxygen-awesome.css @@ -28,175 +28,237 @@ SOFTWARE. */ html { - /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ - --primary-color: #1779c4; - --primary-dark-color: #335c80; - --primary-light-color: #70b1e9; + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #335c80; + --primary-light-color: #70b1e9; - /* page base colors */ - --page-background-color: #ffffff; - --page-foreground-color: #2f4153; - --page-secondary-foreground-color: #6f7e8e; + /* page base colors */ + --page-background-color: #ffffff; + --page-foreground-color: #2f4153; + --page-secondary-foreground-color: #6f7e8e; - /* color for all separators on the website: hr, borders, ... */ - --separator-color: #dedede; + /* color for all separators on the website: hr, borders, ... */ + --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 for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; - /* 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; + /* 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; - /* 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, 0.075); + /* 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); - --odd-color: rgba(0, 0, 0, 0.028); + --odd-color: rgba(0,0,0,.028); - /* font-families. will affect all text on the website + /* font-families. will affect all text on the website * font-family: the normal font for text, headlines, menus * font-family-monospace: used for preformatted text in memtitle, code, fragments */ - --font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - --font-family-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, - Consolas, Liberation Mono, monospace; - - /* font sizes */ - --page-font-size: 15.6px; - --navigation-font-size: 14.4px; - --toc-font-size: 13.4px; - --code-font-size: 14px; /* affects code, fragment */ - --title-font-size: 22px; - - /* content text properties. These only affect the page content, not the navigation or any other ui elements */ - --content-line-height: 27px; - /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ - --content-maxwidth: 1050px; - --table-line-height: 24px; - --toc-sticky-top: var(--spacing-medium); - --toc-width: 200px; - --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); - - /* colors for various content boxes: @warning, @note, @deprecated @bug */ - --warning-color: #f8d1cc; - --warning-color-dark: #b61825; - --warning-color-darker: #75070f; - --note-color: #faf3d8; - --note-color-dark: #f3a600; - --note-color-darker: #5f4204; - --todo-color: #e4f3ff; - --todo-color-dark: #1879c4; - --todo-color-darker: #274a5c; - --deprecated-color: #ecf0f3; - --deprecated-color-dark: #5b6269; - --deprecated-color-darker: #43454a; - --bug-color: #e4dafd; - --bug-color-dark: #5b2bdd; - --bug-color-darker: #2a0d72; - --invariant-color: #d8f1e3; - --invariant-color-dark: #44b86f; - --invariant-color-darker: #265532; - - /* blockquote colors */ - --blockquote-background: #f8f9fa; - --blockquote-foreground: #636568; - - /* table colors */ - --tablehead-background: #f1f1f1; - --tablehead-foreground: var(--page-foreground-color); - - /* menu-display: block | none + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --toc-font-size: 13.4px; + --code-font-size: 14px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1050px; + --table-line-height: 24px; + --toc-sticky-top: var(--spacing-medium); + --toc-width: 200px; + --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #faf3d8; + --warning-color-dark: #f3a600; + --warning-color-darker: #5f4204; + --note-color: #e4f3ff; + --note-color-dark: #1879C4; + --note-color-darker: #274a5c; + --todo-color: #e4dafd; + --todo-color-dark: #5b2bdd; + --todo-color-darker: #2a0d72; + --deprecated-color: #ecf0f3; + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: #f8d1cc; + --bug-color-dark: #b61825; + --bug-color-darker: #75070f; + --invariant-color: #d8f1e3; + --invariant-color-dark: #44b86f; + --invariant-color-darker: #265532; + + /* blockquote colors */ + --blockquote-background: #f8f9fa; + --blockquote-foreground: #636568; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. * `GENERATE_TREEVIEW` MUST be enabled! */ - --menu-display: block; + --menu-display: block; - --menu-focus-foreground: var(--page-background-color); - --menu-focus-background: var(--primary-color); - --menu-selected-background: rgba(0, 0, 0, 0.05); + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); - --header-background: var(--page-background-color); - --header-foreground: var(--page-foreground-color); - /* searchbar colors */ - --searchbar-background: var(--side-nav-background); - --searchbar-foreground: var(--page-foreground-color); + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); - /* searchbar size + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size * (`searchbar-width` is only applied on screens >= 768px. * on smaller screens the searchbar will always fill the entire screen width) */ - --searchbar-height: 33px; - --searchbar-width: 210px; - --searchbar-border-radius: var(--searchbar-height); - - /* code block colors */ - --code-background: #f5f5f5; - --code-foreground: var(--page-foreground-color); - - /* fragment colors */ - --fragment-background: #f8f9fa; - --fragment-foreground: #37474f; - --fragment-keyword: #bb6bb2; - --fragment-keywordtype: #8258b3; - --fragment-keywordflow: #d67c3b; - --fragment-token: #438a59; - --fragment-comment: #969696; - --fragment-link: #5383d6; - --fragment-preprocessor: #46aaa5; - --fragment-linenumber-color: #797979; - --fragment-linenumber-background: #f4f4f5; - --fragment-linenumber-border: #e3e5e7; - --fragment-lineheight: 20px; - - /* sidebar navigation (treeview) colors */ - --side-nav-background: #fbfbfb; - --side-nav-foreground: var(--page-foreground-color); - --side-nav-arrow-opacity: 0; - --side-nav-arrow-hover-opacity: 0.9; - - --toc-background: var(--side-nav-background); - --toc-foreground: var(--side-nav-foreground); - - /* height of an item in any tree / collapsible table */ - --tree-item-height: 30px; - - --memname-font-size: var(--code-font-size); - --memtitle-font-size: 18px; - - --webkit-scrollbar-size: 7px; - --webkit-scrollbar-padding: 4px; - --webkit-scrollbar-color: var(--separator-color); + --searchbar-height: 33px; + --searchbar-width: 210px; + --searchbar-border-radius: var(--searchbar-height); + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #F8F9FA; + --fragment-foreground: #37474F; + --fragment-keyword: #bb6bb2; + --fragment-keywordtype: #8258b3; + --fragment-keywordflow: #d67c3b; + --fragment-token: #438a59; + --fragment-comment: #969696; + --fragment-link: #5383d6; + --fragment-preprocessor: #46aaa5; + --fragment-linenumber-color: #797979; + --fragment-linenumber-background: #f4f4f5; + --fragment-linenumber-border: #e3e5e7; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + --toc-background: var(--side-nav-background); + --toc-foreground: var(--side-nav-foreground); + + /* height of an item in any tree / collapsible table */ + --tree-item-height: 30px; + + --memname-font-size: var(--code-font-size); + --memtitle-font-size: 18px; + + --webkit-scrollbar-size: 7px; + --webkit-scrollbar-padding: 4px; + --webkit-scrollbar-color: var(--separator-color); + + --animation-duration: .12s } @media screen and (max-width: 767px) { - html { - --page-font-size: 16px; - --navigation-font-size: 16px; - --toc-font-size: 15px; - --code-font-size: 15px; /* affects code, fragment */ - --title-font-size: 22px; - } + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --toc-font-size: 15px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } } @media (prefers-color-scheme: dark) { - html:not(.light-mode) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #86a9c4; + --primary-light-color: #4779ac; + + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); + + --odd-color: rgba(100,100,100,.06); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #38393b; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #222325; + --blockquote-foreground: #7e8c92; + + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; + --deprecated-color: #2e323b; + --deprecated-color-dark: #738396; + --deprecated-color-darker: #abb0bd; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; + --invariant-color: #303a35; + --invariant-color-dark: #76ce96; + --invariant-color-darker: #cceed5; + + --fragment-background: #282c34; + --fragment-foreground: #dbe4eb; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { color-scheme: dark; --primary-color: #1982d2; --primary-dark-color: #86a9c4; --primary-light-color: #4779ac; - --box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.35); + --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); - --odd-color: rgba(100, 100, 100, 0.06); + --odd-color: rgba(100,100,100,.06); - --menu-selected-background: rgba(0, 0, 0, 0.4); + --menu-selected-background: rgba(0,0,0,.4); - --page-background-color: #1c1d1f; + --page-background-color: #1C1D1F; --page-foreground-color: #d2dbde; --page-secondary-foreground-color: #859399; --separator-color: #38393b; @@ -209,21 +271,21 @@ html { --blockquote-background: #222325; --blockquote-foreground: #7e8c92; - --warning-color: #2e1917; - --warning-color-dark: #ad2617; - --warning-color-darker: #f5b1aa; - --note-color: #3b2e04; - --note-color-dark: #f1b602; - --note-color-darker: #ceb670; - --todo-color: #163750; - --todo-color-dark: #1982d2; - --todo-color-darker: #dcf0fa; + --warning-color: #3b2e04; + --warning-color-dark: #f1b602; + --warning-color-darker: #ceb670; + --note-color: #163750; + --note-color-dark: #1982D2; + --note-color-darker: #dcf0fa; + --todo-color: #2a2536; + --todo-color-dark: #7661b3; + --todo-color-darker: #ae9ed6; --deprecated-color: #2e323b; --deprecated-color-dark: #738396; --deprecated-color-darker: #abb0bd; - --bug-color: #2a2536; - --bug-color-dark: #7661b3; - --bug-color-darker: #ae9ed6; + --bug-color: #2e1917; + --bug-color-dark: #ad2617; + --bug-color-darker: #f5b1aa; --invariant-color: #303a35; --invariant-color-dark: #76ce96; --invariant-color-darker: #cceed5; @@ -240,131 +302,44 @@ html { --fragment-linenumber-color: #cccccc; --fragment-linenumber-background: #35393c; --fragment-linenumber-border: #1f1f1f; - } } -/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ -html.dark-mode { - color-scheme: dark; - - --primary-color: #1982d2; - --primary-dark-color: #86a9c4; - --primary-light-color: #4779ac; - - --box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.3); - - --odd-color: rgba(100, 100, 100, 0.06); - - --menu-selected-background: rgba(0, 0, 0, 0.4); - - --page-background-color: #1c1d1f; - --page-foreground-color: #d2dbde; - --page-secondary-foreground-color: #859399; - --separator-color: #38393b; - --side-nav-background: #252628; - - --code-background: #2a2c2f; - - --tablehead-background: #2a2c2f; - - --blockquote-background: #222325; - --blockquote-foreground: #7e8c92; - - --warning-color: #2e1917; - --warning-color-dark: #ad2617; - --warning-color-darker: #f5b1aa; - --note-color: #3b2e04; - --note-color-dark: #f1b602; - --note-color-darker: #ceb670; - --todo-color: #163750; - --todo-color-dark: #1982d2; - --todo-color-darker: #dcf0fa; - --deprecated-color: #2e323b; - --deprecated-color-dark: #738396; - --deprecated-color-darker: #abb0bd; - --bug-color: #2a2536; - --bug-color-dark: #7661b3; - --bug-color-darker: #ae9ed6; - --invariant-color: #303a35; - --invariant-color-dark: #76ce96; - --invariant-color-darker: #cceed5; - - --fragment-background: #282c34; - --fragment-foreground: #dbe4eb; - --fragment-keyword: #cc99cd; - --fragment-keywordtype: #ab99cd; - --fragment-keywordflow: #e08000; - --fragment-token: #7ec699; - --fragment-comment: #999999; - --fragment-link: #98c0e3; - --fragment-preprocessor: #65cabe; - --fragment-linenumber-color: #cccccc; - --fragment-linenumber-background: #35393c; - --fragment-linenumber-border: #1f1f1f; +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); } -body { - color: var(--page-foreground-color); - background-color: var(--page-background-color); - font-size: var(--page-font-size); -} - -body, -table, -div, -p, -dl, -#nav-tree .label, -.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 { - font-family: var(--font-family); -} - -h1, -h2, -h3, -h4, -h5 { - margin-top: 0.9em; - font-weight: 600; - line-height: initial; -} - -p, -div, -table, -dl, -p.reference, -p.definition { - font-size: var(--page-font-size); -} - -p.reference, -p.definition { - color: var(--page-secondary-foreground-color); -} - -a:link, -a:visited, -a:hover, -a:focus, -a:active { - color: var(--primary-color) !important; - font-weight: 500; +body, table, div, p, dl, #nav-tree .label, .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 { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: 1em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl, p.reference, p.definition { + font-size: var(--page-font-size); +} + +p.reference, p.definition { + color: var(--page-secondary-foreground-color); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; + background: none; } a.anchor { - scroll-margin-top: var(--spacing-large); - display: block; + scroll-margin-top: var(--spacing-large); + display: block; } /* @@ -372,449 +347,429 @@ a.anchor { */ #top { - background: var(--header-background); - border-bottom: 1px solid var(--separator-color); + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); } @media screen and (min-width: 768px) { - #top { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - } + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } } #main-nav { - flex-grow: 5; - padding: var(--spacing-small) var(--spacing-medium); + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); } #titlearea { - width: auto; - padding: var(--spacing-medium) var(--spacing-large); - background: none; - color: var(--header-foreground); - border-bottom: none; + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; } @media screen and (max-width: 767px) { - #titlearea { - padding-bottom: var(--spacing-small); - } + #titlearea { + padding-bottom: var(--spacing-small); + } } #titlearea table tbody tr { - height: auto !important; + height: auto !important; } #projectname { - font-size: var(--title-font-size); - font-weight: 600; + font-size: var(--title-font-size); + font-weight: 600; } #projectnumber { - font-family: inherit; - font-size: 60%; + font-family: inherit; + font-size: 60%; } #projectbrief { - font-family: inherit; - font-size: 80%; + font-family: inherit; + font-size: 80%; } #projectlogo { - vertical-align: middle; + vertical-align: middle; } #projectlogo img { - max-height: calc(var(--title-font-size) * 2); - margin-right: var(--spacing-small); + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); } -.sm-dox, -.tabs, -.tabs2, -.tabs3 { - background: none; - padding: 0; +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; } -.tabs, -.tabs2, -.tabs3 { - border-bottom: 1px solid var(--separator-color); - margin-bottom: -1px; +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; } -.main-menu-btn-icon, -.main-menu-btn-icon:before, -.main-menu-btn-icon:after { - background: var(--page-secondary-foreground-color); +.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after { + background: var(--page-secondary-foreground-color); } @media screen and (max-width: 767px) { - .sm-dox a span.sub-arrow { - background: var(--code-background); - } + .sm-dox a span.sub-arrow { + background: var(--code-background); + } - #main-menu a.has-submenu span.sub-arrow { - color: var(--page-secondary-foreground-color); - border-radius: var(--border-radius-medium); - } + #main-menu a.has-submenu span.sub-arrow { + color: var(--page-secondary-foreground-color); + border-radius: var(--border-radius-medium); + } - #main-menu a.has-submenu:hover span.sub-arrow { - color: var(--page-foreground-color); - } + #main-menu a.has-submenu:hover span.sub-arrow { + color: var(--page-foreground-color); + } } @media screen and (min-width: 768px) { - .sm-dox li, - .tablist li { - display: var(--menu-display); - } + .sm-dox li, .tablist li { + display: var(--menu-display); + } - .sm-dox a span.sub-arrow { - border-color: var(--header-foreground) transparent transparent transparent; - } + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } - .sm-dox a:hover span.sub-arrow { - border-color: var(--menu-focus-foreground) transparent transparent - transparent; - } + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } - .sm-dox ul a span.sub-arrow { - border-color: transparent transparent transparent - var(--page-foreground-color); - } + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } - .sm-dox ul a:hover span.sub-arrow { - border-color: transparent transparent transparent - var(--menu-focus-foreground); - } + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } } .sm-dox ul { - background: var(--page-background-color); - box-shadow: var(--box-shadow); - border: 1px solid var(--separator-color); - border-radius: var(--border-radius-medium) !important; - padding: var(--spacing-small); - animation: ease-out 150ms slideInMenu; + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; } @keyframes slideInMenu { - from { - opacity: 0; - transform: translate(0px, -2px); - } + from { + opacity: 0; + transform: translate(0px, -2px); + } - to { - opacity: 1; - transform: translate(0px, 0px); - } + to { + opacity: 1; + transform: translate(0px, 0px); + } } .sm-dox ul a { - color: var(--page-foreground-color) !important; - background: var(--page-background-color); - font-size: var(--navigation-font-size); + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); } -.sm-dox > li > ul:after { - border-bottom-color: var(--page-background-color) !important; +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; } -.sm-dox > li > ul:before { - border-bottom-color: var(--separator-color) !important; +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; } -.sm-dox ul a:hover, -.sm-dox ul a:active, -.sm-dox ul a:focus { - font-size: var(--navigation-font-size) !important; - color: var(--menu-focus-foreground) !important; - text-shadow: none; - background-color: var(--menu-focus-background); - border-radius: var(--border-radius-small) !important; +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; } -.sm-dox a, -.sm-dox a:focus, -.tablist li, -.tablist li a, -.tablist li.current a { - text-shadow: none; - background: transparent; - background-image: none !important; - color: var(--header-foreground) !important; - font-weight: normal; - font-size: var(--navigation-font-size); - border-radius: var(--border-radius-small) !important; +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); + border-radius: var(--border-radius-small) !important; } .sm-dox a:focus { - outline: auto; + outline: auto; } -.sm-dox a:hover, -.sm-dox a:active, -.tablist li a:hover { - text-shadow: none; - font-weight: normal; - background: var(--menu-focus-background); - color: var(--menu-focus-foreground) !important; - border-radius: var(--border-radius-small) !important; - font-size: var(--navigation-font-size); +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); } .tablist li.current { - border-radius: var(--border-radius-small); - background: var(--menu-selected-background); + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); } .tablist li { - margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); } .tablist a { - padding: 0 var(--spacing-large); + padding: 0 var(--spacing-large); } + /* Search box */ #MSearchBox { - height: var(--searchbar-height); - background: var(--searchbar-background); - border-radius: var(--searchbar-border-radius); - border: 1px solid var(--separator-color); - overflow: hidden; - width: var(--searchbar-width); - position: relative; - box-shadow: none; - display: block; - margin-top: 0; + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; } /* until Doxygen 1.9.4 */ .left img#MSearchSelect { - left: 0; - user-select: none; - padding-left: 8px; + left: 0; + user-select: none; + padding-left: 8px; } /* Doxygen 1.9.5 */ .left span#MSearchSelect { - left: 0; - user-select: none; - margin-left: 8px; - padding: 0; + left: 0; + user-select: none; + margin-left: 8px; + padding: 0; } .left #MSearchSelect[src$=".png"] { - padding-left: 0; + padding-left: 0 } .SelectionMark { - user-select: none; + user-select: none; } .tabs .left #MSearchSelect { - padding-left: 0; + padding-left: 0; } .tabs #MSearchBox { - position: absolute; - right: var(--spacing-medium); + position: absolute; + right: var(--spacing-medium); } @media screen and (max-width: 767px) { - .tabs #MSearchBox { - position: relative; - right: 0; - margin-left: var(--spacing-medium); - margin-top: 0; - } + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } } -#MSearchSelectWindow, -#MSearchResultsWindow { - z-index: 9999; +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; } #MSearchBox.MSearchBoxActive { - border-color: var(--primary-color); - box-shadow: inset 0 0 0 1px var(--primary-color); + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); } #main-menu > li:last-child { - margin-right: 0; + margin-right: 0; } @media screen and (max-width: 767px) { - #main-menu > li:last-child { - height: 50px; - } + #main-menu > li:last-child { + height: 50px; + } } #MSearchField { - font-size: var(--navigation-font-size); - height: calc(var(--searchbar-height) - 2px); - background: transparent; - width: calc(var(--searchbar-width) - 64px); + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); } .MSearchBoxActive #MSearchField { - color: var(--searchbar-foreground); + color: var(--searchbar-foreground); } #MSearchSelect { - top: calc(calc(var(--searchbar-height) / 2) - 11px); + top: calc(calc(var(--searchbar-height) / 2) - 11px); } -#MSearchBox span.left, -#MSearchBox span.right { - background: none; - background-image: none; +#MSearchBox span.left, #MSearchBox span.right { + background: none; + background-image: none; } #MSearchBox span.right { - padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); - position: absolute; - right: var(--spacing-small); + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); } .tabs #MSearchBox span.right { - top: calc(calc(var(--searchbar-height) / 2) - 12px); + top: calc(calc(var(--searchbar-height) / 2) - 12px); } @keyframes slideInSearchResults { - from { - opacity: 0; - transform: translate(0, 15px); - } + from { + opacity: 0; + transform: translate(0, 15px); + } - to { - opacity: 1; - transform: translate(0, 20px); - } + to { + opacity: 1; + transform: translate(0, 20px); + } } #MSearchResultsWindow { - left: auto !important; - right: var(--spacing-medium); - border-radius: var(--border-radius-large); - border: 1px solid var(--separator-color); - transform: translate(0, 20px); - box-shadow: var(--box-shadow); - animation: ease-out 280ms slideInSearchResults; - background: var(--page-background-color); + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); } iframe#MSearchResults { - margin: 4px; + margin: 4px; } iframe { - color-scheme: normal; + color-scheme: normal; } @media (prefers-color-scheme: dark) { - html:not(.light-mode) iframe#MSearchResults { - filter: invert() hue-rotate(180deg); - } + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } } html.dark-mode iframe#MSearchResults { - filter: invert() hue-rotate(180deg); + filter: invert() hue-rotate(180deg); } #MSearchResults .SRPage { - background-color: transparent; + background-color: transparent; } #MSearchResults .SRPage .SREntry { - font-size: 10pt; - padding: var(--spacing-small) var(--spacing-medium); + font-size: 10pt; + padding: var(--spacing-small) var(--spacing-medium); } #MSearchSelectWindow { - border: 1px solid var(--separator-color); - border-radius: var(--border-radius-medium); - box-shadow: var(--box-shadow); - background: var(--page-background-color); - padding-top: var(--spacing-small); - padding-bottom: var(--spacing-small); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); } #MSearchSelectWindow a.SelectItem { - font-size: var(--navigation-font-size); - line-height: var(--content-line-height); - margin: 0 var(--spacing-small); - border-radius: var(--border-radius-small); - color: var(--page-foreground-color) !important; - font-weight: normal; + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; } #MSearchSelectWindow a.SelectItem:hover { - background: var(--menu-focus-background); - color: var(--menu-focus-foreground) !important; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; } @media screen and (max-width: 767px) { - #MSearchBox { - margin-top: var(--spacing-medium); - margin-bottom: var(--spacing-medium); - width: calc(100vw - 30px); - } - - #main-menu > li:last-child { - float: none !important; - } + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } - #MSearchField { - width: calc(100vw - 110px); - } + #main-menu > li:last-child { + float: none !important; + } - @keyframes slideInSearchResultsMobile { - from { - opacity: 0; - transform: translate(0, 15px); + #MSearchField { + width: calc(100vw - 110px); } - to { - opacity: 1; - transform: translate(0, 20px); + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } } - } - #MSearchResultsWindow { - left: var(--spacing-medium) !important; - right: var(--spacing-medium); - overflow: auto; - transform: translate(0, 20px); - animation: ease-out 280ms slideInSearchResultsMobile; - width: auto !important; - } + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + width: auto !important; + } - /* + /* * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 */ - label.main-menu-btn ~ #searchBoxPos1 { - top: 3px !important; - right: 6px !important; - left: 45px; - display: flex; - } + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } - label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { - margin-top: 0; - margin-bottom: 0; - flex-grow: 2; - float: left; - } + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } } /* @@ -822,97 +777,109 @@ html.dark-mode iframe#MSearchResults { */ #side-nav { - padding: 0 !important; - background: var(--side-nav-background); + padding: 0 !important; + background: var(--side-nav-background); + min-width: 8px; + max-width: 50vw; } @media screen and (max-width: 767px) { - #side-nav { - display: none; - } + #side-nav { + display: none; + } - #doc-content { - margin-left: 0 !important; - } + #doc-content { + margin-left: 0 !important; + } } #nav-tree { - background: transparent; - margin-right: 1px; + background: transparent; + margin-right: 1px; } #nav-tree .label { - font-size: var(--navigation-font-size); + font-size: var(--navigation-font-size); } #nav-tree .item { - height: var(--tree-item-height); - line-height: var(--tree-item-height); + height: var(--tree-item-height); + line-height: var(--tree-item-height); + overflow: hidden; + text-overflow: ellipsis; +} + +#nav-tree .item > a:focus { + outline: none; } #nav-sync { - bottom: 12px; - right: 12px; - top: auto !important; - user-select: none; + bottom: 12px; + right: 12px; + top: auto !important; + user-select: none; } #nav-tree .selected { - text-shadow: none; - background-image: none; - background-color: transparent; - position: relative; + text-shadow: none; + background-image: none; + background-color: transparent; + position: relative; + color: var(--primary-color) !important; + font-weight: 500; } #nav-tree .selected::after { - content: ""; - position: absolute; - top: 1px; - bottom: 1px; - left: 0; - width: 4px; - border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; - background: var(--primary-color); + content: ""; + position: absolute; + top: 1px; + bottom: 1px; + left: 0; + width: 4px; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + background: var(--primary-color); } + #nav-tree a { - color: var(--side-nav-foreground) !important; - font-weight: normal; + color: var(--side-nav-foreground) !important; + font-weight: normal; } #nav-tree a:focus { - outline-style: auto; + outline-style: auto; } #nav-tree .arrow { - opacity: var(--side-nav-arrow-opacity); + opacity: var(--side-nav-arrow-opacity); + background: none; } .arrow { - color: inherit; - cursor: pointer; - font-size: 45%; - vertical-align: middle; - margin-right: 2px; - font-family: serif; - height: auto; - text-align: right; + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; } -#nav-tree div.item:hover .arrow, -#nav-tree a:focus .arrow { - opacity: var(--side-nav-arrow-hover-opacity); +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); } #nav-tree .selected a { - color: var(--primary-color) !important; - font-weight: bolder; - font-weight: 600; + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; } .ui-resizable-e { - background: var(--separator-color); - width: 1px; + width: 4px; + background: transparent; + box-shadow: inset -1px 0 0 0 var(--separator-color); } /* @@ -920,99 +887,95 @@ html.dark-mode iframe#MSearchResults { */ div.header { - border-bottom: 1px solid var(--separator-color); - background-color: var(--page-background-color); - background-image: none; + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; } @media screen and (min-width: 1000px) { - #doc-content > div > div.contents, - .PageDoc > div.contents { - display: flex; - flex-direction: row-reverse; - flex-wrap: nowrap; - align-items: flex-start; - } + #doc-content > div > div.contents, + .PageDoc > div.contents { + display: flex; + flex-direction: row-reverse; + flex-wrap: nowrap; + align-items: flex-start; + } - div.contents .textblock { - min-width: 200px; - flex-grow: 1; - } + div.contents .textblock { + min-width: 200px; + flex-grow: 1; + } } -div.contents, -div.header .title, -div.header .summary { - max-width: var(--content-maxwidth); +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); } -div.contents, -div.header .title { - line-height: initial; - margin: calc(var(--spacing-medium) + 0.2em) auto var(--spacing-medium) auto; +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; } div.header .summary { - margin: var(--spacing-medium) auto 0 auto; + margin: var(--spacing-medium) auto 0 auto; } div.headertitle { - padding: 0; + padding: 0; } div.header .title { - font-weight: 600; - font-size: 225%; - padding: var(--spacing-medium) var(--spacing-large); - word-break: break-word; + font-weight: 600; + font-size: 225%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; } div.header .summary { - width: auto; - display: block; - float: none; - padding: 0 var(--spacing-large); + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); } td.memSeparator { - border-color: var(--separator-color); + border-color: var(--separator-color); } span.mlabel { - background: var(--primary-color); - border: none; - padding: 4px 9px; - border-radius: 12px; - margin-right: var(--spacing-medium); + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); } span.mlabel:last-of-type { - margin-right: 2px; + margin-right: 2px; } div.contents { - padding: 0 var(--spacing-large); + padding: 0 var(--spacing-large); } -div.contents p, -div.contents li { - line-height: var(--content-line-height); +div.contents p, div.contents li { + line-height: var(--content-line-height); } div.contents div.dyncontent { - margin: var(--spacing-medium) 0; + margin: var(--spacing-medium) 0; } @media (prefers-color-scheme: dark) { - html:not(.light-mode) div.contents div.dyncontent img, - html:not(.light-mode) div.contents center img, - 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, - html:not(.light-mode) div.contents .dotgraph iframe { - filter: brightness(89%) hue-rotate(180deg) invert(); - } + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + 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, + html:not(.light-mode) div.contents .dotgraph iframe { + filter: brightness(89%) hue-rotate(180deg) invert(); + } } html.dark-mode div.contents div.dyncontent img, @@ -1021,105 +984,110 @@ 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, -html.dark-mode div.contents .dotgraph iframe { - filter: brightness(89%) hue-rotate(180deg) invert(); +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), - -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.75px var(--separator-color), - -500px 0.75px var(--separator-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.75px var(--separator-color), - -1400px 0.75px var(--separator-color), 1900px 0 var(--page-background-color), - -1900px 0 var(--page-background-color), 1900px 0.75px var(--separator-color), - -1900px 0.75px var(--separator-color); + border-bottom: 0px; + color: var(--page-foreground-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.75px var(--separator-color), + -500px 0.75px var(--separator-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.75px var(--separator-color), + -1400px 0.75px var(--separator-color), + 1900px 0 var(--page-background-color), + -1900px 0 var(--page-background-color), + 1900px 0.75px var(--separator-color), + -1900px 0.75px var(--separator-color); } blockquote { - margin: 0 var(--spacing-medium) 0 var(--spacing-medium); - padding: var(--spacing-small) var(--spacing-large); - background: var(--blockquote-background); - color: var(--blockquote-foreground); - border-left: 0; - overflow: visible; - border-radius: var(--border-radius-medium); - overflow: visible; - position: relative; -} - -blockquote::before, -blockquote::after { - font-weight: bold; - font-family: serif; - font-size: 360%; - opacity: 0.15; - position: absolute; + margin: 0 var(--spacing-medium) 0 var(--spacing-medium); + padding: var(--spacing-small) var(--spacing-large); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 0; + overflow: visible; + border-radius: var(--border-radius-medium); + overflow: visible; + position: relative; +} + +blockquote::before, blockquote::after { + font-weight: bold; + font-family: serif; + font-size: 360%; + opacity: .15; + position: absolute; } blockquote::before { - content: "“"; - left: -10px; - top: 4px; + content: "“"; + left: -10px; + top: 4px; } blockquote::after { - content: "”"; - right: -8px; - bottom: -25px; + content: "”"; + right: -8px; + bottom: -25px; } blockquote p { - margin: var(--spacing-small) 0 var(--spacing-medium) 0; + margin: var(--spacing-small) 0 var(--spacing-medium) 0; } -.paramname { - font-weight: 600; - color: var(--primary-dark-color); +.paramname, .paramname em { + font-weight: 600; + color: var(--primary-dark-color); } .paramname > code { - border: 0; + border: 0; } table.params .paramname { - font-weight: 600; - font-family: var(--font-family-monospace); - font-size: var(--code-font-size); - padding-right: var(--spacing-small); - line-height: var(--table-line-height); + font-weight: 600; + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + padding-right: var(--spacing-small); + line-height: var(--table-line-height); } -h1.glow, -h2.glow, -h3.glow, -h4.glow, -h5.glow, -h6.glow { - text-shadow: 0 0 15px var(--primary-light-color); +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--primary-light-color); } .alphachar a { - color: var(--page-foreground-color); + color: var(--page-foreground-color); } .dotgraph { - max-width: 100%; - overflow-x: scroll; + max-width: 100%; + overflow-x: scroll; } .dotgraph .caption { - position: sticky; - left: 0; + position: sticky; + left: 0; } /* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */ .interactive_dotgraph .dotgraph iframe { - max-width: 100%; + max-width: 100%; } /* @@ -1127,532 +1095,491 @@ h6.glow { */ div.contents .toc { - max-height: var(--toc-max-height); - min-width: var(--toc-width); - border: 0; - border-left: 1px solid var(--separator-color); - border-radius: 0; - background-color: transparent; - box-shadow: none; - position: sticky; - top: var(--toc-sticky-top); - padding: 0 var(--spacing-large); - margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); + max-height: var(--toc-max-height); + min-width: var(--toc-width); + border: 0; + border-left: 1px solid var(--separator-color); + border-radius: 0; + background-color: var(--page-background-color); + box-shadow: none; + position: sticky; + top: var(--toc-sticky-top); + padding: 0 var(--spacing-large); + margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); } div.toc h3 { - color: var(--toc-foreground); - font-size: var(--navigation-font-size); - margin: var(--spacing-large) 0 var(--spacing-medium) 0; + color: var(--toc-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0 var(--spacing-medium) 0; } div.toc li { - padding: 0; - background: none; - line-height: var(--toc-font-size); - margin: var(--toc-font-size) 0 0 0; + padding: 0; + background: none; + line-height: var(--toc-font-size); + margin: var(--toc-font-size) 0 0 0; } div.toc li::before { - display: none; + display: none; } div.toc ul { - margin-top: 0; + margin-top: 0 } div.toc li a { - font-size: var(--toc-font-size); - color: var(--page-foreground-color) !important; - text-decoration: none; + font-size: var(--toc-font-size); + color: var(--page-foreground-color) !important; + text-decoration: none; } -div.toc li a:hover, -div.toc li a.active { - color: var(--primary-color) !important; +div.toc li a:hover, div.toc li a.active { + color: var(--primary-color) !important; } div.toc li a.aboveActive { - color: var(--page-secondary-foreground-color) !important; + color: var(--page-secondary-foreground-color) !important; } + @media screen and (max-width: 999px) { - div.contents .toc { - max-height: 45vh; - float: none; - width: auto; - margin: 0 0 var(--spacing-medium) 0; - position: relative; - top: 0; - position: relative; - border: 1px solid var(--separator-color); - border-radius: var(--border-radius-medium); - background-color: var(--toc-background); - box-shadow: var(--box-shadow); - } + div.contents .toc { + max-height: 45vh; + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + position: relative; + top: 0; + position: relative; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background-color: var(--toc-background); + box-shadow: var(--box-shadow); + } - div.contents .toc.interactive { - max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); - overflow: hidden; - } + div.contents .toc.interactive { + max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); + overflow: hidden; + } - div.contents .toc > h3 { - -webkit-tap-highlight-color: transparent; - cursor: pointer; - position: sticky; - top: 0; - background-color: var(--toc-background); - margin: 0; - padding: var(--spacing-large) 0; - display: block; - } + div.contents .toc > h3 { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + position: sticky; + top: 0; + background-color: var(--toc-background); + margin: 0; + padding: var(--spacing-large) 0; + display: block; + } - div.contents .toc.interactive > h3::before { - content: ""; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 5px solid var(--primary-color); - display: inline-block; - margin-right: var(--spacing-small); - margin-bottom: calc(var(--navigation-font-size) / 4); - transform: rotate(-90deg); - transition: transform 0.25s ease-out; - } + div.contents .toc.interactive > h3::before { + content: ""; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + display: inline-block; + margin-right: var(--spacing-small); + margin-bottom: calc(var(--navigation-font-size) / 4); + transform: rotate(-90deg); + transition: transform var(--animation-duration) ease-out; + } - div.contents .toc.interactive.open > h3::before { - transform: rotate(0deg); - } + div.contents .toc.interactive.open > h3::before { + transform: rotate(0deg); + } - div.contents .toc.interactive.open { - max-height: 45vh; - overflow: auto; - transition: max-height 0.2s ease-in-out; - } + div.contents .toc.interactive.open { + max-height: 45vh; + overflow: auto; + transition: max-height 0.2s ease-in-out; + } - div.contents .toc a, - div.contents .toc a.active { - color: var(--primary-color) !important; - } + div.contents .toc a, div.contents .toc a.active { + color: var(--primary-color) !important; + } - div.contents .toc a:hover { - text-decoration: underline; - } + div.contents .toc a:hover { + text-decoration: underline; + } } /* Code & Fragments */ -code, -div.fragment, -pre.fragment { - border-radius: var(--border-radius-small); - border: 1px solid var(--separator-color); - overflow: hidden; +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + overflow: hidden; } code { - display: inline; - background: var(--code-background); - color: var(--code-foreground); - padding: 2px 6px; + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; } -div.fragment, -pre.fragment { - margin: var(--spacing-medium) 0; - padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) - var(--spacing-large); - background: var(--fragment-background); - color: var(--fragment-foreground); - overflow-x: auto; +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; } @media screen and (max-width: 767px) { - div.fragment, - pre.fragment { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right: 0; - } - - .contents > div.fragment, - .textblock > div.fragment, - .textblock > pre.fragment, - .contents > .doxygen-awesome-fragment-wrapper > div.fragment, - .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, - .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment { - margin: var(--spacing-medium) calc(0px - var(--spacing-large)); - border-radius: 0; - border-left: 0; - } - - .textblock li > .fragment, - .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { - margin: var(--spacing-medium) calc(0px - var(--spacing-large)); - } - - .memdoc li > .fragment, - .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { - margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); - } - - .textblock ul, - .memdoc ul { - overflow: initial; - } - - .memdoc > div.fragment, - .memdoc > pre.fragment, - dl dd > div.fragment, - dl dd pre.fragment, - .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, - .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, - dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, - dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { - margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); - border-radius: 0; - border-left: 0; - } + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + } + + .contents > div.fragment, + .textblock > div.fragment, + .textblock > pre.fragment, + .textblock > .tabbed > ul > li > div.fragment, + .textblock > .tabbed > ul > li > pre.fragment, + .contents > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment, + .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + border-left: 0; + } + + .textblock li > .fragment, + .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment, + .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .textblock ul, .memdoc ul { + overflow: initial; + } + + .memdoc > div.fragment, + .memdoc > pre.fragment, + dl dd > div.fragment, + dl dd pre.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, + .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, + dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, + dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + border-left: 0; + } } -code, -code a, -pre.fragment, -div.fragment, -div.fragment .line, -div.fragment span, -div.fragment .line a, -div.fragment .line span { - font-family: var(--font-family-monospace); - font-size: var(--code-font-size) !important; +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; } div.line:after { - margin-right: var(--spacing-medium); + margin-right: var(--spacing-medium); } -div.fragment .line, -pre.fragment { - white-space: pre; - word-wrap: initial; - line-height: var(--fragment-lineheight); +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); } div.fragment span.keyword { - color: var(--fragment-keyword); + color: var(--fragment-keyword); } div.fragment span.keywordtype { - color: var(--fragment-keywordtype); + color: var(--fragment-keywordtype); } div.fragment span.keywordflow { - color: var(--fragment-keywordflow); + color: var(--fragment-keywordflow); } div.fragment span.stringliteral { - color: var(--fragment-token); + color: var(--fragment-token) } div.fragment span.comment { - color: var(--fragment-comment); + color: var(--fragment-comment); } div.fragment a.code { - color: var(--fragment-link) !important; + color: var(--fragment-link) !important; } div.fragment span.preprocessor { - color: var(--fragment-preprocessor); + color: var(--fragment-preprocessor); } div.fragment span.lineno { - display: inline-block; - width: 27px; - border-right: none; - background: var(--fragment-linenumber-background); - color: var(--fragment-linenumber-color); + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); } div.fragment span.lineno a { - background: none; - color: var(--fragment-link) !important; + background: none; + color: var(--fragment-link) !important; } -div.fragment .line:first-child .lineno { - box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), - -999998px 0px 0 999999px var(--fragment-linenumber-border); +div.fragment > .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); + background-color: var(--fragment-linenumber-background) !important; } div.line { - border-radius: var(--border-radius-small); + border-radius: var(--border-radius-small); } div.line.glow { - background-color: var(--primary-light-color); - box-shadow: none; + background-color: var(--primary-light-color); + box-shadow: none; } /* dl warning, attention, note, deprecated, bug, ... */ -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.post, -dl.todo, -dl.remark { - padding: var(--spacing-medium); - margin: var(--spacing-medium) 0; - color: var(--page-background-color); - overflow: hidden; - margin-left: 0; - border-radius: var(--border-radius-small); +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.post, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); } dl.section dd { - margin-bottom: 2px; + margin-bottom: 2px; } -dl.warning, -dl.attention { - background: var(--warning-color); - border-left: 8px solid var(--warning-color-dark); - color: var(--warning-color-darker); +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); } -dl.warning dt, -dl.attention dt { - color: var(--warning-color-dark); +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); } -dl.note, -dl.remark { - background: var(--note-color); - border-left: 8px solid var(--note-color-dark); - color: var(--note-color-darker); +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); } -dl.note dt, -dl.remark dt { - color: var(--note-color-dark); +dl.note dt, dl.remark dt { + color: var(--note-color-dark); } dl.todo { - background: var(--todo-color); - border-left: 8px solid var(--todo-color-dark); - color: var(--todo-color-darker); + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); } -dl.todo dt { - color: var(--todo-color-dark); +dl.todo dt a { + color: var(--todo-color-dark) !important; } dl.bug dt a { - color: var(--todo-color-dark) !important; + color: var(--todo-color-dark) !important; } dl.bug { - background: var(--bug-color); - border-left: 8px solid var(--bug-color-dark); - color: var(--bug-color-darker); + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); } dl.bug dt a { - color: var(--bug-color-dark) !important; + color: var(--bug-color-dark) !important; } dl.deprecated { - background: var(--deprecated-color); - border-left: 8px solid var(--deprecated-color-dark); - color: var(--deprecated-color-darker); + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); } dl.deprecated dt a { - color: var(--deprecated-color-dark) !important; + color: var(--deprecated-color-dark) !important; } -dl.section dd, -dl.bug dd, -dl.deprecated dd, -dl.todo dd { - margin-inline-start: 0px; +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; } -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, 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.post dt { - color: var(--invariant-color-dark); +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-dark); } /* memitem */ -div.memdoc, -div.memproto, -h2.memtitle { - box-shadow: none; - background-image: none; - border: none; +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; } div.memdoc { - padding: 0 var(--spacing-medium); - background: var(--page-background-color); + padding: 0 var(--spacing-medium); + background: var(--page-background-color); } -h2.memtitle, -div.memitem { - border: 1px solid var(--separator-color); - box-shadow: var(--box-shadow); +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); + box-shadow: var(--box-shadow); } h2.memtitle { - box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), - var(--box-shadow); + box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); } div.memitem { - transition: none; + transition: none; } -div.memproto, -h2.memtitle { - background: var(--fragment-background); +div.memproto, h2.memtitle { + background: var(--fragment-background); } h2.memtitle { - font-weight: 500; - font-size: var(--memtitle-font-size); - font-family: var(--font-family-monospace); - border-bottom: none; - border-top-left-radius: var(--border-radius-medium); - border-top-right-radius: var(--border-radius-medium); - word-break: break-all; - position: relative; + font-weight: 500; + font-size: var(--memtitle-font-size); + font-family: var(--font-family-monospace); + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; + position: relative; } h2.memtitle:after { - content: ""; - display: block; - background: var(--fragment-background); - height: var(--spacing-medium); - bottom: calc(0px - var(--spacing-medium)); - left: 0; - right: -14px; - position: absolute; - border-top-right-radius: var(--border-radius-medium); + content: ""; + display: block; + background: var(--fragment-background); + height: var(--spacing-medium); + bottom: calc(0px - var(--spacing-medium)); + left: 0; + right: -14px; + position: absolute; + border-top-right-radius: var(--border-radius-medium); } h2.memtitle > span.permalink { - font-size: inherit; + font-size: inherit; } h2.memtitle > span.permalink > a { - text-decoration: none; - padding-left: 3px; - margin-right: -4px; - user-select: none; - display: inline-block; - margin-top: -6px; + text-decoration: none; + padding-left: 3px; + margin-right: -4px; + user-select: none; + display: inline-block; + margin-top: -6px; } h2.memtitle > span.permalink > a:hover { - color: var(--primary-dark-color) !important; + color: var(--primary-dark-color) !important; } -a:target + h2.memtitle, -a:target + h2.memtitle + div.memitem { - border-color: var(--primary-light-color); +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); } 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); - overflow: hidden; - display: block !important; + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; } div.memdoc { - border-radius: 0; + border-radius: 0; } div.memproto { - border-radius: 0 var(--border-radius-small) 0 0; - overflow: auto; - border-bottom: 1px solid var(--separator-color); - padding: var(--spacing-medium); - margin-bottom: -1px; + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; } div.memtitle { - border-top-right-radius: var(--border-radius-medium); - border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); } div.memproto table.memname { - font-family: var(--font-family-monospace); - color: var(--page-foreground-color); - font-size: var(--memname-font-size); - text-shadow: none; + font-family: var(--font-family-monospace); + color: var(--page-foreground-color); + font-size: var(--memname-font-size); + text-shadow: none; } div.memproto div.memtemplate { - font-family: var(--font-family-monospace); - color: var(--primary-dark-color); - font-size: var(--memname-font-size); - margin-left: 2px; - text-shadow: none; + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--memname-font-size); + margin-left: 2px; + text-shadow: none; } -table.mlabels, -table.mlabels > tbody { - display: block; +table.mlabels, table.mlabels > tbody { + display: block; } td.mlabels-left { - width: auto; + width: auto; } td.mlabels-right { - margin-top: 3px; - position: sticky; - left: 0; + margin-top: 3px; + position: sticky; + left: 0; } table.mlabels > tbody > tr:first-child { - display: flex; - justify-content: space-between; - flex-wrap: wrap; + display: flex; + justify-content: space-between; + flex-wrap: wrap; } -.memname, -.memitem span.mlabels { - margin: 0; +.memname, .memitem span.mlabels { + margin: 0 } /* @@ -1660,32 +1587,34 @@ table.mlabels > tbody > tr:first-child { */ dl.reflist { - box-shadow: var(--box-shadow); - border-radius: var(--border-radius-medium); - border: 1px solid var(--separator-color); - overflow: hidden; - padding: 0; + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; } -dl.reflist dt, -dl.reflist dd { - box-shadow: none; - text-shadow: none; - background-image: none; - border: none; - padding: 12px; + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; } + dl.reflist dt { - font-weight: 500; - border-radius: 0; - background: var(--code-background); - border-bottom: 1px solid var(--separator-color); - color: var(--page-foreground-color); + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) } + dl.reflist dd { - background: none; + background: none; } /* @@ -1693,44 +1622,37 @@ dl.reflist dd { */ .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), -.contents - table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) - tbody { - display: inline-block; - max-width: 100%; +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { + display: inline-block; + max-width: 100%; } -.contents - > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not( - .classindex - ) { - margin-left: calc(0px - var(--spacing-large)); - margin-right: calc(0px - var(--spacing-large)); - max-width: calc(100% + 2 * var(--spacing-large)); +.contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); } table.fieldtable, table.markdownTable tbody, table.doxtable tbody { - border: none; - margin: var(--spacing-medium) 0; - box-shadow: 0 0 0 1px var(--separator-color); - border-radius: var(--border-radius-small); + border: none; + margin: var(--spacing-medium) 0; + box-shadow: 0 0 0 1px var(--separator-color); + border-radius: var(--border-radius-small); } -table.markdownTable, -table.doxtable, -table.fieldtable { - padding: 1px; +table.markdownTable, table.doxtable, table.fieldtable { + padding: 1px; } table.doxtable caption { - display: block; + display: block; } table.fieldtable { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } th.markdownTableHeadLeft, @@ -1738,10 +1660,10 @@ th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone, table.doxtable th { - background: var(--tablehead-background); - color: var(--tablehead-foreground); - font-weight: 600; - font-size: var(--page-font-size); + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); } th.markdownTableHeadLeft:first-child, @@ -1749,7 +1671,7 @@ th.markdownTableHeadRight:first-child, th.markdownTableHeadCenter:first-child, th.markdownTableHeadNone:first-child, table.doxtable tr th:first-child { - border-top-left-radius: var(--border-radius-small); + border-top-left-radius: var(--border-radius-small); } th.markdownTableHeadLeft:last-child, @@ -1757,7 +1679,7 @@ th.markdownTableHeadRight:last-child, th.markdownTableHeadCenter:last-child, th.markdownTableHeadNone:last-child, table.doxtable tr th:last-child { - border-top-right-radius: var(--border-radius-small); + border-top-right-radius: var(--border-radius-small); } table.markdownTable td, @@ -1766,8 +1688,8 @@ table.fieldtable td, table.fieldtable th, table.doxtable td, table.doxtable th { - border: 1px solid var(--separator-color); - padding: var(--spacing-small) var(--spacing-medium); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); } table.markdownTable td:last-child, @@ -1776,7 +1698,7 @@ table.fieldtable td:last-child, table.fieldtable th:last-child, table.doxtable td:last-child, table.doxtable th:last-child { - border-right: none; + border-right: none; } table.markdownTable td:first-child, @@ -1785,7 +1707,7 @@ table.fieldtable td:first-child, table.fieldtable th:first-child, table.doxtable td:first-child, table.doxtable th:first-child { - border-left: none; + border-left: none; } table.markdownTable tr:first-child td, @@ -1794,7 +1716,7 @@ table.fieldtable tr:first-child td, table.fieldtable tr:first-child th, table.doxtable tr:first-child td, table.doxtable tr:first-child th { - border-top: none; + border-top: none; } table.markdownTable tr:last-child td, @@ -1803,76 +1725,67 @@ table.fieldtable tr:last-child td, table.fieldtable tr:last-child th, table.doxtable tr:last-child td, table.doxtable tr:last-child th { - border-bottom: none; + border-bottom: none; } -table.markdownTable tr, -table.doxtable tr { - border-bottom: 1px solid var(--separator-color); +table.markdownTable tr, table.doxtable tr { + border-bottom: 1px solid var(--separator-color); } -table.markdownTable tr:last-child, -table.doxtable tr:last-child { - border-bottom: none; +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) { + display: block; } -.full_width_table - table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) - tbody { - display: table; - width: 100%; +.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; - background-image: none; - background-color: var(--tablehead-background); - color: var(--tablehead-foreground); + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); } -table.fieldtable td.fieldtype, -.fieldtable td.fieldname, -.fieldtable td.fielddoc, -.fieldtable th { - border-bottom: 1px solid var(--separator-color); - border-right: 1px solid var(--separator-color); +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); } table.fieldtable tr:last-child td:first-child { - border-bottom-left-radius: var(--border-radius-small); + border-bottom-left-radius: var(--border-radius-small); } table.fieldtable tr:last-child td:last-child { - border-bottom-right-radius: var(--border-radius-small); + border-bottom-right-radius: var(--border-radius-small); } -.memberdecls td.glow, -.fieldtable tr.glow { - background-color: var(--primary-light-color); - box-shadow: none; +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: none; } table.memberdecls { - display: block; - -webkit-tap-highlight-color: transparent; + display: block; + -webkit-tap-highlight-color: transparent; } -table.memberdecls tr[class^="memitem"] { - font-family: var(--font-family-monospace); - font-size: var(--code-font-size); +table.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); } -table.memberdecls tr[class^="memitem"] .memTemplParams { - font-family: var(--font-family-monospace); - font-size: var(--code-font-size); - color: var(--primary-dark-color); - white-space: normal; +table.memberdecls tr[class^='memitem'] .memTemplParams { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size); + color: var(--primary-dark-color); + white-space: normal; } table.memberdecls .memItemLeft, @@ -1880,324 +1793,321 @@ table.memberdecls .memItemRight, table.memberdecls .memTemplItemLeft, table.memberdecls .memTemplItemRight, table.memberdecls .memTemplParams { - transition: none; - padding-top: var(--spacing-small); - padding-bottom: var(--spacing-small); - border-top: 1px solid var(--separator-color); - border-bottom: 1px solid var(--separator-color); - background-color: var(--fragment-background); + transition: none; + padding-top: var(--spacing-small); + padding-bottom: var(--spacing-small); + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + background-color: var(--fragment-background); } table.memberdecls .memTemplItemLeft, table.memberdecls .memTemplItemRight { - padding-top: 2px; + padding-top: 2px; } table.memberdecls .memTemplParams { - border-bottom: 0; - border-left: 1px solid var(--separator-color); - border-right: 1px solid var(--separator-color); - border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; - padding-bottom: var(--spacing-small); + border-bottom: 0; + border-left: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding-bottom: var(--spacing-small); } table.memberdecls .memTemplItemLeft { - border-radius: 0 0 0 var(--border-radius-small); - border-left: 1px solid var(--separator-color); - border-top: 0; + border-radius: 0 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + border-top: 0; } table.memberdecls .memTemplItemRight { - border-radius: 0 0 var(--border-radius-small) 0; - border-right: 1px solid var(--separator-color); - padding-left: 0; - border-top: 0; + border-radius: 0 0 var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-left: 0; + border-top: 0; } table.memberdecls .memItemLeft { - border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); - border-left: 1px solid var(--separator-color); - padding-left: var(--spacing-medium); - padding-right: 0; + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-left: 1px solid var(--separator-color); + padding-left: var(--spacing-medium); + padding-right: 0; } -table.memberdecls .memItemRight { - border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; - border-right: 1px solid var(--separator-color); - padding-right: var(--spacing-medium); - padding-left: 0; +table.memberdecls .memItemRight { + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-right: 1px solid var(--separator-color); + padding-right: var(--spacing-medium); + padding-left: 0; + } -table.memberdecls .mdescLeft, -table.memberdecls .mdescRight { - background: none; - color: var(--page-foreground-color); - padding: var(--spacing-small) 0; +table.memberdecls .mdescLeft, table.memberdecls .mdescRight { + background: none; + color: var(--page-foreground-color); + padding: var(--spacing-small) 0; } table.memberdecls .memItemLeft, table.memberdecls .memTemplItemLeft { - padding-right: var(--spacing-medium); + padding-right: var(--spacing-medium); } table.memberdecls .memSeparator { - background: var(--page-background-color); - height: var(--spacing-large); - border: 0; - transition: none; + background: var(--page-background-color); + height: var(--spacing-large); + border: 0; + transition: none; } table.memberdecls .groupheader { - margin-bottom: var(--spacing-large); + margin-bottom: var(--spacing-large); } table.memberdecls .inherit_header td { - padding: 0 0 var(--spacing-medium) 0; - text-indent: -12px; - color: var(--page-secondary-foreground-color); + padding: 0 0 var(--spacing-medium) 0; + text-indent: -12px; + color: var(--page-secondary-foreground-color); } 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; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 5px solid var(--primary-color); - margin-top: 8px; - display: block; - float: left; - margin-left: -10px; - transition: transform 0.25s ease-out; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 5px solid var(--primary-color); + margin-top: 8px; + display: block; + float: left; + margin-left: -10px; + transition: transform var(--animation-duration) ease-out; } table.memberdecls img { - margin-right: 10px; + margin-right: 10px; } table.memberdecls img[src="closed.png"], div.dynheader img[src="closed.png"] { - transform: rotate(-90deg); + transform: rotate(-90deg); } .compoundTemplParams { - font-family: var(--font-family-monospace); - color: var(--primary-dark-color); - font-size: var(--code-font-size); + font-family: var(--font-family-monospace); + color: var(--primary-dark-color); + font-size: var(--code-font-size); } @media screen and (max-width: 767px) { - table.memberdecls .memItemLeft, - table.memberdecls .memItemRight, - table.memberdecls .mdescLeft, - table.memberdecls .mdescRight, - table.memberdecls .memTemplItemLeft, - table.memberdecls .memTemplItemRight, - table.memberdecls .memTemplParams { - display: block; - text-align: left; - padding-left: var(--spacing-large); - margin: 0 calc(0px - var(--spacing-large)) 0 - calc(0px - var(--spacing-large)); - border-right: none; - border-left: none; - border-radius: 0; - white-space: normal; - } - table.memberdecls .memItemLeft, - table.memberdecls .mdescLeft, - table.memberdecls .memTemplItemLeft { - border-bottom: 0; - padding-bottom: 0; - } + table.memberdecls .memItemLeft, + table.memberdecls .memItemRight, + table.memberdecls .mdescLeft, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemLeft, + table.memberdecls .memTemplItemRight, + table.memberdecls .memTemplParams { + display: block; + text-align: left; + padding-left: var(--spacing-large); + margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); + border-right: none; + border-left: none; + border-radius: 0; + white-space: normal; + } - table.memberdecls .memTemplItemLeft { - padding-top: 0; - } + table.memberdecls .memItemLeft, + table.memberdecls .mdescLeft, + table.memberdecls .memTemplItemLeft { + border-bottom: 0; + padding-bottom: 0; + } - table.memberdecls .mdescLeft { - margin-bottom: calc(0px - var(--page-font-size)); - } + table.memberdecls .memTemplItemLeft { + padding-top: 0; + } - table.memberdecls .memItemRight, - table.memberdecls .mdescRight, - table.memberdecls .memTemplItemRight { - border-top: 0; - padding-top: 0; - padding-right: var(--spacing-large); - overflow-x: auto; - } + table.memberdecls .mdescLeft { + margin-bottom: calc(0px - var(--page-font-size)); + } - table.memberdecls tr[class^="memitem"]:not(.inherit) { - display: block; - width: calc(100vw - 2 * var(--spacing-large)); - } + table.memberdecls .memItemRight, + table.memberdecls .mdescRight, + table.memberdecls .memTemplItemRight { + border-top: 0; + padding-top: 0; + padding-right: var(--spacing-large); + overflow-x: auto; + } - table.memberdecls .mdescRight { - color: var(--page-foreground-color); - } + table.memberdecls tr[class^='memitem']:not(.inherit) { + display: block; + width: calc(100vw - 2 * var(--spacing-large)); + } - table.memberdecls tr.inherit { - visibility: hidden; - } + table.memberdecls .mdescRight { + color: var(--page-foreground-color); + } - table.memberdecls tr[style="display: table-row;"] { - display: block !important; - visibility: visible; - width: calc(100vw - 2 * var(--spacing-large)); - animation: fade 0.5s; - } + table.memberdecls tr.inherit { + visibility: hidden; + } - @keyframes fade { - 0% { - opacity: 0; - max-height: 0; + table.memberdecls tr[style="display: table-row;"] { + display: block !important; + visibility: visible; + width: calc(100vw - 2 * var(--spacing-large)); + animation: fade .5s; } - 100% { - opacity: 1; - max-height: 200px; + @keyframes fade { + 0% { + opacity: 0; + max-height: 0; + } + + 100% { + opacity: 1; + max-height: 200px; + } } - } } + /* Horizontal Rule */ hr { - margin-top: var(--spacing-large); - margin-bottom: var(--spacing-large); - height: 1px; - background-color: var(--separator-color); - border: 0; + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + height: 1px; + background-color: var(--separator-color); + border: 0; } .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); -} - -.contents img, -.contents .center, -.contents center, -.contents div.image object { - max-width: 100%; - overflow: auto; + 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 { + max-width: 100%; + overflow: auto; } @media screen and (max-width: 767px) { - .contents .dyncontent > .center, - .contents > center { - margin-left: calc(0px - var(--spacing-large)); - margin-right: calc(0px - var(--spacing-large)); - max-width: calc(100% + 2 * var(--spacing-large)); - } + .contents .dyncontent > .center, .contents > center { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + max-width: calc(100% + 2 * var(--spacing-large)); + } } /* Directories */ div.directory { - border-top: 1px solid var(--separator-color); - border-bottom: 1px solid var(--separator-color); - width: auto; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; } table.directory { - font-family: var(--font-family); - font-size: var(--page-font-size); - font-weight: normal; - width: 100%; + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; + width: 100%; } -table.directory td.entry, -table.directory td.desc { - padding: calc(var(--spacing-small) / 2) var(--spacing-small); - line-height: var(--table-line-height); +table.directory td.entry, table.directory td.desc { + padding: calc(var(--spacing-small) / 2) var(--spacing-small); + line-height: var(--table-line-height); } table.directory tr.even td:last-child { - border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; + border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; } table.directory tr.even td:first-child { - border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); + border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); } table.directory tr.even:last-child td:last-child { - border-radius: 0 var(--border-radius-small) 0 0; + border-radius: 0 var(--border-radius-small) 0 0; } table.directory tr.even:last-child td:first-child { - border-radius: var(--border-radius-small) 0 0 0; + border-radius: var(--border-radius-small) 0 0 0; } table.directory td.desc { - min-width: 250px; + min-width: 250px; } table.directory tr.even { - background-color: var(--odd-color); + background-color: var(--odd-color); } table.directory tr.odd { - background-color: transparent; + background-color: transparent; } .icona { - width: auto; - height: auto; - margin: 0 var(--spacing-small); + width: auto; + height: auto; + margin: 0 var(--spacing-small); } .icon { - background: var(--primary-color); - border-radius: var(--border-radius-small); - font-size: var(--page-font-size); - padding: calc(var(--page-font-size) / 5); - line-height: var(--page-font-size); - transform: scale(0.8); - height: auto; - width: var(--page-font-size); - user-select: none; -} - -.iconfopen, -.icondoc, -.iconfclosed { - background-position: center; - margin-bottom: 0; - height: var(--table-line-height); + background: var(--primary-color); + border-radius: var(--border-radius-small); + font-size: var(--page-font-size); + padding: calc(var(--page-font-size) / 5); + line-height: var(--page-font-size); + transform: scale(0.8); + height: auto; + width: var(--page-font-size); + user-select: none; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; + height: var(--table-line-height); } .icondoc { - filter: saturate(0.2); + filter: saturate(0.2); } @media screen and (max-width: 767px) { - div.directory { - margin-left: calc(0px - var(--spacing-large)); - margin-right: calc(0px - var(--spacing-large)); - } + div.directory { + margin-left: calc(0px - var(--spacing-large)); + margin-right: calc(0px - var(--spacing-large)); + } } @media (prefers-color-scheme: dark) { - html:not(.light-mode) .iconfopen, - html:not(.light-mode) .iconfclosed { - filter: hue-rotate(180deg) invert(); - } + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } } -html.dark-mode .iconfopen, -html.dark-mode .iconfclosed { - filter: hue-rotate(180deg) invert(); +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); } /* @@ -2205,12 +2115,12 @@ html.dark-mode .iconfclosed { */ .classindex dl.odd { - background: var(--odd-color); - border-radius: var(--border-radius-small); + background: var(--odd-color); + border-radius: var(--border-radius-small); } .classindex dl.even { - background-color: transparent; + background-color: transparent; } /* @@ -2218,26 +2128,26 @@ html.dark-mode .iconfclosed { */ table.classindex { - margin-left: 0; - margin-right: 0; - width: 100%; + margin-left: 0; + margin-right: 0; + width: 100%; } table.classindex table div.ah { - background-image: none; - background-color: initial; - border-color: var(--separator-color); - color: var(--page-foreground-color); - box-shadow: var(--box-shadow); - border-radius: var(--border-radius-large); - padding: var(--spacing-small); + background-image: none; + background-color: initial; + border-color: var(--separator-color); + color: var(--page-foreground-color); + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-large); + padding: var(--spacing-small); } div.qindex { - background-color: var(--odd-color); - border-radius: var(--border-radius-small); - border: 1px solid var(--separator-color); - padding: var(--spacing-small) 0; + background-color: var(--odd-color); + border-radius: var(--border-radius-small); + border: 1px solid var(--separator-color); + padding: var(--spacing-small) 0; } /* @@ -2245,86 +2155,86 @@ div.qindex { */ #nav-path { - width: 100%; + width: 100%; } #nav-path ul { - background-image: none; - 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); + background-image: none; + 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); } img.footer { - width: 60px; + width: 60px; } .navpath li.footer { - color: var(--page-secondary-foreground-color); + color: var(--page-secondary-foreground-color); } address.footer { - color: var(--page-secondary-foreground-color); - margin-bottom: var(--spacing-large); + color: var(--page-secondary-foreground-color); + margin-bottom: var(--spacing-large); } #nav-path li.navelem { - background-image: none; - display: flex; - align-items: center; + background-image: none; + display: flex; + align-items: center; } .navpath li.navelem a { - text-shadow: none; - display: inline-block; - color: var(--primary-color) !important; + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; } .navpath li.navelem b { - color: var(--primary-dark-color); - font-weight: 500; + color: var(--primary-dark-color); + font-weight: 500; } li.navelem { - padding: 0; - margin-left: -8px; + padding: 0; + margin-left: -8px; } li.navelem:first-child { - margin-left: var(--spacing-large); + margin-left: var(--spacing-large); } li.navelem:first-child:before { - display: none; + display: none; } #nav-path li.navelem:after { - content: ""; - border: 5px solid var(--page-background-color); - border-bottom-color: transparent; - border-right-color: transparent; - border-top-color: transparent; - transform: translateY(-1px) scaleY(4.2); - z-index: 10; - margin-left: 6px; + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(4.2); + z-index: 10; + margin-left: 6px; } #nav-path li.navelem:before { - content: ""; - border: 5px solid var(--separator-color); - border-bottom-color: transparent; - border-right-color: transparent; - border-top-color: transparent; - transform: translateY(-1px) scaleY(3.2); - margin-right: var(--spacing-small); + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: translateY(-1px) scaleY(3.2); + margin-right: var(--spacing-small); } .navpath li.navelem a:hover { - color: var(--primary-color); + color: var(--primary-color); } /* @@ -2337,21 +2247,13 @@ pre.fragment::-webkit-scrollbar, 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, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-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) - ); + 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)); } #nav-tree::-webkit-scrollbar-thumb, @@ -2360,18 +2262,14 @@ pre.fragment::-webkit-scrollbar-thumb, 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, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-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-color: transparent; + border: var(--webkit-scrollbar-padding) solid transparent; + border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); + background-clip: padding-box; } #nav-tree:hover::-webkit-scrollbar-thumb, @@ -2380,13 +2278,11 @@ pre.fragment:hover::-webkit-scrollbar-thumb, 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, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody: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); + background-color: var(--webkit-scrollbar-color); } #nav-tree::-webkit-scrollbar-track, @@ -2395,17 +2291,15 @@ pre.fragment::-webkit-scrollbar-track, 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, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, div.contents .toc::-webkit-scrollbar-track, .contents .dotgraph::-webkit-scrollbar-track, .contents .tabs-overview-container::-webkit-scrollbar-track { - background: transparent; + background: transparent; } #nav-tree::-webkit-scrollbar-corner { - background-color: var(--side-nav-background); + background-color: var(--side-nav-background); } #nav-tree, @@ -2414,18 +2308,16 @@ pre.fragment, div.memproto, .contents center, .contents .center, -.contents - table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) - tbody, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, div.contents .toc { - overflow-x: auto; - overflow-x: overlay; + overflow-x: auto; + overflow-x: overlay; } #nav-tree { - overflow-x: auto; - overflow-y: auto; - overflow-y: overlay; + overflow-x: auto; + overflow-y: auto; + overflow-y: overlay; } /* @@ -2438,13 +2330,11 @@ pre.fragment, div.memproto, .contents center, .contents .center, -.contents - table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) - tbody, +.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, div.contents .toc, .contents .dotgraph, .contents .tabs-overview-container { - scrollbar-width: thin; + scrollbar-width: thin; } /* @@ -2452,113 +2342,98 @@ div.contents .toc, */ doxygen-awesome-dark-mode-toggle { - display: inline-block; - margin: 0 0 0 var(--spacing-small); - padding: 0; - width: var(--searchbar-height); - height: var(--searchbar-height); - background: none; - border: none; - border-radius: var(--searchbar-height); - vertical-align: middle; - text-align: center; - line-height: var(--searchbar-height); - font-size: 22px; - display: flex; - align-items: center; - justify-content: center; - user-select: none; - cursor: pointer; + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + border-radius: var(--searchbar-height); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); + font-size: 22px; + display: flex; + align-items: center; + justify-content: center; + user-select: none; + cursor: pointer; } doxygen-awesome-dark-mode-toggle > svg { - transition: transform 0.1s ease-in-out; + transition: transform var(--animation-duration) ease-in-out; } doxygen-awesome-dark-mode-toggle:active > svg { - transform: scale(0.5); + transform: scale(.5); } doxygen-awesome-dark-mode-toggle:hover { - background-color: rgba(0, 0, 0, 0.03); + background-color: rgba(0,0,0,.03); } html.dark-mode doxygen-awesome-dark-mode-toggle:hover { - background-color: rgba(0, 0, 0, 0.18); + background-color: rgba(0,0,0,.18); } /* Optional fragment copy button */ .doxygen-awesome-fragment-wrapper { - position: relative; + position: relative; } doxygen-awesome-fragment-copy-button { - opacity: 0; - background: var(--fragment-background); - width: 28px; - height: 28px; - position: absolute; - right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); - top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); - border: 1px solid var(--fragment-foreground); - cursor: pointer; - border-radius: var(--border-radius-small); - display: flex; - justify-content: center; - align-items: center; -} - -.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, -doxygen-awesome-fragment-copy-button.success { - opacity: 0.28; + opacity: 0; + background: var(--fragment-background); + width: 28px; + height: 28px; + position: absolute; + right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); + border: 1px solid var(--fragment-foreground); + cursor: pointer; + border-radius: var(--border-radius-small); + display: flex; + justify-content: center; + align-items: center; } -doxygen-awesome-fragment-copy-button:hover, -doxygen-awesome-fragment-copy-button.success { - opacity: 1 !important; +.doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success { + opacity: .28; +} + +doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success { + opacity: 1 !important; } -doxygen-awesome-fragment-copy-button:active:not([class~="success"]) svg { - transform: scale(0.91); +doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { + transform: scale(.91); } doxygen-awesome-fragment-copy-button svg { - fill: var(--fragment-foreground); - width: 18px; - height: 18px; + fill: var(--fragment-foreground); + width: 18px; + height: 18px; } doxygen-awesome-fragment-copy-button.success svg { - fill: rgb(14, 168, 14); + fill: rgb(14, 168, 14); } doxygen-awesome-fragment-copy-button.success { - border-color: rgb(14, 168, 14); + border-color: rgb(14, 168, 14); } @media screen and (max-width: 767px) { - .textblock - > .doxygen-awesome-fragment-wrapper - > doxygen-awesome-fragment-copy-button, - .textblock - li - > .doxygen-awesome-fragment-wrapper - > doxygen-awesome-fragment-copy-button, - .memdoc - li - > .doxygen-awesome-fragment-wrapper - > doxygen-awesome-fragment-copy-button, - .memdoc - > .doxygen-awesome-fragment-wrapper - > doxygen-awesome-fragment-copy-button, - dl - dd - > .doxygen-awesome-fragment-wrapper - > doxygen-awesome-fragment-copy-button { - right: 0; - } + .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, + dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { + right: 0; + } } /* @@ -2566,108 +2441,240 @@ doxygen-awesome-fragment-copy-button.success { */ a.anchorlink { - font-size: 90%; - margin-left: var(--spacing-small); - color: var(--page-foreground-color) !important; - text-decoration: none; - opacity: 0.15; - display: none; - transition: opacity 0.1s ease-in-out, color 0.1s ease-in-out; + font-size: 90%; + margin-left: var(--spacing-small); + color: var(--page-foreground-color) !important; + text-decoration: none; + opacity: .15; + display: none; + transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out; } a.anchorlink svg { - fill: var(--page-foreground-color); + fill: var(--page-foreground-color); } -h3 a.anchorlink svg, -h4 a.anchorlink svg { - margin-bottom: -3px; - margin-top: -4px; +h3 a.anchorlink svg, h4 a.anchorlink svg { + margin-bottom: -3px; + margin-top: -4px; } a.anchorlink:hover { - opacity: 0.45; + opacity: .45; } -h2:hover a.anchorlink, -h1:hover a.anchorlink, -h3:hover a.anchorlink, -h4:hover a.anchorlink { - display: inline-block; +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 > ul { + padding-inline-start: 0px; + margin: 0; + padding: var(--spacing-small) 0; } -.tabbed li { - display: none; +.tabbed > ul > li { + display: none; } -.tabbed li.selected { - display: block; +.tabbed > ul > li.selected { + display: block; } .tabs-overview-container { - overflow-x: auto; - display: block; - overflow-y: visible; + overflow-x: auto; + display: block; + overflow-y: visible; } .tabs-overview { - border-bottom: 1px solid var(--separator-color); - display: flex; - flex-direction: row; + border-bottom: 1px solid var(--separator-color); + display: flex; + flex-direction: row; +} + +@media screen and (max-width: 767px) { + .tabs-overview-container { + margin: 0 calc(0px - var(--spacing-large)); + } + .tabs-overview { + padding: 0 var(--spacing-large) + } } .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); + color: var(--page-foreground-color); + margin: 0; + border: none; + background: transparent; + padding: calc(var(--spacing-large) / 2) 0; + display: inline-block; + font-size: var(--page-font-size); + cursor: pointer; + box-shadow: 0 1px 0 0 var(--separator-color); + position: relative; + + -webkit-tap-highlight-color: transparent; +} + +.tabs-overview button.tab-button .tab-title::before { + display: block; + content: attr(title); + font-weight: 600; + height: 0; + overflow: hidden; + visibility: hidden; } .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); + float: left; + white-space: nowrap; + font-weight: normal; + 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; } .tabs-overview button.tab-button:not(:last-child) .tab-title { - box-shadow: 8px 0 0 -7px var(--separator-color); + 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; + background: var(--separator-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); +.tabs-overview button.tab-button.active .tab-title { + font-weight: 600; } -@media (prefers-color-scheme: dark) { - html:not(.light-mode) .tabs-overview button.tab-button:hover .tab-title { - color: var(--page-foreground-color); - } +.tabs-overview button.tab-button::after { + content: ''; + display: block; + position: absolute; + left: 0; + bottom: 0; + right: 0; + height: 0; + width: 0%; + margin: 0 auto; + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + background-color: var(--primary-color); + transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out; } -html.dark-mode .tabs-overview button.tab-button:hover .tab-title { - color: var(--page-foreground-color); +.tabs-overview button.tab-button.active::after { + width: 100%; + box-sizing: border-box; + height: 3px; +} + + +/* + Navigation Buttons +*/ + +.section_buttons:not(:empty) { + margin-top: calc(var(--spacing-large) * 3); +} + +.section_buttons table.markdownTable { + display: block; + width: 100%; +} + +.section_buttons table.markdownTable tbody { + display: table !important; + width: 100%; + box-shadow: none; + border-spacing: 10px; +} + +.section_buttons table.markdownTable td { + padding: 0; +} + +.section_buttons table.markdownTable th { + display: none; +} + +.section_buttons table.markdownTable tr.markdownTableHead { + border: none; +} + +.section_buttons tr th, .section_buttons tr td { + background: none; + border: none; + padding: var(--spacing-large) 0 var(--spacing-small); +} + +.section_buttons a { + display: inline-block; + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + color: var(--page-secondary-foreground-color) !important; + text-decoration: none; + transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out; +} + +.section_buttons a:hover { + color: var(--page-foreground-color) !important; + background-color: var(--odd-color); +} + +.section_buttons tr td.markdownTableBodyLeft a { + padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2); +} + +.section_buttons tr td.markdownTableBodyRight a { + padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large); +} + +.section_buttons tr td.markdownTableBodyLeft a::before, +.section_buttons tr td.markdownTableBodyRight a::after { + color: var(--page-secondary-foreground-color) !important; + display: inline-block; + transition: color .08s ease-in-out, transform .09s ease-in-out; +} + +.section_buttons tr td.markdownTableBodyLeft a::before { + content: '〈'; + padding-right: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyRight a::after { + content: '〉'; + padding-left: var(--spacing-large); +} + + +.section_buttons tr td.markdownTableBodyLeft a:hover::before { + color: var(--page-foreground-color) !important; + transform: translateX(-3px); +} + +.section_buttons tr td.markdownTableBodyRight a:hover::after { + color: var(--page-foreground-color) !important; + transform: translateX(3px); +} + +@media screen and (max-width: 450px) { + .section_buttons a { + width: 100%; + box-sizing: border-box; + } + + .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a { + border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium); + border-right: none; + } + + .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a { + border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0; + } } diff --git a/docs/config/header.html b/docs/config/header.html index e28ef90bc4f0..04a9671d26e8 100644 --- a/docs/config/header.html +++ b/docs/config/header.html @@ -25,7 +25,6 @@ - diff --git a/src/DataStructures/Tensor/Structure.hpp b/src/DataStructures/Tensor/Structure.hpp index 9d2d728834cd..dafa9664a20f 100644 --- a/src/DataStructures/Tensor/Structure.hpp +++ b/src/DataStructures/Tensor/Structure.hpp @@ -379,13 +379,13 @@ struct Structure { } /// A mapping between each collapsed_index and its storage_index. See - /// \ref compute_collapsed_to_storage for details. + /// compute_collapsed_to_storage for details. static constexpr auto collapsed_to_storage_ = compute_collapsed_to_storage( make_cpp20_array_from_list>()); /// A 1-1 mapping between each storage_index and its canonical tensor_index. - /// See \ref compute_storage_to_tensor for details. + /// See compute_storage_to_tensor for details. static constexpr auto storage_to_tensor_ = compute_storage_to_tensor( collapsed_to_storage_, diff --git a/src/Domain/CoordinateMaps/UniformCylindricalEndcap.hpp b/src/Domain/CoordinateMaps/UniformCylindricalEndcap.hpp index 8b9bff981d2b..838eb6080da6 100644 --- a/src/Domain/CoordinateMaps/UniformCylindricalEndcap.hpp +++ b/src/Domain/CoordinateMaps/UniformCylindricalEndcap.hpp @@ -77,7 +77,7 @@ namespace domain::CoordinateMaps { * * UniformCylindricalEndcap provides the following functions: * - * ### operator() + * ## operator() * * `operator()` maps \f$(\bar{x},\bar{y},\bar{z})\f$ to \f$(x,y,z)\f$ * according to @@ -114,7 +114,7 @@ namespace domain::CoordinateMaps { * where \f$\bar{R}\f$ is the radius of the cylinder in barred * coordinates, which is always unity. * - * ### inverse + * ## inverse * * Given \f$(x,y,z)\f$ we want to find \f$(\bar{x},\bar{y},\bar{z})\f$. * From Eq. (\f$\ref{eq:x2}\f$) we can write \f$\lambda\f$ as a function @@ -159,12 +159,12 @@ namespace domain::CoordinateMaps { * \bar{y} &= \bar{\rho}\bar{R}\sin\phi. * \f} * - * #### Considerations when root-finding. + * ### Considerations when root-finding. * * We solve \f$Q(\bar{\rho})=0\f$ numerically for \f$\bar{\rho}\f$, * where \f$Q(\bar{\rho})\f$ is given by Eq. (\f$\ref{eq:defQ}\f$). * - * ##### min/max values of \f$\bar{\rho}\f$: + * #### min/max values of \f$\bar{\rho}\f$: * * Note that the root we care about must have * \f$0\leq\lambda\leq 1\f$; therefore from Eq. (\f$\ref{eq:lambda_from_rho}\f$) @@ -188,7 +188,7 @@ namespace domain::CoordinateMaps { * so we look for a root only between \f$\bar{\rho}_{\mathrm{min}}\f$ * and \f$\bar{\rho}_{\mathrm{max}}\f$. * - * ##### Roots within roundoff of endpoints: + * #### Roots within roundoff of endpoints: * * Sometimes a root is within roundoff of \f$\bar{\rho}_{\mathrm{min}}\f$ * or \f$\bar{\rho}_{\mathrm{max}}\f$. This tends to happen at points on the @@ -242,7 +242,7 @@ namespace domain::CoordinateMaps { * \label{eq:dlambda_drhobar}. * \f} * - * ##### Roots within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$: + * #### Roots within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$: * * For some points on the boundary of the mapped domain, the root will * be within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$. @@ -324,7 +324,7 @@ namespace domain::CoordinateMaps { * The inverse map can therefore reject any points that do * not satisfy this criterion. * - * ### jacobian + * ## jacobian * * One can rewrite Eqs.(\f$\ref{eq:x0}\f$) through (\f$\ref{eq:x2}\f$) as * @@ -437,12 +437,12 @@ namespace domain::CoordinateMaps { * \right). * \f} * - * ### inv_jacobian + * ## inv_jacobian * * The inverse Jacobian is computed by numerically inverting the * Jacobian. * - * ### Restrictions on map parameters + * ## Restrictions on map parameters * * We demand that Sphere 1 is fully contained inside Sphere 2, and * that the two spheres have at least some small separation between diff --git a/src/Domain/CoordinateMaps/UniformCylindricalFlatEndcap.hpp b/src/Domain/CoordinateMaps/UniformCylindricalFlatEndcap.hpp index 881e37d0c007..b26eafc8925e 100644 --- a/src/Domain/CoordinateMaps/UniformCylindricalFlatEndcap.hpp +++ b/src/Domain/CoordinateMaps/UniformCylindricalFlatEndcap.hpp @@ -65,7 +65,7 @@ namespace domain::CoordinateMaps { * * UniformCylindricalFlatEndcap provides the following functions: * - * ### operator() + * ## operator() * * `operator()` maps \f$(\bar{x},\bar{y},\bar{z})\f$ to \f$(x,y,z)\f$ * according to @@ -99,7 +99,7 @@ namespace domain::CoordinateMaps { * where \f$\bar{R}\f$ is the radius of the cylinder in barred * coordinates, which is always unity. * - * ### inverse + * ## inverse * * Given \f$(x,y,z)\f$ we want to find \f$(\bar{x},\bar{y},\bar{z})\f$. * From Eq. (\f$\ref{eq:x2}\f$) we can write \f$\lambda\f$ as a function @@ -144,12 +144,12 @@ namespace domain::CoordinateMaps { * \bar{y} &= \bar{\rho}\bar{R}\sin\phi. * \f} * - * #### Considerations when root-finding. + * ### Considerations when root-finding. * * We solve \f$Q(\bar{\rho})=0\f$ numerically for \f$\bar{\rho}\f$, * where \f$Q(\bar{\rho})\f$ is given by Eq. (\f$\ref{eq:defQ}\f$). * - * ##### min/max values of \f$\bar{\rho}\f$: + * #### min/max values of \f$\bar{\rho}\f$: * * Note that the root we care about must have * \f$0\leq\lambda\leq 1\f$; therefore from Eq. (\f$\ref{eq:lambda_from_rho}\f$) @@ -168,7 +168,7 @@ namespace domain::CoordinateMaps { * so we look for a root only between \f$\bar{\rho}_{\mathrm{min}}\f$ * and \f$\bar{\rho}_{\mathrm{max}}\f$. * - * ##### Roots within roundoff of endpoints: + * #### Roots within roundoff of endpoints: * * Sometimes a root is within roundoff of \f$\bar{\rho}_{\mathrm{min}}\f$ * This tends to happen at points on the @@ -218,7 +218,7 @@ namespace domain::CoordinateMaps { * \label{eq:dlambda_drhobar}. * \f} * - * ##### Roots within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$: + * #### Roots within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$: * * For some points on the boundary of the mapped domain, the root will * be within roundoff of \f$\bar{\rho}=0\f$ or \f$\bar{\rho}=1\f$. @@ -237,7 +237,7 @@ namespace domain::CoordinateMaps { * recognized, the root is returned as either \f$\bar{\rho}=0\f$ or * \f$\bar{\rho}=1\f$. * - * #### Quick rejection of points out of range of the map. + * ### Quick rejection of points out of range of the map. * * It is expected that `inverse()` will often be passed points * \f$(x,y,z)\f$ that are out of the range of the map; in this case @@ -297,7 +297,7 @@ namespace domain::CoordinateMaps { * The inverse map can therefore reject any points that do * not satisfy this criterion. * - * ### jacobian + * ## jacobian * * One can rewrite Eqs.(\f$\ref{eq:x0}\f$) through (\f$\ref{eq:x2}\f$) as * @@ -395,12 +395,12 @@ namespace domain::CoordinateMaps { * \right). * \f} * - * ### inv_jacobian + * ## inv_jacobian * * The inverse Jacobian is computed by numerically inverting the * Jacobian. * - * ### Restrictions on map parameters + * ## Restrictions on map parameters * * We demand that \f$C^2_1 + 1.05 R_1 \leq C^2_2 \leq C^2_1 + 5 R_1\f$. * It is possible to construct a valid diff --git a/src/Domain/CoordinateMaps/UniformCylindricalSide.hpp b/src/Domain/CoordinateMaps/UniformCylindricalSide.hpp index 012e0526904d..1a22c9c582e4 100644 --- a/src/Domain/CoordinateMaps/UniformCylindricalSide.hpp +++ b/src/Domain/CoordinateMaps/UniformCylindricalSide.hpp @@ -212,7 +212,7 @@ namespace domain::CoordinateMaps { * We solve \f$Q(\lambda)=0\f$ numerically for \f$\lambda\f$, * where \f$Q(\lambda)\f$ is given by Eq. (\f$\ref{eq:defQ}\f$). * - * ##### min/max values of \f$\lambda\f$: + * #### min/max values of \f$\lambda\f$: * * Note that the root we care about must have \f$-1\leq\bar{z}\leq 1\f$; * therefore from Eq. (\f$\ref{eq:zbar_from_lambda}\f$) we have diff --git a/src/PointwiseFunctions/AnalyticSolutions/GrMhd/BondiMichel.hpp b/src/PointwiseFunctions/AnalyticSolutions/GrMhd/BondiMichel.hpp index 242efd57d169..a9372baa190b 100644 --- a/src/PointwiseFunctions/AnalyticSolutions/GrMhd/BondiMichel.hpp +++ b/src/PointwiseFunctions/AnalyticSolutions/GrMhd/BondiMichel.hpp @@ -83,7 +83,8 @@ namespace grmhd::Solutions { * \rho^{\gamma-1}=\frac{(\gamma-1)c_s^2}{\gamma K(\gamma-1-c_s^2)}. * \f} * - * #### Horizon quantities, \f$\gamma\ne5/3\f$ + * ## Horizon quantities, \f$\gamma\ne5/3\f$ + * * The density at the horizon is given by: * * \f{align*}{ @@ -147,7 +148,8 @@ namespace grmhd::Solutions { * print("gamma: ", gamma) * \endcode * - * #### Horizon quantities, \f$\gamma=5/3\f$ + * ## Horizon quantities, \f$\gamma=5/3\f$ + * * The density at the horizon is given by: * * \f{align*}{ diff --git a/tools/FileTestDefs.sh b/tools/FileTestDefs.sh index 09fe1ab6739b..f4c0601e70c9 100755 --- a/tools/FileTestDefs.sh +++ b/tools/FileTestDefs.sh @@ -446,7 +446,8 @@ license() { 'docs/config/doxygen-awesome-paragraph-link.js' \ 'docs/config/footer.html' \ 'docs/config/header.html' \ - 'docs/config/layout.xml' \ + 'docs/config/DoxygenLayout_1_8_10.xml' \ + 'docs/config/DoxygenLayout_1_9_8.xml' \ 'docs/config/MathJax.js$' \ 'external/*' \ 'eos.*' \