From f668e1019717952ace52d1d65509449d937f21b9 Mon Sep 17 00:00:00 2001 From: sciencewhiz Date: Tue, 16 Dec 2025 22:19:47 -0800 Subject: [PATCH] [docs] Update Doxygen Awesome to 2.4.1 (#8494) Supports Doxygen 1.14, and should be better with Doxygen 1.15 that we use, compared to the current version. Improves, but does not fix #8486. The sidebar now covers the search results, rather then both bleeding through image --- docs/theme.css | 538 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 435 insertions(+), 103 deletions(-) diff --git a/docs/theme.css b/docs/theme.css index 01e7dd6425..34c9a985c3 100644 --- a/docs/theme.css +++ b/docs/theme.css @@ -4,32 +4,13 @@ from https://github.com/jothepro/doxygen-awesome-css/blob/28ed396de19cd3d803bcb4 */ /* doxygen-awesome.css */ +/* SPDX-License-Identifier: MIT */ /** Doxygen Awesome https://github.com/jothepro/doxygen-awesome-css -MIT License - -Copyright (c) 2021 - 2023 jothepro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2021 - 2025 jothepro */ @@ -38,6 +19,9 @@ html { --primary-color: #1779c4; --primary-dark-color: #335c80; --primary-light-color: #70b1e9; + --on-primary-color: #ffffff; + + --link-color: var(--primary-color); /* page base colors */ --page-background-color: #ffffff; @@ -48,14 +32,15 @@ html { --separator-color: #dedede; /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ - --border-radius-large: 8px; - --border-radius-small: 4px; - --border-radius-medium: 6px; + --border-radius-large: 10px; + --border-radius-small: 5px; + --border-radius-medium: 8px; /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ --spacing-small: 5px; --spacing-medium: 10px; --spacing-large: 16px; + --spacing-xlarge: 20px; /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); @@ -119,7 +104,7 @@ html { */ --menu-display: block; - --menu-focus-foreground: var(--page-background-color); + --menu-focus-foreground: var(--on-primary-color); --menu-focus-background: var(--primary-color); --menu-selected-background: rgba(0,0,0,.05); @@ -316,10 +301,11 @@ body { font-size: var(--page-font-size); } -body, table, div, p, dl, #nav-tree .label, .title, +body, table, div, p, dl, #nav-tree .label, #nav-tree a, .title, .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, .SelectItem, #MSearchField, .navpath li.navelem a, -.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3 { +.navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3, +#page-nav ul.page-outline li a { font-family: var(--font-family); } @@ -338,11 +324,15 @@ p.reference, p.definition { } a:link, a:visited, a:hover, a:focus, a:active { - color: var(--primary-color) !important; + color: var(--link-color) !important; font-weight: 500; background: none; } +a:hover { + text-decoration: underline; +} + a.anchor { scroll-margin-top: var(--spacing-large); display: block; @@ -355,6 +345,8 @@ a.anchor { #top { background: var(--header-background); border-bottom: 1px solid var(--separator-color); + position: relative; + z-index: 99; } @media screen and (min-width: 768px) { @@ -369,6 +361,7 @@ a.anchor { #main-nav { flex-grow: 5; padding: var(--spacing-small) var(--spacing-medium); + border-bottom: 0; } #titlearea { @@ -448,19 +441,36 @@ a.anchor { } .sm-dox a span.sub-arrow { - border-color: var(--header-foreground) transparent transparent transparent; + top: 15px; + right: 10px; + box-sizing: content-box; + padding: 0; + margin: 0; + display: inline-block; + width: 5px; + height: 5px; + transform: rotate(45deg); + border-width: 0; + border-right: 2px solid var(--header-foreground); + border-bottom: 2px solid var(--header-foreground); + background: none; } .sm-dox a:hover span.sub-arrow { - border-color: var(--menu-focus-foreground) transparent transparent transparent; + border-color: var(--menu-focus-foreground); + background: none; } .sm-dox ul a span.sub-arrow { - border-color: transparent transparent transparent var(--page-foreground-color); + transform: rotate(-45deg); + border-width: 0; + border-right: 2px solid var(--header-foreground); + border-bottom: 2px solid var(--header-foreground); } .sm-dox ul a:hover span.sub-arrow { - border-color: transparent transparent transparent var(--menu-focus-foreground); + border-color: var(--menu-focus-foreground); + background: none; } } @@ -487,7 +497,7 @@ a.anchor { .sm-dox ul a { color: var(--page-foreground-color) !important; - background: var(--page-background-color); + background: none; font-size: var(--navigation-font-size); } @@ -559,6 +569,13 @@ a.anchor { box-shadow: none; display: block; margin-top: 0; + margin-right: 0; +} + +@media (min-width: 768px) { + .sm-dox li { + padding: 0; + } } /* until Doxygen 1.9.4 */ @@ -580,6 +597,17 @@ a.anchor { padding-left: 0 } +/* Doxygen 1.14.0 */ +.search-icon::before { + background: none; + top: 5px; +} + +.search-icon::after { + background: none; + top: 12px; +} + .SelectionMark { user-select: none; } @@ -783,12 +811,15 @@ html.dark-mode iframe#MSearchResults { */ #side-nav { - padding: 0 !important; - background: var(--side-nav-background); min-width: 8px; max-width: 50vw; } + +#nav-tree, #top { + border-right: 1px solid var(--separator-color); +} + @media screen and (max-width: 767px) { #side-nav { display: none; @@ -797,20 +828,42 @@ html.dark-mode iframe#MSearchResults { #doc-content { margin-left: 0 !important; } + + #top { + border-right: none; + } } #nav-tree { - background: transparent; - margin-right: 1px; + background: var(--side-nav-background); + margin-right: -1px; + padding: 0; } #nav-tree .label { font-size: var(--navigation-font-size); + line-height: var(--tree-item-height); +} + +#nav-tree span.label a:hover { + background: none; } #nav-tree .item { height: var(--tree-item-height); line-height: var(--tree-item-height); + overflow: hidden; + text-overflow: ellipsis; + margin: 0; + padding: 0; +} + +#nav-tree-contents { + margin: 0; +} + +#main-menu > li:last-child { + height: auto; } #nav-tree .item > a:focus { @@ -818,17 +871,52 @@ html.dark-mode iframe#MSearchResults { } #nav-sync { - bottom: 12px; - right: 12px; + bottom: var(--spacing-medium); + right: var(--spacing-medium) !important; top: auto !important; user-select: none; } +div.nav-sync-icon { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + background: var(--page-background-color); + width: 30px; + height: 20px; +} + +div.nav-sync-icon:hover { + background: var(--page-background-color); +} + +span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left { + border-left: 2px solid var(--primary-color); + border-top: 2px solid var(--primary-color); + top: 5px; + left: 6px; +} +span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right { + border-right: 2px solid var(--primary-color); + border-bottom: 2px solid var(--primary-color); + top: 5px; + left: initial; + right: 6px; +} + +div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after { + border-top: 2px solid var(--primary-color); + top: 9px; + left: 6px; + width: 19px; +} + #nav-tree .selected { text-shadow: none; background-image: none; background-color: transparent; position: relative; + color: var(--primary-color) !important; + font-weight: 500; } #nav-tree .selected::after { @@ -857,7 +945,24 @@ html.dark-mode iframe#MSearchResults { background: none; } -.arrow { +#nav-tree span.arrowhead { + margin: 0 0 1px 2px; +} + +span.arrowhead { + border-color: var(--primary-light-color); +} + +.selected span.arrowhead { + border-color: var(--primary-color); +} + +#nav-tree-contents > ul > li:first-child > div > a { + opacity: 0; + pointer-events: none; +} + +.contents .arrow { color: inherit; cursor: pointer; font-size: 45%; @@ -865,7 +970,7 @@ html.dark-mode iframe#MSearchResults { margin-right: 2px; font-family: serif; height: auto; - text-align: right; + padding-bottom: 4px; } #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { @@ -879,9 +984,11 @@ html.dark-mode iframe#MSearchResults { } .ui-resizable-e { - width: 4px; - background: transparent; - box-shadow: inset -1px 0 0 0 var(--separator-color); + background: none; +} + +.ui-resizable-e:hover { + background: var(--separator-color); } /* @@ -890,7 +997,7 @@ html.dark-mode iframe#MSearchResults { div.header { border-bottom: 1px solid var(--separator-color); - background-color: var(--page-background-color); + background: none; background-image: none; } @@ -929,7 +1036,7 @@ div.headertitle { div.header .title { font-weight: 600; font-size: 225%; - padding: var(--spacing-medium) var(--spacing-large); + padding: var(--spacing-medium) var(--spacing-xlarge); word-break: break-word; } @@ -946,9 +1053,10 @@ td.memSeparator { span.mlabel { background: var(--primary-color); + color: var(--on-primary-color); border: none; padding: 4px 9px; - border-radius: 12px; + border-radius: var(--border-radius-large); margin-right: var(--spacing-medium); } @@ -957,7 +1065,7 @@ span.mlabel:last-of-type { } div.contents { - padding: 0 var(--spacing-large); + padding: 0 var(--spacing-xlarge); } div.contents p, div.contents li { @@ -968,6 +1076,16 @@ div.contents div.dyncontent { margin: var(--spacing-medium) 0; } +@media screen and (max-width: 767px) { + div.contents { + padding: 0 var(--spacing-large); + } + + div.header .title { + padding: var(--spacing-medium) var(--spacing-large); + } +} + @media (prefers-color-scheme: dark) { html:not(.light-mode) div.contents div.dyncontent img, html:not(.light-mode) div.contents center img, @@ -991,7 +1109,7 @@ html.dark-mode div.contents .dotgraph iframe filter: brightness(89%) hue-rotate(180deg) invert(); } -h2.groupheader { +td h2.groupheader, h2.groupheader { border-bottom: 0px; color: var(--page-foreground-color); box-shadow: @@ -1210,24 +1328,115 @@ div.toc li a.aboveActive { } } +/* + Page Outline (Doxygen >= 1.14.0) +*/ + +#page-nav { + background: var(--page-background-color); + border-left: 1px solid var(--separator-color); +} + +#page-nav #page-nav-resize-handle { + background: var(--separator-color); +} + +#page-nav #page-nav-resize-handle::after { + border-left: 1px solid var(--primary-color); + border-right: 1px solid var(--primary-color); +} + +#page-nav #page-nav-tree #page-nav-contents { + top: var(--spacing-large); +} + +#page-nav ul.page-outline { + margin: 0; + padding: 0; +} + +#page-nav ul.page-outline li a { + font-size: var(--toc-font-size) !important; + color: var(--page-secondary-foreground-color) !important; + display: inline-block; + line-height: calc(2 * var(--toc-font-size)); +} + +#page-nav ul.page-outline li a a.anchorlink { + display: none; +} + +#page-nav ul.page-outline li.vis ~ * a { + color: var(--page-foreground-color) !important; +} + +#page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover { + color: var(--primary-color) !important; +} + +#page-nav ul.page-outline .vis { + background: var(--page-background-color); + position: relative; +} + +#page-nav ul.page-outline .vis::after { + content: ""; + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 4px; + background: var(--page-secondary-foreground-color); +} + +#page-nav ul.page-outline .vis:not(.vis ~ .vis)::after { + top: 1px; + border-top-right-radius: var(--border-radius-small); +} + +#page-nav ul.page-outline .vis:not(:has(~ .vis))::after { + bottom: 1px; + border-bottom-right-radius: var(--border-radius-small); +} + + +#page-nav ul.page-outline .arrow { + display: inline-block; +} + +#page-nav ul.page-outline .arrow span { + display: none; +} + +@media screen and (max-width: 767px) { + #container { + grid-template-columns: initial !important; + } + + #page-nav { + display: none; + } +} + /* Code & Fragments */ -code, div.fragment, pre.fragment { - border-radius: var(--border-radius-small); +code, div.fragment, pre.fragment, span.tt { border: 1px solid var(--separator-color); overflow: hidden; } -code { +code, span.tt { display: inline; background: var(--code-background); color: var(--code-foreground); padding: 2px 6px; + border-radius: var(--border-radius-small); } div.fragment, pre.fragment { + border-radius: var(--border-radius-medium); margin: var(--spacing-medium) 0; padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); background: var(--fragment-background); @@ -1285,7 +1494,7 @@ div.fragment, pre.fragment { } } -code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span, span.tt { font-family: var(--font-family-monospace); font-size: var(--code-font-size) !important; } @@ -1359,6 +1568,10 @@ div.line.glow { dl warning, attention, note, deprecated, bug, ... */ +dl { + line-height: calc(1.65 * var(--page-font-size)); +} + dl.bug dt a, dl.deprecated dt a, dl.todo dt a { font-weight: bold !important; } @@ -1524,6 +1737,7 @@ div.memitem { border-top-right-radius: var(--border-radius-medium); border-bottom-right-radius: var(--border-radius-medium); border-bottom-left-radius: var(--border-radius-medium); + border-top-left-radius: 0; overflow: hidden; display: block !important; } @@ -1755,7 +1969,7 @@ table.fieldtable th { color: var(--tablehead-foreground); } -table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fielddoc, .fieldtable th { +table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th { border-bottom: 1px solid var(--separator-color); border-right: 1px solid var(--separator-color); } @@ -1790,8 +2004,10 @@ table.memberdecls tr[class^='memitem'] .memTemplParams { white-space: normal; } -table.memberdecls .memItemLeft, -table.memberdecls .memItemRight, +table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft, +table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight, +table.memberdecls td.memItemLeft, +table.memberdecls td.memItemRight, table.memberdecls .memTemplItemLeft, table.memberdecls .memTemplItemRight, table.memberdecls .memTemplParams { @@ -1803,8 +2019,34 @@ table.memberdecls .memTemplParams { background-color: var(--fragment-background); } +@media screen and (min-width: 768px) { + + tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top-right-radius: var(--border-radius-small); + } + + table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: var(--border-radius-small); + } + + table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: var(--border-radius-small); + } + + tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top-left-radius: var(--border-radius-small); + } + +} + +table.memname td.memname { + font-size: var(--memname-font-size); +} + table.memberdecls .memTemplItemLeft, -table.memberdecls .memTemplItemRight { +table.memberdecls .template .memItemLeft, +table.memberdecls .memTemplItemRight, +table.memberdecls .template .memItemRight { padding-top: 2px; } @@ -1816,13 +2058,13 @@ table.memberdecls .memTemplParams { padding-bottom: var(--spacing-small); } -table.memberdecls .memTemplItemLeft { +table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft { border-radius: 0 0 0 var(--border-radius-small); border-left: 1px solid var(--separator-color); border-top: 0; } -table.memberdecls .memTemplItemRight { +table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight { border-radius: 0 0 var(--border-radius-small) 0; border-right: 1px solid var(--separator-color); padding-left: 0; @@ -1848,8 +2090,14 @@ table.memberdecls .mdescLeft, table.memberdecls .mdescRight { background: none; color: var(--page-foreground-color); padding: var(--spacing-small) 0; + border: 0; } +table.memberdecls [class^="memdesc"] { + box-shadow: none; +} + + table.memberdecls .memItemLeft, table.memberdecls .memTemplItemLeft { padding-right: var(--spacing-medium); @@ -1872,6 +2120,10 @@ table.memberdecls .inherit_header td { color: var(--page-secondary-foreground-color); } +table.memberdecls span.dynarrow { + left: 10px; +} + table.memberdecls img[src="closed.png"], table.memberdecls img[src="open.png"], div.dynheader img[src="open.png"], @@ -1888,6 +2140,10 @@ div.dynheader img[src="closed.png"] { transition: transform var(--animation-duration) ease-out; } +tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft, tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top: 1px solid var(--separator-color); +} + table.memberdecls img { margin-right: 10px; } @@ -1912,7 +2168,10 @@ div.dynheader img[src="closed.png"] { table.memberdecls .mdescRight, table.memberdecls .memTemplItemLeft, table.memberdecls .memTemplItemRight, - table.memberdecls .memTemplParams { + table.memberdecls .memTemplParams, + table.memberdecls .template .memItemLeft, + table.memberdecls .template .memItemRight, + table.memberdecls .template .memParams { display: block; text-align: left; padding-left: var(--spacing-large); @@ -1925,12 +2184,14 @@ div.dynheader img[src="closed.png"] { table.memberdecls .memItemLeft, table.memberdecls .mdescLeft, - table.memberdecls .memTemplItemLeft { - border-bottom: 0; - padding-bottom: 0; + table.memberdecls .memTemplItemLeft, + table.memberdecls .template .memItemLeft { + border-bottom: 0 !important; + padding-bottom: 0 !important; } - table.memberdecls .memTemplItemLeft { + table.memberdecls .memTemplItemLeft, + table.memberdecls .template .memItemLeft { padding-top: 0; } @@ -1940,10 +2201,12 @@ div.dynheader img[src="closed.png"] { table.memberdecls .memItemRight, table.memberdecls .mdescRight, - table.memberdecls .memTemplItemRight { - border-top: 0; - padding-top: 0; + table.memberdecls .memTemplItemRight, + table.memberdecls .template .memItemRight { + border-top: 0 !important; + padding-top: 0 !important; padding-right: var(--spacing-large); + padding-bottom: var(--spacing-medium); overflow-x: auto; } @@ -1978,6 +2241,22 @@ div.dynheader img[src="closed.png"] { max-height: 200px; } } + + tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top-right-radius: 0; + } + + table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: 0; + } + + table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: 0; + } + + tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top-left-radius: 0; + } } @@ -2166,9 +2445,7 @@ div.qindex { background: var(--page-background-color); border: none; border-top: 1px solid var(--separator-color); - border-bottom: 1px solid var(--separator-color); border-bottom: 0; - box-shadow: 0 0.75px 0 var(--separator-color); font-size: var(--navigation-font-size); } @@ -2197,6 +2474,10 @@ address.footer { color: var(--primary-color) !important; } +.navpath li.navelem a:hover { + text-shadow: none; +} + .navpath li.navelem b { color: var(--primary-dark-color); font-weight: 500; @@ -2215,7 +2496,11 @@ li.navelem:first-child:before { display: none; } -#nav-path li.navelem:after { +#nav-path ul { + padding-left: 0; +} + +#nav-path li.navelem:has(.el):after { content: ''; border: 5px solid var(--page-background-color); border-bottom-color: transparent; @@ -2226,7 +2511,21 @@ li.navelem:first-child:before { margin-left: 6px; } -#nav-path li.navelem:before { +#nav-path li.navelem:not(:has(.el)):after { + background: var(--page-background-color); + box-shadow: 1px -1px 0 1px var(--separator-color); + border-radius: 0 var(--border-radius-medium) 0 50px; +} + +#nav-path li.navelem:not(:has(.el)) { + margin-left: 0; +} + +#nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after { + background-color: var(--separator-color); +} + +#nav-path li.navelem:has(.el):before { content: ''; border: 5px solid var(--separator-color); border-bottom-color: transparent; @@ -2352,7 +2651,7 @@ doxygen-awesome-dark-mode-toggle { height: var(--searchbar-height); background: none; border: none; - border-radius: var(--searchbar-height); + border-radius: var(--searchbar-border-radius); vertical-align: middle; text-align: center; line-height: var(--searchbar-height); @@ -2537,6 +2836,7 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a. float: left; white-space: nowrap; font-weight: normal; + font-family: var(--font-family); padding: calc(var(--spacing-large) / 2) var(--spacing-large); border-radius: var(--border-radius-medium); transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out; @@ -2682,38 +2982,62 @@ h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a. } } +/* + 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); +} + /* doxygen-awesome-sidebar-only.css */ +/* SPDX-License-Identifier: MIT */ /** Doxygen Awesome https://github.com/jothepro/doxygen-awesome-css -MIT License - -Copyright (c) 2021 - 2023 jothepro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2021 - 2025 jothepro */ - html { +html { /* side nav width. MUST be = `TREEVIEW_WIDTH`. * Make sure it is wide enough to contain the page title (logo + title + version) */ @@ -2746,10 +3070,6 @@ SOFTWARE. height: calc(100vh - var(--top-height)) !important; } - #nav-tree { - padding: 0; - } - #top { display: block; border-bottom: none; @@ -2759,22 +3079,24 @@ SOFTWARE. overflow: hidden; background: var(--side-nav-background); } + #main-nav { float: left; padding-right: 0; } .ui-resizable-handle { - cursor: default; - width: 1px !important; - background: var(--separator-color); - box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); + display: none; + } + + .ui-resizable-e { + width: 0; } #nav-path { position: fixed; right: 0; - left: var(--side-nav-fixed-width); + left: calc(var(--side-nav-fixed-width) + 1px); bottom: 0; width: auto; } @@ -2799,4 +3121,14 @@ SOFTWARE. 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 + } }