diff options
| author | Jordan Wiens <github@psifertex.com> | 2025-10-28 18:39:11 -0400 |
|---|---|---|
| committer | Jordan <github@psifertex.com> | 2025-11-06 10:32:46 -0500 |
| commit | 5ed12c4574ea5c3cb82aa6c7f77e3003d49442b2 (patch) | |
| tree | a728fcfb04498c39dfc3b768799cc87666c5b292 /api-docs | |
| parent | 5a6b4fcc110effbb3e87c85d3d22876697b5b9e9 (diff) | |
simplify CSS, light/dark switch on auto, fix RST tables to be html
Diffstat (limited to 'api-docs')
| -rw-r--r-- | api-docs/cppdocs/Doxyfile-HTML | 20 | ||||
| -rw-r--r-- | api-docs/cppdocs/binaryninja-darkmode.js | 100 | ||||
| -rw-r--r-- | api-docs/cppdocs/binaryninja-docs.css | 1232 | ||||
| -rw-r--r-- | api-docs/cppdocs/custom.css | 200 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/LICENSE | 21 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/README.md | 4 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js | 138 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js | 66 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js | 32 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css | 20 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css | 105 | ||||
| -rw-r--r-- | api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome.css | 3020 | ||||
| -rw-r--r-- | api-docs/cppdocs/header.html | 38 |
13 files changed, 1363 insertions, 3633 deletions
diff --git a/api-docs/cppdocs/Doxyfile-HTML b/api-docs/cppdocs/Doxyfile-HTML index e54da627..69cdb814 100644 --- a/api-docs/cppdocs/Doxyfile-HTML +++ b/api-docs/cppdocs/Doxyfile-HTML @@ -334,7 +334,7 @@ MARKDOWN_SUPPORT = NO # Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. -TOC_INCLUDE_HEADINGS = 5 +TOC_INCLUDE_HEADINGS = 0 # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can @@ -1053,7 +1053,7 @@ REFERENCES_LINK_SOURCE = NO # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. -SOURCE_TOOLTIPS = YES +SOURCE_TOOLTIPS = NO # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in @@ -1175,7 +1175,7 @@ HTML_FOOTER = footer.html # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = binaryninja-docs.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets @@ -1188,10 +1188,7 @@ HTML_STYLESHEET = # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \ - doxygen-awesome-css/doxygen-awesome-sidebar-only.css \ - doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css \ - custom.css +HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1201,7 +1198,7 @@ HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \ # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js +HTML_EXTRA_FILES = binaryninja-darkmode.js # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to @@ -1251,7 +1248,7 @@ HTML_TIMESTAMP = NO # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_DYNAMIC_MENUS = NO +HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the @@ -1259,7 +1256,7 @@ HTML_DYNAMIC_MENUS = NO # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_DYNAMIC_SECTIONS = NO +HTML_DYNAMIC_SECTIONS = YES # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand @@ -1490,6 +1487,9 @@ DISABLE_INDEX = YES GENERATE_TREEVIEW = YES +# Disable the page outline panel on the right side +PAGE_OUTLINE_PANEL = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # diff --git a/api-docs/cppdocs/binaryninja-darkmode.js b/api-docs/cppdocs/binaryninja-darkmode.js new file mode 100644 index 00000000..aed1b8dd --- /dev/null +++ b/api-docs/cppdocs/binaryninja-darkmode.js @@ -0,0 +1,100 @@ +/** + * Binary Ninja Dark Mode - System Preference with Cookie Persistence + * Follows system color scheme automatically via CSS + * Provides console toggle for testing with cookie-based persistence + */ + +(function() { + 'use strict'; + + const COOKIE_NAME = 'bn-docs-theme'; + const COOKIE_DAYS = 365; + + /** + * Get cookie value by name + */ + function getCookie(name) { + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + if (parts.length === 2) return parts.pop().split(';').shift(); + return null; + } + + /** + * Set cookie value + */ + function setCookie(name, value, days) { + const date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + const expires = `expires=${date.toUTCString()}`; + document.cookie = `${name}=${value};${expires};path=/`; + } + + /** + * Delete cookie + */ + function deleteCookie(name) { + document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`; + } + + /** + * Apply theme mode + */ + function applyTheme(mode) { + const html = document.documentElement; + + if (mode === 'dark') { + html.classList.remove('light-mode'); + html.classList.add('dark-mode'); + } else if (mode === 'light') { + html.classList.remove('dark-mode'); + html.classList.add('light-mode'); + } else { + // Auto mode - remove both classes to follow system preference + html.classList.remove('dark-mode'); + html.classList.remove('light-mode'); + } + } + + /** + * Console-accessible toggle function with cookie persistence + * Usage: bnToggleDarkMode('dark'), bnToggleDarkMode('light'), or bnToggleDarkMode('auto') + */ + window.bnToggleDarkMode = function(mode) { + if (mode === 'dark') { + applyTheme('dark'); + setCookie(COOKIE_NAME, 'dark', COOKIE_DAYS); + console.log('Dark mode: FORCED ON (saved to cookie, will persist across reloads)'); + } else if (mode === 'light') { + applyTheme('light'); + setCookie(COOKIE_NAME, 'light', COOKIE_DAYS); + console.log('Dark mode: FORCED OFF (saved to cookie, will persist across reloads)'); + } else if (mode === 'auto') { + applyTheme('auto'); + deleteCookie(COOKIE_NAME); + console.log('Dark mode: AUTO (following system preference, cookie cleared)'); + } else { + console.log('Usage: bnToggleDarkMode("dark"), bnToggleDarkMode("light"), or bnToggleDarkMode("auto")'); + console.log('Current setting:', getCookie(COOKIE_NAME) || 'auto (system preference)'); + } + }; + + /** + * Initialize theme on page load + */ + function init() { + const savedTheme = getCookie(COOKIE_NAME); + + if (savedTheme) { + applyTheme(savedTheme); + console.log(`Binary Ninja Docs: Theme loaded from cookie: ${savedTheme}`); + } else { + console.log('Binary Ninja Docs: Following system preference (no cookie set)'); + } + + console.log('Use bnToggleDarkMode("dark"), bnToggleDarkMode("light"), or bnToggleDarkMode("auto") to change theme'); + } + + // Initialize on page load + init(); +})(); diff --git a/api-docs/cppdocs/binaryninja-docs.css b/api-docs/cppdocs/binaryninja-docs.css new file mode 100644 index 00000000..5079b072 --- /dev/null +++ b/api-docs/cppdocs/binaryninja-docs.css @@ -0,0 +1,1232 @@ +/* Binary Ninja C++ API Documentation Styles + * Clean CSS implementation replacing Doxygen defaults + * No !important declarations needed + */ + +/* ============================================================================ + * CSS VARIABLES - LIGHT MODE (Base) + * ============================================================================ */ +:root { + /* Binary Ninja Brand Colors */ + --bn-red: #c74433; + --bn-red-dark: #d0584d; + --bn-red-light: #a2382a; + + /* Page Structure */ + --page-bg: #ffffff; + --page-text: #2f4153; + --page-text-secondary: #6f7e8e; + --border-color: #dedede; + + /* Sidebar */ + --sidebar-bg: #fbfbfb; + --sidebar-text: #2f4153; + + /* Code/Fragments */ + --code-bg: #f5f5f5; + --code-text: #2f4153; + --fragment-bg: #F8F9FA; + --fragment-text: #37474F; + --fragment-border: #e3e5e7; + + /* Syntax Highlighting (Light) */ + --syntax-keyword: #bb6bb2; + --syntax-type: #8258b3; + --syntax-flow: #d67c3b; + --syntax-string: #438a59; + --syntax-comment: #969696; + --syntax-preprocessor: #46aaa5; + --syntax-link: #5383d6; + + /* Tables */ + --table-header-bg: #f1f1f1; + --table-row-odd: #ffffff; + --table-row-even: #f7f7f7; + + /* Content Boxes */ + --warning-bg: #faf3d8; + --warning-border: #f3a600; + --note-bg: #e4f3ff; + --note-border: #1879C4; + --deprecated-bg: #ecf0f3; + --deprecated-border: #5b6269; + --bug-bg: #f8d1cc; + --bug-border: #b61825; + --todo-bg: #e4dafd; + --todo-border: #5b2bdd; + + /* Typography */ + --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-size-base: 15.6px; + --font-size-code: 14px; + --font-size-nav: 14.4px; + --font-size-title: 22px; + --line-height-content: 27px; + + /* Layout */ + --sidebar-width: 335px; + --top-height: 120px; + --content-maxwidth: 1050px; + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + --spacing-xlarge: 20px; + --border-radius-small: 5px; + --border-radius-medium: 8px; + --border-radius-large: 10px; + --searchbar-height: 33px; + --searchbar-border-radius: 33px; + --tree-item-height: 30px; +} + +/* ============================================================================ + * CSS VARIABLES - DARK MODE + * ============================================================================ */ +html.dark-mode { + color-scheme: dark; + + /* Brand Colors (same) */ + --bn-red: #c74433; + --bn-red-dark: #d0584d; + --bn-red-light: #a2382a; + + /* Page Structure */ + --page-bg: #1C1D1F; + --page-text: #d2dbde; + --page-text-secondary: #859399; + --border-color: #38393b; + + /* Sidebar */ + --sidebar-bg: #252628; + --sidebar-text: #d2dbde; + + /* Code/Fragments */ + --code-bg: #2a2c2f; + --code-text: #d2dbde; + --fragment-bg: #282c34; + --fragment-text: #dbe4eb; + --fragment-border: #1f1f1f; + + /* Syntax Highlighting (Dark) */ + --syntax-keyword: #cc99cd; + --syntax-type: #ab99cd; + --syntax-flow: #e08000; + --syntax-string: #7ec699; + --syntax-comment: #999999; + --syntax-preprocessor: #65cabe; + --syntax-link: #98c0e3; + + /* Tables */ + --table-header-bg: #2a2c2f; + --table-row-odd: #1C1D1F; + --table-row-even: #252628; + + /* Content Boxes */ + --warning-bg: #3b2e04; + --warning-border: #f1b602; + --note-bg: #163750; + --note-border: #1982D2; + --deprecated-bg: #2e323b; + --deprecated-border: #738396; + --bug-bg: #2e1917; + --bug-border: #ad2617; + --todo-bg: #2a2536; + --todo-border: #7661b3; +} + +/* Respect system color preference */ +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --bn-red: #c74433; + --bn-red-dark: #d0584d; + --bn-red-light: #a2382a; + + --page-bg: #1C1D1F; + --page-text: #d2dbde; + --page-text-secondary: #859399; + --border-color: #38393b; + + --sidebar-bg: #252628; + --sidebar-text: #d2dbde; + + --code-bg: #2a2c2f; + --code-text: #d2dbde; + --fragment-bg: #282c34; + --fragment-text: #dbe4eb; + --fragment-border: #1f1f1f; + + --syntax-keyword: #cc99cd; + --syntax-type: #ab99cd; + --syntax-flow: #e08000; + --syntax-string: #7ec699; + --syntax-comment: #999999; + --syntax-preprocessor: #65cabe; + --syntax-link: #98c0e3; + + --table-header-bg: #2a2c2f; + --table-row-odd: #1C1D1F; + --table-row-even: #252628; + + --warning-bg: #3b2e04; + --warning-border: #f1b602; + --note-bg: #163750; + --note-border: #1982D2; + --deprecated-bg: #2e323b; + --deprecated-border: #738396; + --bug-bg: #2e1917; + --bug-border: #ad2617; + --todo-bg: #2a2536; + --todo-border: #7661b3; + } +} + +/* ============================================================================ + * BASE STYLES + * ============================================================================ */ +* { + box-sizing: border-box; +} + +html { + font-size: var(--font-size-base); +} + +body { + margin: 0; + padding: 0; + font-family: var(--font-family); + font-size: var(--font-size-base); + line-height: 1.6; + color: var(--page-text); + background-color: var(--page-bg); +} + +/* ============================================================================ + * TYPOGRAPHY + * ============================================================================ */ +h1, h2, h3, h4, h5, h6 { + margin: 1em 0 0.5em 0; + font-weight: 600; + line-height: 1.3; + color: var(--page-text); +} + +h1 { font-size: 2em; } +h2 { font-size: 1.5em; } +h3 { font-size: 1.25em; } +h4 { font-size: 1.1em; } +h5, h6 { font-size: 1em; } + +p, div, table, dl { + font-size: var(--font-size-base); + line-height: var(--line-height-content); +} + +a { + color: var(--bn-red); + text-decoration: none; + font-weight: 500; +} + +a:hover { + text-decoration: underline; +} + +code, tt { + font-family: var(--font-family-monospace); + font-size: var(--font-size-code); + background-color: var(--code-bg); + color: var(--code-text); + padding: 2px 6px; + border-radius: var(--border-radius-small); + word-wrap: break-word; + overflow-wrap: break-word; +} + +/* ============================================================================ + * HEADER AND TOP NAVIGATION + * ============================================================================ */ +#top { + background: var(--sidebar-bg); + border-bottom: 1px solid var(--border-color); + position: relative; + z-index: 99; + height: var(--top-height); + max-width: var(--sidebar-width); + overflow: hidden; +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: var(--sidebar-bg); + color: var(--page-text); + border-bottom: none; + position: relative; +} + +#titlearea table { + background: transparent; +} + +#titlearea table tbody tr { + height: auto; + background: transparent; +} + +#titlearea table tbody tr td { + background: transparent; +} + +#projectalign { + padding-left: var(--spacing-medium); +} + +#projectname { + font-size: var(--font-size-title); + font-weight: 600; + white-space: nowrap; +} + +#projectname a { + color: var(--page-text); +} + +#projectnumber { + font-family: inherit; + font-size: 60%; + color: var(--page-text-secondary); +} + +#projectlogo img { + max-height: calc(var(--font-size-title) * 2); +} + +tr#projectrow { + margin-top: 7px; + display: block; +} + +/* ============================================================================ + * SIDEBAR LAYOUT (Desktop) + * ============================================================================ */ +#side-nav { + min-width: var(--sidebar-width); + max-width: var(--sidebar-width); + top: var(--top-height); + position: fixed; + left: 0; + bottom: 0; + overflow: visible; + background: var(--sidebar-bg); +} + +#nav-tree, #side-nav { + height: calc(100vh - var(--top-height)); +} + +#top { + position: fixed; + left: 0; + top: 0; + width: var(--sidebar-width); + border-bottom: none; + margin-bottom: calc(0px - var(--top-height)); + background: var(--sidebar-bg); +} + +#main-nav { + float: left; + padding-right: 0; +} + +.ui-resizable-handle { + display: none; +} + +.ui-resizable-e { + width: 0; +} + +#nav-path { + position: fixed; + right: 0; + left: calc(var(--sidebar-width) + 1px); + bottom: 0; + width: auto; + background: var(--page-bg); + border-top: 1px solid var(--border-color); +} + +#container { + min-height: 100vh; + background-color: var(--page-bg); +} + +#doc-content { + min-height: calc(100vh - 31px); + padding-bottom: calc(3 * var(--spacing-large)); + padding-top: calc(var(--top-height) - 80px); + padding-left: var(--spacing-large); + padding-right: var(--spacing-large); + box-sizing: border-box; + background-color: var(--page-bg); +} + +#MSearchBox { + width: calc(var(--sidebar-width) - calc(2 * var(--spacing-medium)) - 1px); +} + +#MSearchField { + width: calc(var(--sidebar-width) - calc(2 * var(--spacing-medium)) - 66px); + padding-left: 10px; + top: -1px; +} + +#MSearchResultsWindow { + left: var(--spacing-medium); + right: auto; +} + +#nav-sync { + display: none; +} + +#splitbar { + display: none; +} + +/* ============================================================================ + * RESPONSIVE (Tablet and Mobile) + * ============================================================================ */ + +/* Tablet: Hide sidebar, adjust margins */ +@media screen and (max-width: 1024px) { + #side-nav { + display: none; + } + + #top { + position: relative; + width: 100%; + max-width: none; + border-right: none; + } + + #container { + margin-left: 0; + min-height: 100vh; + } + + #doc-content { + margin-left: 0; + padding-top: var(--spacing-large); + min-height: calc(100vh - var(--spacing-large)); + } + + #nav-path { + position: relative; + left: 0; + right: 0; + width: 100%; + } +} + +/* Mobile: Compact layout */ +@media screen and (max-width: 767px) { + #top { + height: 125px; + } + + #doc-content { + padding-top: 125px; + padding-left: var(--spacing-medium); + padding-right: var(--spacing-medium); + } + + div.contents { + padding: 0 var(--spacing-small); + } + + #MSearchBox { + top: -16px; + } +} + +/* Small mobile: Even more compact */ +@media screen and (max-width: 480px) { + #titlearea { + padding: var(--spacing-small); + } + + div.contents { + padding: 0; + } + + #doc-content { + padding-left: var(--spacing-small); + padding-right: var(--spacing-small); + } +} + +/* ============================================================================ + * SEARCH BAR + * ============================================================================ */ +#titlearea #projectalign + td { + position: absolute; + left: 20px; + top: 80px; +} + +#MSearchBox { + height: var(--searchbar-height); + background: var(--sidebar-bg); + border-radius: var(--searchbar-border-radius); + border: 1px solid var(--border-color); + overflow: hidden; + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--bn-red); + box-shadow: inset 0 0 0 1px var(--bn-red); +} + +#MSearchBox span.left { + left: 5px; + top: 1px; + background: none; + background-image: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); + background: none; + background-image: none; +} + +#MSearchField { + font-size: var(--font-size-nav); + font-family: var(--font-family); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + border: none; + color: var(--page-text); +} + +.MSearchBoxActive #MSearchField { + color: var(--page-text); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); + background-repeat: no-repeat; +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; + background-color: var(--page-bg); + border: 1px solid var(--border-color); +} + +/* ============================================================================ + * NAVIGATION TREE + * ============================================================================ */ +#side-nav { + background-color: var(--sidebar-bg); +} + +#nav-tree { + background-color: var(--sidebar-bg); + overflow-x: auto; + overflow-y: auto; +} + +#nav-tree .label { + font-size: var(--font-size-nav); + color: var(--sidebar-text); +} + +#nav-tree a { + color: var(--sidebar-text); + text-decoration: none; +} + +#nav-tree a:hover { + text-decoration: underline; +} + +#nav-tree .arrow { + opacity: 0.6; + transition: opacity 0.2s; +} + +#nav-tree .item:hover .arrow { + opacity: 1; +} + +#nav-tree .selected { + background-color: var(--bn-red); + color: #ffffff; +} + +#nav-tree .selected a { + color: #ffffff; +} + +html.dark-mode #nav-tree .selected { + background-color: var(--bn-red); + color: #ffffff; +} + +html.dark-mode #nav-tree .selected a { + color: #ffffff; +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); +} + +#nav-tree .item:hover { + background-color: rgba(0,0,0,.05); +} + +html.dark-mode #nav-tree .item:hover { + background-color: rgba(0,0,0,.4); +} + +/* Undecorated root node */ +.children_ul a.index\.html { + display: initial; +} + +a.index\.html { + display: none; +} + +#nav-tree-contents > ul > li > .item { + height: 0px; +} + +/* ============================================================================ + * COLLAPSIBLE SECTIONS (dynsections.js) + * ============================================================================ */ +.arrowhead { + display: inline-block; + margin-right: 5px; + opacity: 0; + transition: opacity 0.2s; + font-size: 11px; + line-height: 1; + color: var(--text-color); +} + +.arrow:hover .arrowhead, +tr:hover .arrowhead { + opacity: 1; +} + +/* Right-pointing triangle when closed */ +.arrowhead.closed::before { + content: '▶'; +} + +/* Down-pointing triangle when opened */ +.arrowhead.opened::before { + content: '▼'; +} + +/* ============================================================================ + * CONTENT AREA + * ============================================================================ */ +div.contents, div.header .title, div.header .summary { + max-width: 100%; +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) 0 var(--spacing-medium) 0; +} + +div.header .summary { + margin: var(--spacing-medium) 0 0 0; +} + +div.headertitle { + padding: 0; + border-bottom: 0; + background-color: var(--page-bg); +} + +div.headertitle .title { + font-size: 2em; + font-weight: 600; + margin: var(--spacing-large) 0; +} + +div.contents { + padding: 0 var(--spacing-xlarge); +} + +div.contents p, div.contents li { + line-height: var(--line-height-content); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media screen and (max-width: 767px) { + div.contents { + padding: 0 var(--spacing-large); + } + + div.header .title { + padding: var(--spacing-medium) var(--spacing-large); + } +} + +.contents img, .contents .center, .contents center, .contents div.image object { + max-width: 100%; + overflow: auto; +} + +.contents hr { + border: none; + border-top: 1px solid var(--border-color); + margin: var(--spacing-large) 0; +} + +/* ============================================================================ + * TABLES + * ============================================================================ */ +table { + border-collapse: collapse; + border-spacing: 0; + width: 100%; + word-wrap: break-word; +} + +/* Content tables (HTML tables in documentation) */ +div.contents > table, +div.contents p + table, +div.textblock table { + margin: var(--spacing-medium) 0; + border: 1px solid var(--border-color); +} + +div.contents > table th, +div.contents p + table th, +div.textblock table th { + background-color: var(--table-header-bg); + color: var(--page-text); + padding: var(--spacing-small) var(--spacing-medium); + text-align: left; + border: 1px solid var(--border-color); + font-weight: 600; +} + +div.contents > table td, +div.contents p + table td, +div.textblock table td { + padding: var(--spacing-small) var(--spacing-medium); + border: 1px solid var(--border-color); + vertical-align: top; +} + +div.contents > table tr:nth-child(odd), +div.contents p + table tr:nth-child(odd), +div.textblock table tr:nth-child(odd) { + background-color: var(--page-bg); +} + +div.contents > table tr:nth-child(even), +div.contents p + table tr:nth-child(even), +div.textblock table tr:nth-child(even) { + background-color: var(--table-row-even); +} + +table.memberdecls { + width: 100%; +} + +table.memberdecls .memItemLeft { + white-space: normal; + word-wrap: break-word; + overflow-wrap: break-word; + padding: var(--spacing-small) var(--spacing-medium); + border-bottom: 1px solid var(--border-color); + width: 40%; +} + +table.memberdecls .memItemRight { + padding: var(--spacing-small) var(--spacing-medium); + border-bottom: 1px solid var(--border-color); + word-wrap: break-word; + overflow-wrap: break-word; + width: 60%; +} + +table.memberdecls td { + vertical-align: top; +} + +/* Markdown tables */ +table.markdownTable { + border-collapse: collapse; + width: 100%; + margin: var(--spacing-medium) 0; + border: 1px solid var(--border-color); +} + +table.markdownTable th { + background-color: var(--sidebar-bg); + color: var(--sidebar-text); + padding: var(--spacing-small) var(--spacing-medium); + text-align: left; + border: 1px solid var(--border-color); + font-weight: 600; +} + +table.markdownTable td { + padding: var(--spacing-small) var(--spacing-medium); + border: 1px solid var(--border-color); + vertical-align: top; +} + +table.markdownTable tr.markdownTableRowOdd { + background-color: var(--fragment-bg); +} + +table.markdownTable tr.markdownTableRowEven { + background-color: var(--page-bg); +} + +/* Detail level labels (default, inline, virtual, etc.) */ +table.mlabels { + border-spacing: 0; +} + +table.mlabels td.mlabels-left { + width: 100%; +} + +table.mlabels td.mlabels-right { + vertical-align: bottom; +} + +span.mlabel { + background: var(--bn-red); + color: #ffffff; + margin-left: 2px; + padding: 2px 5px; + border-radius: 6px; + font-size: 9pt; + white-space: nowrap; + font-weight: 600; +} + +/* Function signature tables */ +table.memname { + font-family: var(--font-family-monospace); + color: var(--code-text); + border-collapse: collapse; + border-spacing: 0; + width: auto; + table-layout: auto; +} + +table.memname td { + vertical-align: top; + font-family: var(--font-family-monospace); + padding: 0 10px 0 0; +} + +/* Keep function name on first column from wrapping */ +table.memname td.memname { + white-space: nowrap; + width: 1%; +} + +/* Constrain parameter type column width */ +table.memname td.paramtype { + white-space: nowrap; + width: 1%; +} + +/* Parameter names should not wrap and stay compact */ +table.memname td.paramname { + white-space: nowrap; +} + +/* Empty cells (paramkey) should not take space */ +table.memname td.paramkey { + width: 1%; +} + +/* Type/Namespace icons (C, N, S, etc.) */ +.icon { + display: inline-block; + background-color: var(--bn-red); + color: #ffffff; + font-family: var(--font-family-monospace); + font-size: 11px; + font-weight: 700; + padding: 3px 5px 2px 5px; + margin-right: 6px; + border-radius: 3px; + text-align: center; + min-width: 16px; + line-height: 1.2; + vertical-align: middle; +} + +table thead th { + background-color: var(--table-header-bg); + color: var(--page-text); + font-weight: 600; + padding: var(--spacing-small) var(--spacing-medium); + border-bottom: 1px solid var(--border-color); +} + +table tbody tr:nth-child(odd) { + background-color: var(--table-row-odd); +} + +table tbody tr:nth-child(even) { + background-color: var(--table-row-even); +} + +/* ============================================================================ + * CODE BLOCKS AND FRAGMENTS + * ============================================================================ */ +pre.fragment, div.fragment { + font-family: var(--font-family-monospace); + font-size: var(--font-size-code); + background-color: var(--fragment-bg); + color: var(--fragment-text); + border-radius: var(--border-radius-small); + padding: var(--spacing-medium); + overflow-x: auto; + overflow-y: auto; + border: 1px solid var(--fragment-border); + max-width: 100%; +} + +.line { + line-height: 20px; + font-family: var(--font-family-monospace); +} + +.lineno { + color: #797979; + background-color: #f4f4f5; + border-right: 1px solid var(--fragment-border); + padding-right: 8px; + padding-left: 8px; + margin-right: 8px; +} + +html.dark-mode .lineno { + color: #cccccc; + background-color: #35393c; +} + +/* Syntax highlighting */ +span.keyword { color: var(--syntax-keyword); } +span.keywordtype { color: var(--syntax-type); } +span.keywordflow { color: var(--syntax-flow); } +span.stringliteral { color: var(--syntax-string); } +span.comment { color: var(--syntax-comment); } +span.preprocessor { color: var(--syntax-preprocessor); } +span.lineno a { color: var(--syntax-comment); } + +/* ============================================================================ + * CONTENT BOXES (@note, @warning, etc.) + * ============================================================================ */ +dl.warning, dl.attention { + background-color: var(--warning-bg); + border-left: 4px solid var(--warning-border); + padding: var(--spacing-medium); + border-radius: var(--border-radius-small); + margin: var(--spacing-medium) 0; +} + +dl.note { + background-color: var(--note-bg); + border-left: 4px solid var(--note-border); + padding: var(--spacing-medium); + border-radius: var(--border-radius-small); + margin: var(--spacing-medium) 0; +} + +dl.todo { + background-color: var(--todo-bg); + border-left: 4px solid var(--todo-border); + padding: var(--spacing-medium); + border-radius: var(--border-radius-small); + margin: var(--spacing-medium) 0; +} + +dl.deprecated { + background-color: var(--deprecated-bg); + border-left: 4px solid var(--deprecated-border); + padding: var(--spacing-medium); + border-radius: var(--border-radius-small); + margin: var(--spacing-medium) 0; +} + +dl.bug { + background-color: var(--bug-bg); + border-left: 4px solid var(--bug-border); + padding: var(--spacing-medium); + border-radius: var(--border-radius-small); + margin: var(--spacing-medium) 0; +} + +/* ============================================================================ + * MEMBER DOCUMENTATION + * ============================================================================ */ +.memitem { + margin-bottom: var(--spacing-large); + position: relative; +} + +.memtitle { + background-color: var(--code-bg); + border: 1px solid var(--border-color); + border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; + padding: var(--spacing-small) var(--spacing-medium); + font-size: 18px; + font-weight: 600; + font-family: var(--font-family-monospace); +} + +.memname { + font-family: var(--font-family-monospace); +} + +.memdoc { + border: 1px solid var(--border-color); + border-top: none; + border-radius: 0 0 var(--border-radius-small) var(--border-radius-small); + padding: var(--spacing-medium); + background-color: var(--page-bg); +} + +.memproto { + background-color: var(--fragment-bg); + border: 1px solid var(--border-color); + padding: var(--spacing-small) var(--spacing-medium); + border-radius: var(--border-radius-small); +} + +.paramname { + color: var(--bn-red-light); + font-style: italic; +} + +.paramtype .el { + color: var(--bn-red-dark); +} + +/* ============================================================================ + * THREAD SAFETY BADGES (Binary Ninja specific) + * ============================================================================ */ +dl.threadsafe { + position: absolute; + top: 0px; + right: 8px; + margin-top: 10px; + background-color: #d0d6e2; + font-weight: normal; + padding: 2px 10px; + border-radius: 4px; +} + +html.dark-mode dl.threadsafe { + background-color: #434956; +} + +.threadsafe dt { + padding-right: 35px; +} + +.threadsafe.Main.Thread.Only dt { + padding-right: 145px; +} + +.threadsafe.Yes dd { + display: inline; + margin-inline-start: 0; + position: absolute; + top: 1px; + right: 1px; + padding: 1px 6px 1px 5px; + background-color: #9af78c; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + width: 25px; + text-align: center; +} + +html.dark-mode .threadsafe.Yes dd { + background-color: #4e8646; +} + +.threadsafe.No dd { + display: inline; + margin-inline-start: 0; + position: absolute; + top: 1px; + right: 1px; + padding: 1px 6px 1px 5px; + background-color: #fb877d; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + width: 25px; + text-align: center; +} + +html.dark-mode .threadsafe.No dd { + background-color: #d0584d; +} + +.threadsafe.Main.Thread.Only dd { + display: inline; + margin-inline-start: 0; + position: absolute; + top: 1px; + right: 1px; + padding: 1px 6px 1px 5px; + background-color: #fb877d; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + width: 135px; + text-align: center; +} + +html.dark-mode .threadsafe.Main.Thread.Only dd { + background-color: #d0584d; +} + +img.thread { + max-width: 15px; + position: relative; + top: 2px; + padding-right: 3px; +} + +html.dark-mode img.thread { + filter: invert(0.7); +} + +/* ============================================================================ + * BINARY NINJA CUSTOMIZATIONS + * ============================================================================ */ + +/* External link icon */ +div.contents a[href^="http"]:after { + content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); +} + +/* GitHub logo */ +.githublogo { + content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RERCMUIwOUY4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RERCMUIwOUU4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTJBOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTJCOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jUqS1wAAApVJREFUeNq0l89rE1EQx3e3gVJoSPzZeNEWPKgHoa0HBak0iHiy/4C3WvDmoZ56qJ7txVsPQu8qlqqHIhRKJZceesmhioQEfxTEtsoSpdJg1u/ABJ7Pmc1m8zLwgWTmzcw3L+/te+tHUeQltONgCkyCi2AEDHLsJ6iBMlgHL8FeoqokoA2j4CloRMmtwTmj7erHBXPgCWhG6a3JNXKdCiDl1sidVbXZkJoXQRi5t5BrxwoY71FzU8S4JuAIqFkJ2+BFSlEh525b/hr3+k/AklDkNsf6wTT4yv46KIMNpsy+iMdMc47HNWxbsgVcUn7FmLAzzoFAWDsBx+wVP6bUpp5ewI+DOeUx0Wd9D8F70BTGNjkWtqnhmT1JQAHcUgZd8Lo3rQb1LAT8eJVUfgGvHQigGp+V2Z0iAUUl8QH47kAA1XioxIo+bRN8OG8F/oBjwv+Z1nJgX5jpdzQDw0LCjsPmrcW7I/iHScCAEDj03FtD8A0EyuChHgg4KTlJQF3wZ7WELppnBX+dBFSVpJsOBWi1qiRgSwnOgoyD5hmuJdkWCVhTgnTvW3AgYIFrSbZGh0UW/Io5Vp+DQoK7o80pztWMemZbgxeNwCNwDbw1fIfgGZjhU6xPaJgBV8BdsMw5cbZoHsenwYFxkZzl83xTSKTiviCAfCsJLysH3POfC8m8NegyGAGfLP/VmGmfSChgXroR0RSWjEFv2J/nG84cuKFMf4sTCZqXuJd4KaXFVjEG3+tw4eXbNK/YC9oXXs3O8NY8y99L4BXY5cvLY/Bb2VZ58EOJVcB18DHJq9lRsKr8inyKGVjlmh29mtHs3AHfuhCwy1vXT/Nu2GKQt+UHsGdctyX6eQyNvc+5sfX9Dl7Pe2J/BRgAl2CpwmrsHR0AAAAASUVORK5CYII=); +} + +/* Group headers */ +td h2.groupheader, h2.groupheader { + border-bottom: 0px; + color: var(--page-text); + background: var(--page-bg); + font-weight: 600; + margin-top: var(--spacing-large); +} + +/* Table of Contents - Disabled */ +div.contents .toc { + display: none; +} + +div.toc { + display: none; +} + +/* ============================================================================ + * SCROLLBAR STYLING + * ============================================================================ */ +::-webkit-scrollbar { + width: 7px; + height: 7px; +} + +::-webkit-scrollbar-track { + background: transparent; +} + +::-webkit-scrollbar-thumb { + background-color: var(--border-color); + border-radius: var(--border-radius-small); +} + +::-webkit-scrollbar-thumb:hover { + background-color: var(--page-text-secondary); +} + +#nav-tree::-webkit-scrollbar-thumb, +div.fragment::-webkit-scrollbar-thumb, +pre.fragment::-webkit-scrollbar-thumb { + background-color: transparent; + border: 4px solid transparent; + border-radius: 12px; + background-clip: padding-box; +} + +#nav-tree:hover::-webkit-scrollbar-thumb, +div.fragment:hover::-webkit-scrollbar-thumb, +pre.fragment:hover::-webkit-scrollbar-thumb { + background-color: var(--border-color); +} + +#nav-tree::-webkit-scrollbar-corner { + background-color: var(--sidebar-bg); +} + +/* Firefox scrollbar */ +#nav-tree, +div.fragment, +pre.fragment { + scrollbar-width: thin; + scrollbar-color: var(--border-color) transparent; +} + +/* ============================================================================ + * DARK MODE TOGGLE (Hidden - CSS-only system preference) + * ============================================================================ */ +#bn-darkmode-toggle { + display: none; +} + +/* ============================================================================ + * IMAGE HANDLING IN DARK MODE + * ============================================================================ */ +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents > table img { + filter: brightness(89%) hue-rotate(180deg) invert(); +} + +html.dark-mode .darkmode_inverted_image img, +html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] { + filter: brightness(89%) hue-rotate(180deg) invert(); +} diff --git a/api-docs/cppdocs/custom.css b/api-docs/cppdocs/custom.css deleted file mode 100644 index 3c7b8483..00000000 --- a/api-docs/cppdocs/custom.css +++ /dev/null @@ -1,200 +0,0 @@ - -/* external link icon */ -div.contents a[href ^= "http"]:after { - content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=); -} - -.githublogo { - content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RERCMUIwOUY4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RERCMUIwOUU4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTJBOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTJCOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jUqS1wAAApVJREFUeNq0l89rE1EQx3e3gVJoSPzZeNEWPKgHoa0HBak0iHiy/4C3WvDmoZ56qJ7txVsPQu8qlqqHIhRKJZceesmhioQEfxTEtsoSpdJg1u/ABJ7Pmc1m8zLwgWTmzcw3L+/te+tHUeQltONgCkyCi2AEDHLsJ6iBMlgHL8FeoqokoA2j4CloRMmtwTmj7erHBXPgCWhG6a3JNXKdCiDl1cidVbXZkJoXQRi5t5BrxwoY71FzU8S4JuAIqFkJ2+BFSlEh525b/hr3+k/AklDkNsf6wTT4yv46KIMNpsy+iMdMc47HNWxbsgVcUn7FmLAzzoFAWDsBx+wVP6bUpp5ewI+DOeUx0Wd9D8F70BTGNjkWtqnhmT1JQAHcUgZd8Lo3rQb1LAT8eJVUfgGvHQigGp+V2Z0iAUUl8QH47kAA1XioxIo+bRN8OG8F/oBjwv+Z1nJgX5jpdzQDw0LCjsPmrcW7I/iHScCAEDj03FtD8A0EyuChHgg4KTlJQF3wZ7WELppnBX+dBFSVpJsOBWi1qiRgSwnOgoyD5hmuJdkWCVhTgnTvW3AgYIFrSbZGh0UW/Io5Vp+DQoK7o80pztWMemZbgxeNwCNwDbw1fIfgGZjhU6xPaJgBV8BdsMw5cbZoHsenwYFxkZzl83xTSKTiviCAfCsJLysH3POfC8m8NegyGAGfLP/VmGmfSChgXroR0RSWjEFv2J/nG84cuKFMf4sTCZqXuJd4KaXFVjEG3+tw4eXbNK/YC9oXXs3O8NY8y99L4BXY5cvLY/Bb2VZ58EOJVcB18DHJq9lRsKr8inyKGVjlmh29mtHs3AHfuhCwy1vXT/Nu2GKQt+UHsGdctyX6eQyNvc+5sfX9Dl7Pe2J/BRgAl2CpwmrsHR0AAAAASUVORK5CYII=); -} - -/* search bar wrapper */ -#titlearea #projectalign + td { - position: absolute; - left: 20px; - top: 80px; -} - -doxygen-awesome-dark-mode-toggle { - display: inline-block !important; - position: absolute; - right: -27px; - top: 0px; - padding-top: 5px; - height: 29px; -} -/* -Doxygen by default does this horrible table layout thing where it tries to figure the default width of the left - column by taking the largest item in that column (the type), unwrapped, and making that the width for the entire column -We are working with C++, type declarations can be massive. So lock it to 350px and turn on word wrapping for the Types - column. -*/ -table.memberdecls .memItemLeft { - white-space: normal; - min-width: 350px; -} - -html.dark-mode { - --primary-color: #c74433!important; - --primary-dark-color: #d0584d !important;; - --primary-light-color: #a2382a !important;; -} -html { - --primary-color: #c74433!important; - --primary-dark-color: #d0584d !important;; - --primary-light-color: #a2382a !important;; -} - -.paramname { - color: var(--primary-light-color); -} -.paramtype .el { - color: var(--primary-dark-color) !important; -} - -tr#projectrow { - margin-top: 7px; - display: block; -} - -#MSearchBox span.left { - left: 5px; - top: 1px; -} - -input#MSearchField { - padding-left: 10px; - top: -1px; -} - -#MSearchSelect { - background-repeat: no-repeat !important; -} - -/* Replicating an "undecorated root node" */ - -.children_ul a.index\.html { - display: initial !important; -} - -a.index\.html { - display: none; -} - - -#nav-tree-contents > ul > li > .item { - height: 0px; -} - -/* --- */ - -/* Move the "Deprecated Items" item to the end of the list. */ -#nav-tree-contents > ul > li > ul.children_ul { - margin: 0px; - padding: 0px; - display: flex!important; - flex-direction: column!important; -} -#nav-tree-contents > ul > li > ul > li:nth-of-type(2) { - order: 9999999; -} - -/* Basic Mobile functionality fixes */ -@media screen and (max-width: 767px) { - div#top { - height: 125px; - } - div#MSearchBox { - top: -16px; - } - doxygen-awesome-dark-mode-toggle { - padding-top: 0px; - right: -22px; - } -} - -.memitem { - position:relative; -} - -dl.threadsafe { - position: absolute; - top: 0px; - right: 8px; - margin-top: 10px; - background-color: #434956; - font-weight: normal; - padding: 2px 10px; - border-radius: 4px; -} -.threadsafe dt { - padding-right: 35px; -} -.threadsafe.Main.Thread.Only dt { - padding-right: 145px; -} -.threadsafe.Yes dd { - display: inline!important; - margin-inline-start: 0; - position: absolute; - top: 1px; - right: 1px; - padding: 1px 6px 1px 5px; - background-color: #4e8646; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - width: 25px; - text-align: center; -} - -.threadsafe.No dd { - display: inline!important; - margin-inline-start: 0; - position: absolute; - top: 1px; - right: 1px; - padding: 1px 6px 1px 5px; - background-color: #d0584d; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - width: 25px; - text-align: center; -} - -.threadsafe.Main.Thread.Only dd { - display: inline!important; - margin-inline-start: 0; - position: absolute; - top: 1px; - right: 1px; - padding: 1px 6px 1px 5px; - background-color: #d0584d; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - width: 135px; - text-align: center; -} - -.light-mode dl.threadsafe { - background-color: #d0d6e2; -} -.light-mode .threadsafe.Yes dd { - background-color: #9af78c; -} -.light-mode .threadsafe.No dd { - background-color: #fb877d; -} -.light-mode .threadsafe.Main.Thread.Only dd { - background-color: #fb877d; -} - -img.thread { - max-width: 15px; - position: relative; - top: 2px; - padding-right: 3px; -} - -.dark-mode img.thread { - filter: invert(0.7); -} diff --git a/api-docs/cppdocs/doxygen-awesome-css/LICENSE b/api-docs/cppdocs/doxygen-awesome-css/LICENSE deleted file mode 100644 index 1d8b99a9..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 jothepro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/api-docs/cppdocs/doxygen-awesome-css/README.md b/api-docs/cppdocs/doxygen-awesome-css/README.md deleted file mode 100644 index b823a109..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/README.md +++ /dev/null @@ -1,4 +0,0 @@ -This doxygen theme is from https://github.com/jothepro/doxygen-awesome-css - -Do not edit any of the files in this directory unless *absolutely necessary*; instead edit ../custom.css . - diff --git a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js deleted file mode 100644 index 440e4e08..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js +++ /dev/null @@ -1,138 +0,0 @@ -// SPDX-License-Identifier: MIT -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2021 - 2025 jothepro - -*/ - -class DoxygenAwesomeDarkModeToggle extends HTMLElement { - // SVG icons from https://fonts.google.com/icons - // Licensed under the Apache 2.0 license: - // https://www.apache.org/licenses/LICENSE-2.0.html - static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>` - static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>` - static title = "Toggle Light/Dark Mode" - - static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" - static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" - - static _staticConstructor = function() { - DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference) - // Update the color scheme when the browsers preference changes - // without user interaction on the website. - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { - DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() - }) - // Update the color scheme when the tab is made visible again. - // It is possible that the appearance was changed in another tab - // while this tab was in the background. - document.addEventListener("visibilitychange", visibilityState => { - if (document.visibilityState === 'visible') { - DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() - } - }); - }() - - static init() { - $(function() { - $(document).ready(function() { - const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle') - toggleButton.title = DoxygenAwesomeDarkModeToggle.title - toggleButton.updateIcon() - - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { - toggleButton.updateIcon() - }) - document.addEventListener("visibilitychange", visibilityState => { - if (document.visibilityState === 'visible') { - toggleButton.updateIcon() - } - }); - - $(document).ready(function(){ - document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) - }) - $(window).resize(function(){ - document.getElementById("MSearchBox").parentNode.appendChild(toggleButton) - }) - }) - }) - } - - constructor() { - super(); - this.onclick=this.toggleDarkMode - } - - /** - * @returns `true` for dark-mode, `false` for light-mode system preference - */ - static get systemPreference() { - return window.matchMedia('(prefers-color-scheme: dark)').matches - } - - /** - * @returns `true` for dark-mode, `false` for light-mode user preference - */ - static get userPreference() { - return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || - (DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) - } - - static set userPreference(userPreference) { - DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference - if(!userPreference) { - if(DoxygenAwesomeDarkModeToggle.systemPreference) { - localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) - } else { - localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) - } - } else { - if(!DoxygenAwesomeDarkModeToggle.systemPreference) { - localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) - } else { - localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) - } - } - DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() - } - - static enableDarkMode(enable) { - if(enable) { - DoxygenAwesomeDarkModeToggle.darkModeEnabled = true - document.documentElement.classList.add("dark-mode") - document.documentElement.classList.remove("light-mode") - } else { - DoxygenAwesomeDarkModeToggle.darkModeEnabled = false - document.documentElement.classList.remove("dark-mode") - document.documentElement.classList.add("light-mode") - } - } - - static onSystemPreferenceChanged() { - DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference - DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) - } - - static onUserPreferenceChanged() { - DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) - } - - toggleDarkMode() { - DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference - this.updateIcon() - } - - updateIcon() { - if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) { - this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon - } else { - this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon - } - } -} - -customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); diff --git a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js deleted file mode 100644 index e0994dca..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-License-Identifier: MIT -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2022 - 2025 jothepro - -*/ - -class DoxygenAwesomeFragmentCopyButton extends HTMLElement { - constructor() { - super(); - this.onclick=this.copyContent - } - static title = "Copy to clipboard" - static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M23.04,10.322c0,-2.582 -2.096,-4.678 -4.678,-4.678l-6.918,-0c-2.582,-0 -4.678,2.096 -4.678,4.678c0,-0 0,8.04 0,8.04c0,2.582 2.096,4.678 4.678,4.678c0,-0 6.918,-0 6.918,-0c2.582,-0 4.678,-2.096 4.678,-4.678c0,-0 0,-8.04 0,-8.04Zm-2.438,-0l-0,8.04c-0,1.236 -1.004,2.24 -2.24,2.24l-6.918,-0c-1.236,-0 -2.239,-1.004 -2.239,-2.24l-0,-8.04c-0,-1.236 1.003,-2.24 2.239,-2.24c0,0 6.918,0 6.918,0c1.236,0 2.24,1.004 2.24,2.24Z"/><path d="M5.327,16.748c-0,0.358 -0.291,0.648 -0.649,0.648c0,0 0,0 0,0c-2.582,0 -4.678,-2.096 -4.678,-4.678c0,0 0,-8.04 0,-8.04c0,-2.582 2.096,-4.678 4.678,-4.678l6.918,0c2.168,0 3.994,1.478 4.523,3.481c0.038,0.149 0.005,0.306 -0.09,0.428c-0.094,0.121 -0.239,0.191 -0.392,0.191c-0.451,0.005 -1.057,0.005 -1.457,0.005c-0.238,0 -0.455,-0.14 -0.553,-0.357c-0.348,-0.773 -1.128,-1.31 -2.031,-1.31c-0,0 -6.918,0 -6.918,0c-1.236,0 -2.24,1.004 -2.24,2.24l0,8.04c0,1.236 1.004,2.24 2.24,2.24l0,-0c0.358,-0 0.649,0.29 0.649,0.648c-0,0.353 -0,0.789 -0,1.142Z" style="fill-opacity:0.6;"/></svg>` - static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M8.084,16.111c-0.09,0.09 -0.212,0.141 -0.34,0.141c-0.127,-0 -0.249,-0.051 -0.339,-0.141c-0.746,-0.746 -2.538,-2.538 -3.525,-3.525c-0.375,-0.375 -0.983,-0.375 -1.357,0c-0.178,0.178 -0.369,0.369 -0.547,0.547c-0.375,0.375 -0.375,0.982 -0,1.357c1.135,1.135 3.422,3.422 4.75,4.751c0.27,0.27 0.637,0.421 1.018,0.421c0.382,0 0.749,-0.151 1.019,-0.421c2.731,-2.732 10.166,-10.167 12.454,-12.455c0.375,-0.375 0.375,-0.982 -0,-1.357c-0.178,-0.178 -0.369,-0.369 -0.547,-0.547c-0.375,-0.375 -0.982,-0.375 -1.357,0c-2.273,2.273 -9.567,9.567 -11.229,11.229Z"/></svg>` - static successDuration = 980 - static init() { - $(function() { - $(document).ready(function() { - if(navigator.clipboard) { - const fragments = document.getElementsByClassName("fragment") - for(const fragment of fragments) { - const fragmentWrapper = document.createElement("div") - fragmentWrapper.className = "doxygen-awesome-fragment-wrapper" - const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button") - fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon - fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title - - fragment.parentNode.replaceChild(fragmentWrapper, fragment) - fragmentWrapper.appendChild(fragment) - fragmentWrapper.appendChild(fragmentCopyButton) - - } - } - }) - }) - } - - - copyContent() { - const content = this.previousSibling.cloneNode(true) - // filter out line number from file listings - content.querySelectorAll(".lineno, .ttc").forEach((node) => { - node.remove() - }) - let textContent = content.textContent - // remove trailing newlines that appear in file listings - let numberOfTrailingNewlines = 0 - while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') { - numberOfTrailingNewlines++; - } - textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines) - navigator.clipboard.writeText(textContent); - this.classList.add("success") - this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon - window.setTimeout(() => { - this.classList.remove("success") - this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon - }, DoxygenAwesomeFragmentCopyButton.successDuration); - } -} - -customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton) diff --git a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js deleted file mode 100644 index 1c4c227e..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-paragraph-link.js +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: MIT -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2022 - 2025 jothepro - -*/ - -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 = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>` - 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/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css deleted file mode 100644 index 2ab5c768..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css +++ /dev/null @@ -1,20 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2021 - 2025 jothepro - -*/ - -@media screen and (min-width: 768px) { - - #MSearchBox { - width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px); - } - - #MSearchField { - width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height)); - } -} diff --git a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css deleted file mode 100644 index f7c644d6..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome-sidebar-only.css +++ /dev/null @@ -1,105 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2021 - 2025 jothepro - - */ - -html { - /* 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; - - --top-height: 120px; - --toc-sticky-top: -25px; - --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 25px); -} - -#projectname { - 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; - } - - #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 { - display: none; - } - - .ui-resizable-e { - width: 0; - } - - #nav-path { - position: fixed; - right: 0; - left: calc(var(--side-nav-fixed-width) + 1px); - 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; - } - - #nav-sync { - bottom: 4px; - right: auto; - left: 300px; - width: 35px; - top: auto !important; - user-select: none; - position: fixed - } -} diff --git a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome.css b/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome.css deleted file mode 100644 index f992c232..00000000 --- a/api-docs/cppdocs/doxygen-awesome-css/doxygen-awesome.css +++ /dev/null @@ -1,3020 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/** - -Doxygen Awesome -https://github.com/jothepro/doxygen-awesome-css - -Copyright (c) 2021 - 2025 jothepro - -*/ - -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; - --on-primary-color: #ffffff; - - --link-color: var(--primary-color); - - /* 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; - - /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ - --border-radius-large: 10px; - --border-radius-small: 5px; - --border-radius-medium: 8px; - - /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ - --spacing-small: 5px; - --spacing-medium: 10px; - --spacing-large: 16px; - --spacing-xlarge: 20px; - - /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ - --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); - - --odd-color: rgba(0,0,0,.028); - - /* 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: #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-focus-foreground: var(--on-primary-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); - - /* 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); - - --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; - } -} - -@media (prefers-color-scheme: dark) { - 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,.30); - - --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; -} - -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, #nav-tree a, .title, -.sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, -.SelectItem, #MSearchField, .navpath li.navelem a, -.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3, -#page-nav ul.page-outline li a { - 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(--link-color) !important; - font-weight: 500; - background: none; -} - -a:hover { - text-decoration: underline; -} - -a.anchor { - scroll-margin-top: var(--spacing-large); - display: block; -} - -/* - Title and top navigation - */ - -#top { - background: var(--header-background); - border-bottom: 1px solid var(--separator-color); - position: relative; - z-index: 99; -} - -@media screen and (min-width: 768px) { - #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); - border-bottom: 0; -} - -#titlearea { - 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 table tbody tr { - height: auto !important; -} - -#projectname { - font-size: var(--title-font-size); - font-weight: 600; -} - -#projectnumber { - font-family: inherit; - font-size: 60%; -} - -#projectbrief { - font-family: inherit; - font-size: 80%; -} - -#projectlogo { - vertical-align: middle; -} - -#projectlogo img { - max-height: calc(var(--title-font-size) * 2); - margin-right: var(--spacing-small); -} - -.sm-dox, .tabs, .tabs2, .tabs3 { - background: none; - padding: 0; -} - -.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); -} - -@media screen and (max-width: 767px) { - .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: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 a span.sub-arrow { - top: 15px; - right: 10px; - box-sizing: content-box; - padding: 0; - margin: 0; - display: inline-block; - width: 5px; - height: 5px; - transform: rotate(45deg); - border-width: 0; - border-right: 2px solid var(--header-foreground); - border-bottom: 2px solid var(--header-foreground); - background: none; - } - - .sm-dox a:hover span.sub-arrow { - border-color: var(--menu-focus-foreground); - background: none; - } - - .sm-dox ul a span.sub-arrow { - transform: rotate(-45deg); - border-width: 0; - border-right: 2px solid var(--header-foreground); - border-bottom: 2px solid var(--header-foreground); - } - - .sm-dox ul a:hover span.sub-arrow { - border-color: var(--menu-focus-foreground); - background: none; - } -} - -.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; -} - -@keyframes slideInMenu { - from { - opacity: 0; - transform: translate(0px, -2px); - } - - to { - opacity: 1; - transform: translate(0px, 0px); - } -} - -.sm-dox ul a { - color: var(--page-foreground-color) !important; - background: none; - font-size: var(--navigation-font-size); -} - -.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 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:focus { - 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); -} - -.tablist li.current { - border-radius: var(--border-radius-small); - background: var(--menu-selected-background); -} - -.tablist li { - margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); -} - -.tablist a { - 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; - margin-right: 0; -} - -@media (min-width: 768px) { - .sm-dox li { - padding: 0; - } -} - -/* until Doxygen 1.9.4 */ -.left img#MSearchSelect { - 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 #MSearchSelect[src$=".png"] { - padding-left: 0 -} - -/* Doxygen 1.14.0 */ -.search-icon::before { - background: none; - top: 5px; -} - -.search-icon::after { - background: none; - top: 12px; -} - -.SelectionMark { - user-select: none; -} - -.tabs .left #MSearchSelect { - padding-left: 0; -} - -.tabs #MSearchBox { - 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; - } -} - -#MSearchSelectWindow, #MSearchResultsWindow { - z-index: 9999; -} - -#MSearchBox.MSearchBoxActive { - border-color: var(--primary-color); - box-shadow: inset 0 0 0 1px var(--primary-color); -} - -#main-menu > li:last-child { - margin-right: 0; -} - -@media screen and (max-width: 767px) { - #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); -} - -.MSearchBoxActive #MSearchField { - color: var(--searchbar-foreground); -} - -#MSearchSelect { - top: calc(calc(var(--searchbar-height) / 2) - 11px); -} - -#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); -} - -.tabs #MSearchBox span.right { - top: calc(calc(var(--searchbar-height) / 2) - 12px); -} - -@keyframes slideInSearchResults { - from { - opacity: 0; - transform: translate(0, 15px); - } - - 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); -} - -iframe#MSearchResults { - margin: 4px; -} - -iframe { - color-scheme: normal; -} - -@media (prefers-color-scheme: dark) { - html:not(.light-mode) iframe#MSearchResults { - filter: invert() hue-rotate(180deg); - } -} - -html.dark-mode iframe#MSearchResults { - filter: invert() hue-rotate(180deg); -} - -#MSearchResults .SRPage { - background-color: transparent; -} - -#MSearchResults .SRPage .SREntry { - 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); -} - -#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; -} - -#MSearchSelectWindow a.SelectItem:hover { - 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; - } - - #MSearchField { - width: calc(100vw - 110px); - } - - @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; - } - - /* - * 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 > #MSearchBox { - margin-top: 0; - margin-bottom: 0; - flex-grow: 2; - float: left; - } -} - -/* - Tree view - */ - -#side-nav { - min-width: 8px; - max-width: 50vw; -} - - -#nav-tree, #top { - border-right: 1px solid var(--separator-color); -} - -@media screen and (max-width: 767px) { - #side-nav { - display: none; - } - - #doc-content { - margin-left: 0 !important; - } - - #top { - border-right: none; - } -} - -#nav-tree { - background: var(--side-nav-background); - margin-right: -1px; - padding: 0; -} - -#nav-tree .label { - font-size: var(--navigation-font-size); - line-height: var(--tree-item-height); -} - -#nav-tree span.label a:hover { - background: none; -} - -#nav-tree .item { - height: var(--tree-item-height); - line-height: var(--tree-item-height); - overflow: hidden; - text-overflow: ellipsis; - margin: 0; - padding: 0; -} - -#nav-tree-contents { - margin: 0; -} - -#main-menu > li:last-child { - height: auto; -} - -#nav-tree .item > a:focus { - outline: none; -} - -#nav-sync { - bottom: var(--spacing-medium); - right: var(--spacing-medium) !important; - top: auto !important; - user-select: none; -} - -div.nav-sync-icon { - border: 1px solid var(--separator-color); - border-radius: var(--border-radius-medium); - background: var(--page-background-color); - width: 30px; - height: 20px; -} - -div.nav-sync-icon:hover { - background: var(--page-background-color); -} - -span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left { - border-left: 2px solid var(--primary-color); - border-top: 2px solid var(--primary-color); - top: 5px; - left: 6px; -} -span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right { - border-right: 2px solid var(--primary-color); - border-bottom: 2px solid var(--primary-color); - top: 5px; - left: initial; - right: 6px; -} - -div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after { - border-top: 2px solid var(--primary-color); - top: 9px; - left: 6px; - width: 19px; -} - -#nav-tree .selected { - text-shadow: none; - background-image: none; - background-color: transparent; - position: relative; - color: var(--primary-color) !important; - font-weight: 500; -} - -#nav-tree .selected::after { - 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; -} - -#nav-tree a:focus { - outline-style: auto; -} - -#nav-tree .arrow { - opacity: var(--side-nav-arrow-opacity); - background: none; -} - -#nav-tree span.arrowhead { - margin: 0 0 1px 2px; -} - -span.arrowhead { - border-color: var(--primary-light-color); -} - -.selected span.arrowhead { - border-color: var(--primary-color); -} - -#nav-tree-contents > ul > li:first-child > div > a { - opacity: 0; - pointer-events: none; -} - -.contents .arrow { - color: inherit; - cursor: pointer; - font-size: 45%; - vertical-align: middle; - margin-right: 2px; - font-family: serif; - height: auto; - padding-bottom: 4px; -} - -#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; -} - -.ui-resizable-e { - background: none; -} - -.ui-resizable-e:hover { - background: var(--separator-color); -} - -/* - Contents - */ - -div.header { - border-bottom: 1px solid var(--separator-color); - background: none; - 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; - } - - 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 { - line-height: initial; - margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; -} - -div.header .summary { - margin: var(--spacing-medium) auto 0 auto; -} - -div.headertitle { - padding: 0; -} - -div.header .title { - font-weight: 600; - font-size: 225%; - padding: var(--spacing-medium) var(--spacing-xlarge); - word-break: break-word; -} - -div.header .summary { - width: auto; - display: block; - float: none; - padding: 0 var(--spacing-large); -} - -td.memSeparator { - border-color: var(--separator-color); -} - -span.mlabel { - background: var(--primary-color); - color: var(--on-primary-color); - border: none; - padding: 4px 9px; - border-radius: var(--border-radius-large); - margin-right: var(--spacing-medium); -} - -span.mlabel:last-of-type { - margin-right: 2px; -} - -div.contents { - padding: 0 var(--spacing-xlarge); -} - -div.contents p, div.contents li { - line-height: var(--content-line-height); -} - -div.contents div.dyncontent { - margin: var(--spacing-medium) 0; -} - -@media screen and (max-width: 767px) { - div.contents { - padding: 0 var(--spacing-large); - } - - div.header .title { - padding: var(--spacing-medium) var(--spacing-large); - } -} - -@media (prefers-color-scheme: dark) { - html:not(.light-mode) div.contents div.dyncontent img, - html:not(.light-mode) div.contents center img, - 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, -html.dark-mode div.contents center img, -html.dark-mode div.contents > table img, -html.dark-mode div.contents div.dyncontent iframe, -html.dark-mode div.contents center iframe, -html.dark-mode div.contents table iframe, -html.dark-mode div.contents .dotgraph iframe - { - filter: brightness(89%) hue-rotate(180deg) invert(); -} - -td h2.groupheader, 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); -} - -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: .15; - position: absolute; -} - -blockquote::before { - content: "“"; - left: -10px; - top: 4px; -} - -blockquote::after { - content: "”"; - right: -8px; - bottom: -25px; -} - -blockquote p { - margin: var(--spacing-small) 0 var(--spacing-medium) 0; -} -.paramname, .paramname em { - font-weight: 600; - color: var(--primary-dark-color); -} - -.paramname > code { - 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); -} - -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); -} - -.dotgraph { - max-width: 100%; - overflow-x: scroll; -} - -.dotgraph .caption { - position: sticky; - left: 0; -} - -/* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */ -.interactive_dotgraph .dotgraph iframe { - max-width: 100%; -} - -/* - Table of Contents - */ - -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: 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; -} - -div.toc li { - padding: 0; - background: none; - line-height: var(--toc-font-size); - margin: var(--toc-font-size) 0 0 0; -} - -div.toc li::before { - display: none; -} - -div.toc ul { - margin-top: 0 -} - -div.toc li a { - 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.aboveActive { - 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.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.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 { - 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:hover { - text-decoration: underline; - } -} - -/* - Page Outline (Doxygen >= 1.14.0) -*/ - -#page-nav { - background: var(--page-background-color); - border-left: 1px solid var(--separator-color); -} - -#page-nav #page-nav-resize-handle { - background: var(--separator-color); -} - -#page-nav #page-nav-resize-handle::after { - border-left: 1px solid var(--primary-color); - border-right: 1px solid var(--primary-color); -} - -#page-nav #page-nav-tree #page-nav-contents { - top: var(--spacing-large); -} - -#page-nav ul.page-outline { - margin: 0; - padding: 0; -} - -#page-nav ul.page-outline li a { - font-size: var(--toc-font-size) !important; - color: var(--page-secondary-foreground-color) !important; - display: inline-block; - line-height: calc(2 * var(--toc-font-size)); -} - -#page-nav ul.page-outline li a a.anchorlink { - display: none; -} - -#page-nav ul.page-outline li.vis ~ * a { - color: var(--page-foreground-color) !important; -} - -#page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover { - color: var(--primary-color) !important; -} - -#page-nav ul.page-outline .vis { - background: var(--page-background-color); - position: relative; -} - -#page-nav ul.page-outline .vis::after { - content: ""; - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 4px; - background: var(--page-secondary-foreground-color); -} - -#page-nav ul.page-outline .vis:not(.vis ~ .vis)::after { - top: 1px; - border-top-right-radius: var(--border-radius-small); -} - -#page-nav ul.page-outline .vis:not(:has(~ .vis))::after { - bottom: 1px; - border-bottom-right-radius: var(--border-radius-small); -} - - -#page-nav ul.page-outline .arrow { - display: inline-block; -} - -#page-nav ul.page-outline .arrow span { - display: none; -} - -@media screen and (max-width: 767px) { - #container { - grid-template-columns: initial !important; - } - - #page-nav { - display: none; - } -} - -/* - Code & Fragments - */ - -code, div.fragment, pre.fragment, span.tt { - border: 1px solid var(--separator-color); - overflow: hidden; -} - -code, span.tt { - display: inline; - background: var(--code-background); - color: var(--code-foreground); - padding: 2px 6px; - border-radius: var(--border-radius-small); -} - -div.fragment, pre.fragment { - border-radius: var(--border-radius-medium); - margin: var(--spacing-medium) 0; - padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); - background: var(--fragment-background); - 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, - .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, span.tt { - font-family: var(--font-family-monospace); - font-size: var(--code-font-size) !important; -} - -div.line:after { - margin-right: var(--spacing-medium); -} - -div.fragment .line, pre.fragment { - white-space: pre; - word-wrap: initial; - line-height: var(--fragment-lineheight); -} - -div.fragment span.keyword { - color: var(--fragment-keyword); -} - -div.fragment span.keywordtype { - color: var(--fragment-keywordtype); -} - -div.fragment span.keywordflow { - color: var(--fragment-keywordflow); -} - -div.fragment span.stringliteral { - color: var(--fragment-token) -} - -div.fragment span.comment { - color: var(--fragment-comment); -} - -div.fragment a.code { - color: var(--fragment-link) !important; -} - -div.fragment span.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); -} - -div.fragment span.lineno a { - 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); - background-color: var(--fragment-linenumber-background) !important; -} - -div.line { - border-radius: var(--border-radius-small); -} - -div.line.glow { - background-color: var(--primary-light-color); - box-shadow: none; -} - -/* - dl warning, attention, note, deprecated, bug, ... - */ - -dl { - line-height: calc(1.65 * var(--page-font-size)); -} - -dl.bug dt a, dl.deprecated dt a, dl.todo dt a { - font-weight: bold !important; -} - -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; -} - -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.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.todo { - background: var(--todo-color); - border-left: 8px solid var(--todo-color-dark); - color: var(--todo-color-darker); -} - -dl.todo dt a { - color: var(--todo-color-dark) !important; -} - -dl.bug dt a { - 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); -} - -dl.bug dt a { - 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); -} - -dl.deprecated dt a { - color: var(--deprecated-color-dark) !important; -} - -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 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 { - 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 { - box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); -} - -div.memitem { - transition: none; -} - -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; -} - -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); -} - -h2.memtitle > span.permalink { - 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; -} - -h2.memtitle > span.permalink > a:hover { - color: var(--primary-dark-color) !important; -} - -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); - border-top-left-radius: 0; - overflow: hidden; - display: block !important; -} - -div.memdoc { - 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; -} - -div.memtitle { - 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; -} - -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; -} - -table.mlabels, table.mlabels > tbody { - display: block; -} - -td.mlabels-left { - width: auto; -} - -td.mlabels-right { - margin-top: 3px; - position: sticky; - left: 0; -} - -table.mlabels > tbody > tr:first-child { - display: flex; - justify-content: space-between; - flex-wrap: wrap; -} - -.memname, .memitem span.mlabels { - margin: 0 -} - -/* - reflist - */ - -dl.reflist { - 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 { - 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; -} - -/* - Table - */ - -.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):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); -} - -table.markdownTable, table.doxtable, table.fieldtable { - padding: 1px; -} - -table.doxtable caption { - display: block; -} - -table.fieldtable { - border-collapse: collapse; - width: 100%; -} - -th.markdownTableHeadLeft, -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); -} - -th.markdownTableHeadLeft:first-child, -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); -} - -th.markdownTableHeadLeft:last-child, -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); -} - -table.markdownTable td, -table.markdownTable th, -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); -} - -table.markdownTable td:last-child, -table.markdownTable th:last-child, -table.fieldtable td:last-child, -table.fieldtable th:last-child, -table.doxtable td:last-child, -table.doxtable th:last-child { - border-right: none; -} - -table.markdownTable td:first-child, -table.markdownTable th:first-child, -table.fieldtable td:first-child, -table.fieldtable th:first-child, -table.doxtable td:first-child, -table.doxtable th:first-child { - border-left: none; -} - -table.markdownTable tr:first-child td, -table.markdownTable tr:first-child th, -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; -} - -table.markdownTable tr:last-child td, -table.markdownTable tr:last-child th, -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; -} - -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; -} - -.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) { - display: block; -} - -.full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { - display: table; - width: 100%; -} - -table.fieldtable th { - font-size: var(--page-font-size); - font-weight: 600; - background-image: none; - background-color: var(--tablehead-background); - color: var(--tablehead-foreground); -} - -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); -} - -table.fieldtable tr:last-child td:last-child { - border-bottom-right-radius: var(--border-radius-small); -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: var(--primary-light-color); - box-shadow: none; -} - -table.memberdecls { - 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'] .memTemplParams { - font-family: var(--font-family-monospace); - font-size: var(--code-font-size); - color: var(--primary-dark-color); - white-space: normal; -} - -table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft, -table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight, -table.memberdecls td.memItemLeft, -table.memberdecls td.memItemRight, -table.memberdecls .memTemplItemLeft, -table.memberdecls .memTemplItemRight, -table.memberdecls .memTemplParams { - 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); -} - -@media screen and (min-width: 768px) { - - tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { - border-top-right-radius: var(--border-radius-small); - } - - table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { - border-bottom-right-radius: var(--border-radius-small); - } - - table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { - border-bottom-left-radius: var(--border-radius-small); - } - - tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft { - border-top-left-radius: var(--border-radius-small); - } - -} - -table.memname td.memname { - font-size: var(--memname-font-size); -} - -table.memberdecls .memTemplItemLeft, -table.memberdecls .template .memItemLeft, -table.memberdecls .memTemplItemRight, -table.memberdecls .template .memItemRight { - 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); -} - -table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft { - border-radius: 0 0 0 var(--border-radius-small); - border-left: 1px solid var(--separator-color); - border-top: 0; -} - -table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight { - 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; -} - -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; - border: 0; -} - -table.memberdecls [class^="memdesc"] { - box-shadow: none; -} - - -table.memberdecls .memItemLeft, -table.memberdecls .memTemplItemLeft { - padding-right: var(--spacing-medium); -} - -table.memberdecls .memSeparator { - background: var(--page-background-color); - height: var(--spacing-large); - border: 0; - transition: none; -} - -table.memberdecls .groupheader { - 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); -} - -table.memberdecls span.dynarrow { - left: 10px; -} - -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 var(--animation-duration) ease-out; -} - -tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft, tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { - border-top: 1px solid var(--separator-color); -} - -table.memberdecls img { - margin-right: 10px; -} - -table.memberdecls img[src="closed.png"], -div.dynheader img[src="closed.png"] { - transform: rotate(-90deg); - -} - -.compoundTemplParams { - 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, - table.memberdecls .template .memItemLeft, - table.memberdecls .template .memItemRight, - table.memberdecls .template .memParams { - 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, - table.memberdecls .template .memItemLeft { - border-bottom: 0 !important; - padding-bottom: 0 !important; - } - - table.memberdecls .memTemplItemLeft, - table.memberdecls .template .memItemLeft { - padding-top: 0; - } - - table.memberdecls .mdescLeft { - margin-bottom: calc(0px - var(--page-font-size)); - } - - table.memberdecls .memItemRight, - table.memberdecls .mdescRight, - table.memberdecls .memTemplItemRight, - table.memberdecls .template .memItemRight { - border-top: 0 !important; - padding-top: 0 !important; - padding-right: var(--spacing-large); - padding-bottom: var(--spacing-medium); - overflow-x: auto; - } - - table.memberdecls tr[class^='memitem']:not(.inherit) { - display: block; - width: calc(100vw - 2 * var(--spacing-large)); - } - - table.memberdecls .mdescRight { - color: var(--page-foreground-color); - } - - table.memberdecls tr.inherit { - visibility: hidden; - } - - table.memberdecls tr[style="display: table-row;"] { - display: block !important; - visibility: visible; - width: calc(100vw - 2 * var(--spacing-large)); - animation: fade .5s; - } - - @keyframes fade { - 0% { - opacity: 0; - max-height: 0; - } - - 100% { - opacity: 1; - max-height: 200px; - } - } - - tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { - border-top-right-radius: 0; - } - - table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { - border-bottom-right-radius: 0; - } - - table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { - border-bottom-left-radius: 0; - } - - tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft { - border-top-left-radius: 0; - } -} - - -/* - Horizontal Rule - */ - -hr { - 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 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)); - } -} - -/* - Directories - */ -div.directory { - 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%; -} - -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; -} - -table.directory tr.even td:first-child { - 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; -} - -table.directory tr.even:last-child td:first-child { - border-radius: var(--border-radius-small) 0 0 0; -} - -table.directory td.desc { - min-width: 250px; -} - -table.directory tr.even { - background-color: var(--odd-color); -} - -table.directory tr.odd { - background-color: transparent; -} - -.icona { - 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); -} - -.icondoc { - 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)); - } -} - -@media (prefers-color-scheme: dark) { - 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(); -} - -/* - Class list - */ - -.classindex dl.odd { - background: var(--odd-color); - border-radius: var(--border-radius-small); -} - -.classindex dl.even { - background-color: transparent; -} - -/* - Class Index Doxygen 1.8 -*/ - -table.classindex { - 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); -} - -div.qindex { - background-color: var(--odd-color); - border-radius: var(--border-radius-small); - border: 1px solid var(--separator-color); - padding: var(--spacing-small) 0; -} - -/* - Footer and nav-path - */ - -#nav-path { - width: 100%; -} - -#nav-path ul { - background-image: none; - background: var(--page-background-color); - border: none; - border-top: 1px solid var(--separator-color); - border-bottom: 0; - font-size: var(--navigation-font-size); -} - -img.footer { - width: 60px; -} - -.navpath li.footer { - color: var(--page-secondary-foreground-color); -} - -address.footer { - color: var(--page-secondary-foreground-color); - margin-bottom: var(--spacing-large); -} - -#nav-path li.navelem { - background-image: none; - display: flex; - align-items: center; -} - -.navpath li.navelem a { - text-shadow: none; - display: inline-block; - color: var(--primary-color) !important; -} - -.navpath li.navelem a:hover { - text-shadow: none; -} - -.navpath li.navelem b { - color: var(--primary-dark-color); - font-weight: 500; -} - -li.navelem { - padding: 0; - margin-left: -8px; -} - -li.navelem:first-child { - margin-left: var(--spacing-large); -} - -li.navelem:first-child:before { - display: none; -} - -#nav-path ul { - padding-left: 0; -} - -#nav-path li.navelem:has(.el):after { - content: ''; - border: 5px solid var(--page-background-color); - border-bottom-color: transparent; - border-right-color: transparent; - border-top-color: transparent; - transform: translateY(-1px) scaleY(4.2); - z-index: 10; - margin-left: 6px; -} - -#nav-path li.navelem:not(:has(.el)):after { - background: var(--page-background-color); - box-shadow: 1px -1px 0 1px var(--separator-color); - border-radius: 0 var(--border-radius-medium) 0 50px; -} - -#nav-path li.navelem:not(:has(.el)) { - margin-left: 0; -} - -#nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after { - background-color: var(--separator-color); -} - -#nav-path li.navelem:has(.el):before { - content: ''; - border: 5px solid var(--separator-color); - border-bottom-color: transparent; - 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); -} - -/* - Scrollbars for Webkit -*/ - -#nav-tree::-webkit-scrollbar, -div.fragment::-webkit-scrollbar, -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, -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)); -} - -#nav-tree::-webkit-scrollbar-thumb, -div.fragment::-webkit-scrollbar-thumb, -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, -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; -} - -#nav-tree:hover::-webkit-scrollbar-thumb, -div.fragment:hover::-webkit-scrollbar-thumb, -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, -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); -} - -#nav-tree::-webkit-scrollbar-track, -div.fragment::-webkit-scrollbar-track, -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, -div.contents .toc::-webkit-scrollbar-track, -.contents .dotgraph::-webkit-scrollbar-track, -.contents .tabs-overview-container::-webkit-scrollbar-track { - background: transparent; -} - -#nav-tree::-webkit-scrollbar-corner { - background-color: var(--side-nav-background); -} - -#nav-tree, -div.fragment, -pre.fragment, -div.memproto, -.contents center, -.contents .center, -.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, -div.contents .toc { - overflow-x: auto; - overflow-x: overlay; -} - -#nav-tree { - overflow-x: auto; - overflow-y: auto; - overflow-y: overlay; -} - -/* - Scrollbars for Firefox -*/ - -#nav-tree, -div.fragment, -pre.fragment, -div.memproto, -.contents center, -.contents .center, -.contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, -div.contents .toc, -.contents .dotgraph, -.contents .tabs-overview-container { - scrollbar-width: thin; -} - -/* - Optional Dark mode toggle button -*/ - -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-border-radius); - 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 var(--animation-duration) ease-in-out; -} - -doxygen-awesome-dark-mode-toggle:active > svg { - transform: scale(.5); -} - -doxygen-awesome-dark-mode-toggle:hover { - background-color: rgba(0,0,0,.03); -} - -html.dark-mode doxygen-awesome-dark-mode-toggle:hover { - background-color: rgba(0,0,0,.18); -} - -/* - Optional fragment copy button -*/ -.doxygen-awesome-fragment-wrapper { - 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: .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(.91); -} - -doxygen-awesome-fragment-copy-button svg { - fill: var(--fragment-foreground); - width: 18px; - height: 18px; -} - -doxygen-awesome-fragment-copy-button.success svg { - fill: rgb(14, 168, 14); -} - -doxygen-awesome-fragment-copy-button.success { - 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; - } -} - -/* - Optional paragraph link button -*/ - -a.anchorlink { - 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); -} - -h3 a.anchorlink svg, h4 a.anchorlink svg { - margin-bottom: -3px; - margin-top: -4px; -} - -a.anchorlink:hover { - opacity: .45; -} - -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; -} - -.tabbed > ul > li { - display: none; -} - -.tabbed > ul > li.selected { - display: block; -} - -.tabs-overview-container { - overflow-x: auto; - display: block; - overflow-y: visible; -} - -.tabs-overview { - border-bottom: 1px solid var(--separator-color); - display: flex; - flex-direction: row; -} - -@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: 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; - font-weight: normal; - font-family: var(--font-family); - padding: calc(var(--spacing-large) / 2) var(--spacing-large); - border-radius: var(--border-radius-medium); - transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out; -} - -.tabs-overview button.tab-button:not(:last-child) .tab-title { - box-shadow: 8px 0 0 -7px var(--separator-color); -} - -.tabs-overview button.tab-button:hover .tab-title { - background: var(--separator-color); - box-shadow: none; -} - -.tabs-overview button.tab-button.active .tab-title { - font-weight: 600; -} - -.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; -} - -.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; - } -} - -/* - Bordered image -*/ - -html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */ -html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ { - filter: brightness(89%) hue-rotate(180deg) invert(); -} - -.bordered_image { - border-radius: var(--border-radius-small); - border: 1px solid var(--separator-color); - display: inline-block; - overflow: hidden; -} - -.bordered_image:empty { - border: none; -} - -html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */ -html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ { - border-radius: var(--border-radius-small); -} - -/* - Button -*/ - -.primary-button { - display: inline-block; - cursor: pointer; - background: var(--primary-color); - color: var(--page-background-color) !important; - border-radius: var(--border-radius-medium); - padding: var(--spacing-small) var(--spacing-medium); - text-decoration: none; -} - -.primary-button:hover { - background: var(--primary-dark-color); -}
\ No newline at end of file diff --git a/api-docs/cppdocs/header.html b/api-docs/cppdocs/header.html index cf41aa50..a73a36bb 100644 --- a/api-docs/cppdocs/header.html +++ b/api-docs/cppdocs/header.html @@ -1,37 +1,36 @@ -<!-- HTML header for doxygen 1.9.4--> +<!-- HTML header for doxygen 1.15.0--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta name="generator" content="Doxygen $doxygenversion"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> -<!--BEGIN PROJECT_NAME--><title>BinaryNinja C++ API: $title</title><!--END PROJECT_NAME--> -<!--BEGIN !PROJECT_NAME--><title>BinaryNinja C++ API</title><!--END !PROJECT_NAME--> +<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> +<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> +<!--BEGIN PROJECT_ICON--> +<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" /> +<!--END PROJECT_ICON--> <link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/> -<!--BEGIN DISABLE_INDEX--> - <!--BEGIN FULL_SIDEBAR--> +<!--BEGIN FULL_SIDEBAR--> <script type="text/javascript">var page_layout=1;</script> - <!--END FULL_SIDEBAR--> -<!--END DISABLE_INDEX--> +<!--END FULL_SIDEBAR--> <script type="text/javascript" src="$relpath^jquery.js"></script> <script type="text/javascript" src="$relpath^dynsections.js"></script> +<!--BEGIN COPY_CLIPBOARD--> +<script type="text/javascript" src="$relpath^clipboard.js"></script> +<!--END COPY_CLIPBOARD--> $treeview $search $mathjax <link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" /> $extrastylesheet -<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script> -<script type="text/javascript"> - DoxygenAwesomeDarkModeToggle.init() -</script> +<script type="text/javascript" src="$relpath^binaryninja-darkmode.js"></script> </head> <body> -<!--BEGIN DISABLE_INDEX--> - <!--BEGIN FULL_SIDEBAR--> +<!--BEGIN FULL_SIDEBAR--> <div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! --> - <!--END FULL_SIDEBAR--> -<!--END DISABLE_INDEX--> +<!--END FULL_SIDEBAR--> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> @@ -41,7 +40,7 @@ $extrastylesheet <tbody> <tr id="projectrow"> <!--BEGIN PROJECT_LOGO--> - <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td> + <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td> <!--END PROJECT_LOGO--> <!--BEGIN PROJECT_NAME--> <td id="projectalign"> @@ -50,6 +49,11 @@ $extrastylesheet </td> <!--END PROJECT_NAME--> <!--BEGIN !PROJECT_NAME--> + <!--BEGIN PROJECT_BRIEF--> + <td> + <div id="projectbrief">$projectbrief</div> + </td> + <!--END PROJECT_BRIEF--> <!--END !PROJECT_NAME--> <!--BEGIN DISABLE_INDEX--> <!--BEGIN SEARCHENGINE--> |
