From 88251cac1ce576d0ca46ace53e995566b4d74eed Mon Sep 17 00:00:00 2001 From: Lawrence Kidder Date: Wed, 20 Nov 2024 16:49:14 -0500 Subject: [PATCH 1/5] Update doxygen_awesome files to latest version --- .../doxygen-awesome-fragment-copy-button.js | 108 +- .../config/doxygen-awesome-interactive-toc.js | 106 +- docs/config/doxygen-awesome-paragraph-link.js | 44 +- docs/config/doxygen-awesome-sidebar-only.css | 153 +- docs/config/doxygen-awesome.css | 3073 +++++++++-------- 5 files changed, 1740 insertions(+), 1744 deletions(-) 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; + } } From 9d1063892fb1598ec35798237ccf0193265d8263 Mon Sep 17 00:00:00 2001 From: Lawrence Kidder Date: Fri, 22 Nov 2024 13:20:43 -0500 Subject: [PATCH 2/5] Make doxygen layout file version dependent Doxygen layout files are dependent upon doxygen version. There was a breaking change in 1.9.8 to support c++ modules. Doxygen groups had been labeled as modules, but are now labeled as topics. - Renamed layout.xml to DoxygenLayout_1_8_10.xml - Added DoxygenLayout_1_9_8.xml - Add switch between the two based on the version of doxygen --- cmake/SetupDoxygen.cmake | 12 + docs/Doxyfile.in | 2 +- .../{layout.xml => DoxygenLayout_1_8_10.xml} | 0 docs/config/DoxygenLayout_1_9_8.xml | 273 ++++++++++++++++++ tools/FileTestDefs.sh | 3 +- 5 files changed, 288 insertions(+), 2 deletions(-) rename docs/config/{layout.xml => DoxygenLayout_1_8_10.xml} (100%) create mode 100644 docs/config/DoxygenLayout_1_9_8.xml 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..1494babe70e2 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -243,7 +243,7 @@ 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 \ diff --git a/docs/config/layout.xml b/docs/config/DoxygenLayout_1_8_10.xml similarity index 100% rename from docs/config/layout.xml rename to docs/config/DoxygenLayout_1_8_10.xml diff --git a/docs/config/DoxygenLayout_1_9_8.xml b/docs/config/DoxygenLayout_1_9_8.xml new file mode 100644 index 000000000000..376507ca1fcf --- /dev/null +++ b/docs/config/DoxygenLayout_1_9_8.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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.*' \ From 2ed4231134a50958a38b3536a77dd53f07b15d12 Mon Sep 17 00:00:00 2001 From: Lawrence Kidder Date: Fri, 22 Nov 2024 13:36:35 -0500 Subject: [PATCH 3/5] Do not use doxygen-navtree-hacks This file causes the sidebar to disappear for Doxygen versions 1.10.0 and higher. This file apparently only made cosmetic changes to the documentation, so we will try not using it, rather than spend the time trying to fix it. --- docs/Doxyfile.in | 1 - docs/config/DoxygenLayout_1_9_8.xml | 13 +++++++------ docs/config/header.html | 1 - 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 1494babe70e2..f92e4cf29712 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -250,7 +250,6 @@ HTML_EXTRA_FILES = @PROJECT_SOURCE_DIR@/docs/config/icons/octicons.eot \ @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/DoxygenLayout_1_9_8.xml b/docs/config/DoxygenLayout_1_9_8.xml index 376507ca1fcf..c12672bf9cef 100644 --- a/docs/config/DoxygenLayout_1_9_8.xml +++ b/docs/config/DoxygenLayout_1_9_8.xml @@ -11,9 +11,10 @@ + - + @@ -21,9 +22,9 @@ - + - + @@ -34,16 +35,16 @@ - + - + - + 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 @@ - From 212fc1a0b199096e1576f7b49394d6f34c318f02 Mon Sep 17 00:00:00 2001 From: Lawrence Kidder Date: Fri, 22 Nov 2024 16:32:32 -0500 Subject: [PATCH 4/5] Fix missing documentation for Doxygen version 1.9.7 --- docs/config/DoxygenLayout_1_8_10.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/config/DoxygenLayout_1_8_10.xml b/docs/config/DoxygenLayout_1_8_10.xml index 054469ea7cd1..87722ddd7f83 100644 --- a/docs/config/DoxygenLayout_1_8_10.xml +++ b/docs/config/DoxygenLayout_1_8_10.xml @@ -5,13 +5,13 @@ - - - + + + - + From d9650f2669bc979526e08b3b993b08a36bc61b4c Mon Sep 17 00:00:00 2001 From: Lawrence Kidder Date: Fri, 22 Nov 2024 18:10:56 -0500 Subject: [PATCH 5/5] Fix doxygen warnings --- src/DataStructures/Tensor/Structure.hpp | 4 ++-- .../UniformCylindricalEndcap.hpp | 18 ++++++++--------- .../UniformCylindricalFlatEndcap.hpp | 20 +++++++++---------- .../CoordinateMaps/UniformCylindricalSide.hpp | 2 +- .../AnalyticSolutions/GrMhd/BondiMichel.hpp | 6 ++++-- 5 files changed, 26 insertions(+), 24 deletions(-) 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*}{