gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
docs/api/doxygen-awesome.css
1 /* SPDX-License-Identifier: MIT */
2 /**
3
4 Doxygen Awesome
5 https://github.com/jothepro/doxygen-awesome-css
6
7 Copyright (c) 2021 - 2025 jothepro
8
9 */
10
11 html {
12 /* Less game between content root level ol and ul lists and preceding block level element */
13 div > ol, div > ul {
14 margin-top: -0.50em;
15 }
16
17 /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
18 --primary-color: #1779c4;
19 --primary-dark-color: #335c80;
20 --primary-light-color: #70b1e9;
21 --on-primary-color: #ffffff;
22
23 --link-color: var(--primary-color);
24
25 /* page base colors */
26 --page-background-color: #ffffff;
27 --page-foreground-color: #2f4153;
28 --page-secondary-foreground-color: #6f7e8e;
29
30 /* color for all separators on the website: hr, borders, ... */
31 --separator-color: #dedede;
32
33 /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
34 --border-radius-large: 10px;
35 --border-radius-small: 5px;
36 --border-radius-medium: 8px;
37
38 /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */
39 --spacing-small: 5px;
40 --spacing-medium: 10px;
41 --spacing-large: 16px;
42 --spacing-xlarge: 20px;
43
44 /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */
45 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
46
47 --odd-color: rgba(0,0,0,.028);
48
49 /* font-families. will affect all text on the website
50 * font-family: the normal font for text, headlines, menus
51 * font-family-monospace: used for preformatted text in memtitle, code, fragments
52 */
53 --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
54 --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
55
56 /* font sizes */
57 --page-font-size: 15.6px;
58 --navigation-font-size: 14.4px;
59 --toc-font-size: 13.4px;
60 --code-font-size: 14px; /* affects code, fragment */
61 --title-font-size: 22px;
62
63 /* content text properties. These only affect the page content, not the navigation or any other ui elements */
64 --content-line-height: 27px;
65 /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/
66 --content-maxwidth: 1050px;
67 --table-line-height: 24px;
68 --toc-sticky-top: var(--spacing-medium);
69 --toc-width: 200px;
70 --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px);
71
72 /* colors for various content boxes: @warning, @note, @deprecated @bug */
73 --warning-color: #faf3d8;
74 --warning-color-dark: #f3a600;
75 --warning-color-darker: #5f4204;
76 --note-color: #e4f3ff;
77 --note-color-dark: #1879C4;
78 --note-color-darker: #274a5c;
79 --todo-color: #e4dafd;
80 --todo-color-dark: #5b2bdd;
81 --todo-color-darker: #2a0d72;
82 --deprecated-color: #ecf0f3;
83 --deprecated-color-dark: #5b6269;
84 --deprecated-color-darker: #43454a;
85 --bug-color: #f8d1cc;
86 --bug-color-dark: #b61825;
87 --bug-color-darker: #75070f;
88 --invariant-color: #d8f1e3;
89 --invariant-color-dark: #44b86f;
90 --invariant-color-darker: #265532;
91
92 /* blockquote colors */
93 --blockquote-background: #f8f9fa;
94 --blockquote-foreground: #636568;
95
96 /* table colors */
97 --tablehead-background: #f1f1f1;
98 --tablehead-foreground: var(--page-foreground-color);
99
100 /* menu-display: block | none
101 * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.
102 * `GENERATE_TREEVIEW` MUST be enabled!
103 */
104 --menu-display: block;
105
106 --menu-focus-foreground: var(--on-primary-color);
107 --menu-focus-background: var(--primary-color);
108 --menu-selected-background: rgba(0,0,0,.05);
109
110
111 --header-background: var(--page-background-color);
112 --header-foreground: var(--page-foreground-color);
113
114 /* searchbar colors */
115 --searchbar-background: var(--side-nav-background);
116 --searchbar-foreground: var(--page-foreground-color);
117
118 /* searchbar size
119 * (`searchbar-width` is only applied on screens >= 768px.
120 * on smaller screens the searchbar will always fill the entire screen width) */
121 --searchbar-height: 33px;
122 --searchbar-width: 210px;
123 --searchbar-border-radius: var(--searchbar-height);
124
125 /* code block colors */
126 --code-background: #def1fd;
127 --code-foreground: var(--page-foreground-color);
128 --code-separator-color: #cae2ec;
129
130 /* fragment colors */
131 --fragment-background: #F8F9FA;
132 --fragment-foreground: #37474F;
133 --fragment-keyword: #bb6bb2;
134 --fragment-keywordtype: #8258b3;
135 --fragment-keywordflow: #d67c3b;
136 --fragment-token: #438a59;
137 --fragment-comment: #969696;
138 --fragment-link: #5383d6;
139 --fragment-preprocessor: #46aaa5;
140 --fragment-linenumber-color: #797979;
141 --fragment-linenumber-background: #f4f4f5;
142 --fragment-linenumber-border: #e3e5e7;
143 --fragment-lineheight: 20px;
144
145 /* sidebar navigation (treeview) colors */
146 --side-nav-background: #fbfbfb;
147 --side-nav-foreground: var(--page-foreground-color);
148 --side-nav-arrow-opacity: 0;
149 --side-nav-arrow-hover-opacity: 0.9;
150
151 --toc-background: var(--side-nav-background);
152 --toc-foreground: var(--side-nav-foreground);
153
154 /* height of an item in any tree / collapsible table */
155 --tree-item-height: 30px;
156
157 --memname-font-size: var(--code-font-size);
158 --memtitle-font-size: 18px;
159
160 --webkit-scrollbar-size: 7px;
161 --webkit-scrollbar-padding: 4px;
162 --webkit-scrollbar-color: var(--separator-color);
163
164 --animation-duration: 0.02s
165 }
166
167 @media screen and (max-width: 767px) {
168 html {
169 --page-font-size: 16px;
170 --navigation-font-size: 16px;
171 --toc-font-size: 15px;
172 --code-font-size: 15px; /* affects code, fragment */
173 --title-font-size: 22px;
174 }
175 }
176
177 @media (prefers-color-scheme: dark) {
178 html:not(.light-mode) {
179 color-scheme: dark;
180
181 --primary-color: #1982d2;
182 --primary-dark-color: #86a9c4;
183 --primary-light-color: #4779ac;
184
185 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35);
186
187 --odd-color: rgba(100,100,100,.06);
188
189 --menu-selected-background: rgba(0,0,0,.4);
190
191 --page-background-color: #1C1D1F;
192 --page-foreground-color: #d2dbde;
193 --page-secondary-foreground-color: #859399;
194 --separator-color: #38393b;
195 --side-nav-background: #252628;
196
197 --code-background: #223c5e;
198 --code-foreground: #a4c5d4;
199 --code-separator-color: #ffffff00; /* transparent */
200
201 --tablehead-background: #2a2c2f;
202
203 --blockquote-background: #222325;
204 --blockquote-foreground: #7e8c92;
205
206 --warning-color: #3b2e04;
207 --warning-color-dark: #f1b602;
208 --warning-color-darker: #ceb670;
209 --note-color: #163750;
210 --note-color-dark: #1982D2;
211 --note-color-darker: #dcf0fa;
212 --todo-color: #2a2536;
213 --todo-color-dark: #7661b3;
214 --todo-color-darker: #ae9ed6;
215 --deprecated-color: #2e323b;
216 --deprecated-color-dark: #738396;
217 --deprecated-color-darker: #abb0bd;
218 --bug-color: #2e1917;
219 --bug-color-dark: #ad2617;
220 --bug-color-darker: #f5b1aa;
221 --invariant-color: #303a35;
222 --invariant-color-dark: #76ce96;
223 --invariant-color-darker: #cceed5;
224
225 --fragment-background: #282c34;
226 --fragment-foreground: #dbe4eb;
227 --fragment-keyword: #cc99cd;
228 --fragment-keywordtype: #ab99cd;
229 --fragment-keywordflow: #e08000;
230 --fragment-token: #7ec699;
231 --fragment-comment: #999999;
232 --fragment-link: #98c0e3;
233 --fragment-preprocessor: #65cabe;
234 --fragment-linenumber-color: #cccccc;
235 --fragment-linenumber-background: #35393c;
236 --fragment-linenumber-border: #1f1f1f;
237 }
238 }
239
240 /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */
241 html.dark-mode {
242 color-scheme: dark;
243
244 --primary-color: #1982d2;
245 --primary-dark-color: #86a9c4;
246 --primary-light-color: #4779ac;
247
248 --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30);
249
250 --odd-color: rgba(100,100,100,.06);
251
252 --menu-selected-background: rgba(0,0,0,.4);
253
254 --page-background-color: #1C1D1F;
255 --page-foreground-color: #d2dbde;
256 --page-secondary-foreground-color: #859399;
257 --separator-color: #38393b;
258 --side-nav-background: #252628;
259
260 --tablehead-background: #2a2c2f;
261
262 --blockquote-background: #222325;
263 --blockquote-foreground: #7e8c92;
264
265 --warning-color: #3b2e04;
266 --warning-color-dark: #f1b602;
267 --warning-color-darker: #ceb670;
268 --note-color: #163750;
269 --note-color-dark: #1982D2;
270 --note-color-darker: #dcf0fa;
271 --todo-color: #2a2536;
272 --todo-color-dark: #7661b3;
273 --todo-color-darker: #ae9ed6;
274 --deprecated-color: #2e323b;
275 --deprecated-color-dark: #738396;
276 --deprecated-color-darker: #abb0bd;
277 --bug-color: #2e1917;
278 --bug-color-dark: #ad2617;
279 --bug-color-darker: #f5b1aa;
280 --invariant-color: #303a35;
281 --invariant-color-dark: #76ce96;
282 --invariant-color-darker: #cceed5;
283
284 --fragment-background: #282c34;
285 --fragment-foreground: #dbe4eb;
286 --fragment-keyword: #cc99cd;
287 --fragment-keywordtype: #ab99cd;
288 --fragment-keywordflow: #e08000;
289 --fragment-token: #7ec699;
290 --fragment-comment: #999999;
291 --fragment-link: #98c0e3;
292 --fragment-preprocessor: #65cabe;
293 --fragment-linenumber-color: #cccccc;
294 --fragment-linenumber-background: #35393c;
295 --fragment-linenumber-border: #1f1f1f;
296 }
297
298 body {
299 color: var(--page-foreground-color);
300 background-color: var(--page-background-color);
301 font-size: var(--page-font-size);
302 }
303
304 body, table, div, p, dl, #nav-tree .label, #nav-tree a, .title,
305 .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,
306 .SelectItem, #MSearchField, .navpath li.navelem a,
307 .navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3,
308 #page-nav ul.page-outline li a {
309 font-family: var(--font-family);
310 }
311
312 h1, h2, h3, h4, h5 {
313 margin-top: 1em;
314 font-weight: 600;
315 line-height: initial;
316 }
317
318 p, div, table, dl, p.reference, p.definition {
319 font-size: var(--page-font-size);
320 }
321
322 p.reference, p.definition {
323 color: var(--page-secondary-foreground-color);
324 }
325
326 a:link, a:visited, a:hover, a:focus, a:active {
327 color: var(--link-color) !important;
328 font-weight: 500;
329 background: none;
330 }
331
332 a:hover {
333 text-decoration: underline;
334 }
335
336 a.anchor {
337 scroll-margin-top: var(--spacing-large);
338 display: block;
339 }
340
341 /*
342 Title and top navigation
343 */
344
345 #top {
346 background: var(--header-background);
347 border-bottom: 1px solid var(--separator-color);
348 position: relative;
349 z-index: 99;
350 }
351
352 @media screen and (min-width: 768px) {
353 #top {
354 display: flex;
355 flex-wrap: wrap;
356 justify-content: space-between;
357 align-items: center;
358 }
359 }
360
361 #main-nav {
362 flex-grow: 5;
363 padding: var(--spacing-small) var(--spacing-medium);
364 border-bottom: 0;
365 }
366
367 #titlearea {
368 width: auto;
369 padding: var(--spacing-medium) var(--spacing-large);
370 background: none;
371 color: var(--header-foreground);
372 border-bottom: none;
373 }
374
375 @media screen and (max-width: 767px) {
376 #titlearea {
377 padding-bottom: var(--spacing-small);
378 }
379 }
380
381 #titlearea table tbody tr {
382 height: auto !important;
383 }
384
385 #projectname {
386 font-size: var(--title-font-size);
387 font-weight: 600;
388 }
389
390 #projectnumber {
391 font-family: inherit;
392 font-size: 60%;
393 }
394
395 #projectbrief {
396 font-family: inherit;
397 font-size: 80%;
398 }
399
400 #projectlogo {
401 vertical-align: middle;
402 }
403
404 #projectlogo img {
405 max-height: calc(var(--title-font-size) * 2);
406 margin-right: var(--spacing-small);
407 }
408
409 .sm-dox, .tabs, .tabs2, .tabs3 {
410 background: none;
411 padding: 0;
412 }
413
414 .tabs, .tabs2, .tabs3 {
415 border-bottom: 1px solid var(--separator-color);
416 margin-bottom: -1px;
417 }
418
419 .main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
420 background: var(--page-secondary-foreground-color);
421 }
422
423 @media screen and (max-width: 767px) {
424 .sm-dox a span.sub-arrow {
425 background: var(--code-background);
426 }
427
428 #main-menu a.has-submenu span.sub-arrow {
429 color: var(--page-secondary-foreground-color);
430 border-radius: var(--border-radius-medium);
431 }
432
433 #main-menu a.has-submenu:hover span.sub-arrow {
434 color: var(--page-foreground-color);
435 }
436 }
437
438 @media screen and (min-width: 768px) {
439 .sm-dox li, .tablist li {
440 display: var(--menu-display);
441 }
442
443 .sm-dox a span.sub-arrow {
444 top: 15px;
445 right: 10px;
446 box-sizing: content-box;
447 padding: 0;
448 margin: 0;
449 display: inline-block;
450 width: 5px;
451 height: 5px;
452 transform: rotate(45deg);
453 border-width: 0;
454 border-right: 2px solid var(--header-foreground);
455 border-bottom: 2px solid var(--header-foreground);
456 background: none;
457 }
458
459 .sm-dox a:hover span.sub-arrow {
460 border-color: var(--menu-focus-foreground);
461 background: none;
462 }
463
464 .sm-dox ul a span.sub-arrow {
465 transform: rotate(-45deg);
466 border-width: 0;
467 border-right: 2px solid var(--header-foreground);
468 border-bottom: 2px solid var(--header-foreground);
469 }
470
471 .sm-dox ul a:hover span.sub-arrow {
472 border-color: var(--menu-focus-foreground);
473 background: none;
474 }
475 }
476
477 .sm-dox ul {
478 background: var(--page-background-color);
479 box-shadow: var(--box-shadow);
480 border: 1px solid var(--separator-color);
481 border-radius: var(--border-radius-medium) !important;
482 padding: var(--spacing-small);
483 animation: ease-out 25ms slideInMenu;
484 }
485
486 @keyframes slideInMenu {
487 from {
488 opacity: 0;
489 transform: translate(0px, -2px);
490 }
491
492 to {
493 opacity: 1;
494 transform: translate(0px, 0px);
495 }
496 }
497
498 .sm-dox ul a {
499 color: var(--page-foreground-color) !important;
500 background: none;
501 font-size: var(--navigation-font-size);
502 }
503
504 .sm-dox>li>ul:after {
505 border-bottom-color: var(--page-background-color) !important;
506 }
507
508 .sm-dox>li>ul:before {
509 border-bottom-color: var(--separator-color) !important;
510 }
511
512 .sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
513 font-size: var(--navigation-font-size) !important;
514 color: var(--menu-focus-foreground) !important;
515 text-shadow: none;
516 background-color: var(--menu-focus-background);
517 border-radius: var(--border-radius-small) !important;
518 }
519
520 .sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
521 text-shadow: none;
522 background: transparent;
523 background-image: none !important;
524 color: var(--header-foreground) !important;
525 font-weight: normal;
526 font-size: var(--navigation-font-size);
527 border-radius: var(--border-radius-small) !important;
528 }
529
530 .sm-dox a:focus {
531 outline: auto;
532 }
533
534 .sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
535 text-shadow: none;
536 font-weight: normal;
537 background: var(--menu-focus-background);
538 color: var(--menu-focus-foreground) !important;
539 border-radius: var(--border-radius-small) !important;
540 font-size: var(--navigation-font-size);
541 }
542
543 .tablist li.current {
544 border-radius: var(--border-radius-small);
545 background: var(--menu-selected-background);
546 }
547
548 .tablist li {
549 margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);
550 }
551
552 .tablist a {
553 padding: 0 var(--spacing-large);
554 }
555
556
557 /*
558 Search box
559 */
560
561 #MSearchBox {
562 height: var(--searchbar-height);
563 background: var(--searchbar-background);
564 border-radius: var(--searchbar-border-radius);
565 border: 1px solid var(--separator-color);
566 overflow: hidden;
567 width: var(--searchbar-width);
568 position: relative;
569 box-shadow: none;
570 display: block;
571 margin-top: 0;
572 margin-right: 0;
573 }
574
575 @media (min-width: 768px) {
576 .sm-dox li {
577 padding: 0;
578 }
579 }
580
581 /* until Doxygen 1.9.4 */
582 .left img#MSearchSelect {
583 left: 0;
584 user-select: none;
585 padding-left: 8px;
586 }
587
588 /* Doxygen 1.9.5 */
589 .left span#MSearchSelect {
590 left: 0;
591 user-select: none;
592 margin-left: 8px;
593 padding: 0;
594 }
595
596 .left #MSearchSelect[src$=".png"] {
597 padding-left: 0
598 }
599
600 /* Doxygen 1.14.0 */
601 .search-icon::before {
602 background: none;
603 top: 5px;
604 }
605
606 .search-icon::after {
607 background: none;
608 top: 12px;
609 }
610
611 .SelectionMark {
612 user-select: none;
613 }
614
615 .tabs .left #MSearchSelect {
616 padding-left: 0;
617 }
618
619 .tabs #MSearchBox {
620 position: absolute;
621 right: var(--spacing-medium);
622 }
623
624 @media screen and (max-width: 767px) {
625 .tabs #MSearchBox {
626 position: relative;
627 right: 0;
628 margin-left: var(--spacing-medium);
629 margin-top: 0;
630 }
631 }
632
633 #MSearchSelectWindow, #MSearchResultsWindow {
634 z-index: 9999;
635 }
636
637 #MSearchBox.MSearchBoxActive {
638 border-color: var(--primary-color);
639 box-shadow: inset 0 0 0 1px var(--primary-color);
640 }
641
642 #main-menu > li:last-child {
643 margin-right: 0;
644 }
645
646 @media screen and (max-width: 767px) {
647 #main-menu > li:last-child {
648 height: 50px;
649 }
650 }
651
652 #MSearchField {
653 font-size: var(--navigation-font-size);
654 height: calc(var(--searchbar-height) - 2px);
655 background: transparent;
656 width: calc(var(--searchbar-width) - 64px);
657 }
658
659 .MSearchBoxActive #MSearchField {
660 color: var(--searchbar-foreground);
661 }
662
663 #MSearchSelect {
664 top: calc(calc(var(--searchbar-height) / 2) - 11px);
665 }
666
667 #MSearchBox span.left, #MSearchBox span.right {
668 background: none;
669 background-image: none;
670 }
671
672 #MSearchBox span.right {
673 padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);
674 position: absolute;
675 right: var(--spacing-small);
676 }
677
678 .tabs #MSearchBox span.right {
679 top: calc(calc(var(--searchbar-height) / 2) - 12px);
680 }
681
682 @keyframes slideInSearchResults {
683 from {
684 opacity: 0;
685 transform: translate(0, 15px);
686 }
687
688 to {
689 opacity: 1;
690 transform: translate(0, 20px);
691 }
692 }
693
694 #MSearchResultsWindow {
695 left: auto !important;
696 right: var(--spacing-medium);
697 border-radius: var(--border-radius-large);
698 border: 1px solid var(--separator-color);
699 transform: translate(0, 20px);
700 box-shadow: var(--box-shadow);
701 animation: ease-out 25ms slideInSearchResults;
702 background: var(--page-background-color);
703 }
704
705 iframe#MSearchResults {
706 margin: 4px;
707 }
708
709 iframe {
710 color-scheme: normal;
711 }
712
713 @media (prefers-color-scheme: dark) {
714 html:not(.light-mode) iframe#MSearchResults {
715 filter: invert() hue-rotate(180deg);
716 }
717 }
718
719 html.dark-mode iframe#MSearchResults {
720 filter: invert() hue-rotate(180deg);
721 }
722
723 #MSearchResults .SRPage {
724 background-color: transparent;
725 }
726
727 #MSearchResults .SRPage .SREntry {
728 font-size: 10pt;
729 padding: var(--spacing-small) var(--spacing-medium);
730 }
731
732 #MSearchSelectWindow {
733 border: 1px solid var(--separator-color);
734 border-radius: var(--border-radius-medium);
735 box-shadow: var(--box-shadow);
736 background: var(--page-background-color);
737 padding-top: var(--spacing-small);
738 padding-bottom: var(--spacing-small);
739 }
740
741 #MSearchSelectWindow a.SelectItem {
742 font-size: var(--navigation-font-size);
743 line-height: var(--content-line-height);
744 margin: 0 var(--spacing-small);
745 border-radius: var(--border-radius-small);
746 color: var(--page-foreground-color) !important;
747 font-weight: normal;
748 }
749
750 #MSearchSelectWindow a.SelectItem:hover {
751 background: var(--menu-focus-background);
752 color: var(--menu-focus-foreground) !important;
753 }
754
755 @media screen and (max-width: 767px) {
756 #MSearchBox {
757 margin-top: var(--spacing-medium);
758 margin-bottom: var(--spacing-medium);
759 width: calc(100vw - 30px);
760 }
761
762 #main-menu > li:last-child {
763 float: none !important;
764 }
765
766 #MSearchField {
767 width: calc(100vw - 110px);
768 }
769
770 @keyframes slideInSearchResultsMobile {
771 from {
772 opacity: 0;
773 transform: translate(0, 15px);
774 }
775
776 to {
777 opacity: 1;
778 transform: translate(0, 20px);
779 }
780 }
781
782 #MSearchResultsWindow {
783 left: var(--spacing-medium) !important;
784 right: var(--spacing-medium);
785 overflow: auto;
786 transform: translate(0, 20px);
787 animation: ease-out 25ms slideInSearchResultsMobile;
788 width: auto !important;
789 }
790
791 /*
792 * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2
793 */
794 label.main-menu-btn ~ #searchBoxPos1 {
795 top: 3px !important;
796 right: 6px !important;
797 left: 45px;
798 display: flex;
799 }
800
801 label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox {
802 margin-top: 0;
803 margin-bottom: 0;
804 flex-grow: 2;
805 float: left;
806 }
807 }
808
809 /*
810 Tree view
811 */
812
813 #side-nav {
814 min-width: 8px;
815 max-width: 50vw;
816 }
817
818
819 #nav-tree, #top {
820 border-right: 1px solid var(--separator-color);
821 }
822
823 @media screen and (max-width: 767px) {
824 #side-nav {
825 display: none;
826 }
827
828 #doc-content {
829 margin-left: 0 !important;
830 }
831
832 #top {
833 border-right: none;
834 }
835 }
836
837 #nav-tree {
838 background: var(--side-nav-background);
839 margin-right: -1px;
840 padding: 0;
841 }
842
843 #nav-tree .label {
844 font-size: var(--navigation-font-size);
845 line-height: var(--tree-item-height);
846 }
847
848 #nav-tree span.label a:hover {
849 background: none;
850 }
851
852 #nav-tree .item {
853 height: var(--tree-item-height);
854 line-height: var(--tree-item-height);
855 overflow: hidden;
856 text-overflow: ellipsis;
857 margin: 0;
858 padding: 0;
859 }
860
861 #nav-tree-contents {
862 margin: 0;
863 }
864
865 #main-menu > li:last-child {
866 height: auto;
867 }
868
869 #nav-tree .item > a:focus {
870 outline: none;
871 }
872
873 #nav-sync {
874 bottom: var(--spacing-medium);
875 right: var(--spacing-medium) !important;
876 top: auto !important;
877 user-select: none;
878 }
879
880 div.nav-sync-icon {
881 border: 1px solid var(--separator-color);
882 border-radius: var(--border-radius-medium);
883 background: var(--page-background-color);
884 width: 30px;
885 height: 20px;
886 }
887
888 div.nav-sync-icon:hover {
889 background: var(--page-background-color);
890 }
891
892 span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left {
893 border-left: 2px solid var(--primary-color);
894 border-top: 2px solid var(--primary-color);
895 top: 5px;
896 left: 6px;
897 }
898 span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right {
899 border-right: 2px solid var(--primary-color);
900 border-bottom: 2px solid var(--primary-color);
901 top: 5px;
902 left: initial;
903 right: 6px;
904 }
905
906 div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after {
907 border-top: 2px solid var(--primary-color);
908 top: 9px;
909 left: 6px;
910 width: 19px;
911 }
912
913 #nav-tree .selected {
914 text-shadow: none;
915 background-image: none;
916 background-color: transparent;
917 position: relative;
918 color: var(--primary-color) !important;
919 font-weight: 500;
920 }
921
922 #nav-tree .selected::after {
923 content: "";
924 position: absolute;
925 top: 1px;
926 bottom: 1px;
927 left: 0;
928 width: 4px;
929 border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
930 background: var(--primary-color);
931 }
932
933
934 #nav-tree a {
935 color: var(--side-nav-foreground) !important;
936 font-weight: normal;
937 }
938
939 #nav-tree a:focus {
940 outline-style: auto;
941 }
942
943 #nav-tree .arrow {
944 opacity: var(--side-nav-arrow-opacity);
945 background: none;
946 }
947
948 #nav-tree span.arrowhead {
949 margin: 0 0 1px 2px;
950 }
951
952 span.arrowhead {
953 border-color: var(--primary-light-color);
954 }
955
956 .selected span.arrowhead {
957 border-color: var(--primary-color);
958 }
959
960 #nav-tree-contents > ul > li:first-child > div > a {
961 opacity: 0;
962 pointer-events: none;
963 }
964
965 .contents .arrow {
966 color: inherit;
967 cursor: pointer;
968 font-size: 45%;
969 vertical-align: middle;
970 margin-right: 2px;
971 font-family: serif;
972 height: auto;
973 padding-bottom: 4px;
974 }
975
976 #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
977 opacity: var(--side-nav-arrow-hover-opacity);
978 }
979
980 #nav-tree .selected a {
981 color: var(--primary-color) !important;
982 font-weight: bolder;
983 font-weight: 600;
984 }
985
986 .ui-resizable-e {
987 background: none;
988 }
989
990 .ui-resizable-e:hover {
991 background: var(--separator-color);
992 }
993
994 /*
995 Contents
996 */
997
998 div.header {
999 border-bottom: 1px solid var(--separator-color);
1000 background: none;
1001 background-image: none;
1002 }
1003
1004 @media screen and (min-width: 1000px) {
1005 #doc-content > div > div.contents,
1006 .PageDoc > div.contents {
1007 display: flex;
1008 flex-direction: row-reverse;
1009 flex-wrap: nowrap;
1010 align-items: flex-start;
1011 }
1012
1013 div.contents .textblock {
1014 min-width: 200px;
1015 flex-grow: 1;
1016 }
1017 }
1018
1019 div.contents, div.header .title, div.header .summary {
1020 max-width: var(--content-maxwidth);
1021 }
1022
1023 div.contents, div.header .title {
1024 line-height: initial;
1025 margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
1026 }
1027
1028 div.header .summary {
1029 margin: var(--spacing-medium) auto 0 auto;
1030 }
1031
1032 div.headertitle {
1033 padding: 0;
1034 }
1035
1036 div.header .title {
1037 font-weight: 600;
1038 font-size: 225%;
1039 padding: var(--spacing-medium) var(--spacing-xlarge);
1040 word-break: break-word;
1041 }
1042
1043 div.header .summary {
1044 width: auto;
1045 display: block;
1046 float: none;
1047 padding: 0 var(--spacing-large);
1048 }
1049
1050 td.memSeparator {
1051 border-color: var(--separator-color);
1052 }
1053
1054 span.mlabel {
1055 background: var(--primary-color);
1056 color: var(--on-primary-color);
1057 border: none;
1058 padding: 4px 9px;
1059 border-radius: var(--border-radius-large);
1060 margin-right: var(--spacing-medium);
1061 }
1062
1063 span.mlabel:last-of-type {
1064 margin-right: 2px;
1065 }
1066
1067 div.contents {
1068 padding: 0 var(--spacing-xlarge);
1069 }
1070
1071 div.contents p, div.contents li {
1072 line-height: var(--content-line-height);
1073 }
1074
1075 div.contents div.dyncontent {
1076 margin: var(--spacing-medium) 0;
1077 }
1078
1079 @media screen and (max-width: 767px) {
1080 div.contents {
1081 padding: 0 var(--spacing-large);
1082 }
1083
1084 div.header .title {
1085 padding: var(--spacing-medium) var(--spacing-large);
1086 }
1087 }
1088
1089 @media (prefers-color-scheme: dark) {
1090 html:not(.light-mode) div.contents div.dyncontent img,
1091 html:not(.light-mode) div.contents center img,
1092 html:not(.light-mode) div.contents > table img,
1093 html:not(.light-mode) div.contents div.dyncontent iframe,
1094 html:not(.light-mode) div.contents center iframe,
1095 html:not(.light-mode) div.contents table iframe,
1096 html:not(.light-mode) div.contents .dotgraph iframe {
1097 filter: brightness(89%) hue-rotate(180deg) invert();
1098 }
1099 }
1100
1101 html.dark-mode div.contents div.dyncontent img,
1102 html.dark-mode div.contents center img,
1103 html.dark-mode div.contents > table img,
1104 html.dark-mode div.contents div.dyncontent iframe,
1105 html.dark-mode div.contents center iframe,
1106 html.dark-mode div.contents table iframe,
1107 html.dark-mode div.contents .dotgraph iframe
1108 {
1109 filter: brightness(89%) hue-rotate(180deg) invert();
1110 }
1111
1112 td h2.groupheader, h2.groupheader {
1113 border-bottom: 0px;
1114 color: var(--page-foreground-color);
1115 box-shadow:
1116 100px 0 var(--page-background-color),
1117 -100px 0 var(--page-background-color),
1118 100px 0.75px var(--separator-color),
1119 -100px 0.75px var(--separator-color),
1120 500px 0 var(--page-background-color),
1121 -500px 0 var(--page-background-color),
1122 500px 0.75px var(--separator-color),
1123 -500px 0.75px var(--separator-color),
1124 900px 0 var(--page-background-color),
1125 -900px 0 var(--page-background-color),
1126 900px 0.75px var(--separator-color),
1127 -900px 0.75px var(--separator-color),
1128 1400px 0 var(--page-background-color),
1129 -1400px 0 var(--page-background-color),
1130 1400px 0.75px var(--separator-color),
1131 -1400px 0.75px var(--separator-color),
1132 1900px 0 var(--page-background-color),
1133 -1900px 0 var(--page-background-color),
1134 1900px 0.75px var(--separator-color),
1135 -1900px 0.75px var(--separator-color);
1136 }
1137
1138 blockquote {
1139 margin: 0 var(--spacing-medium) 0 var(--spacing-medium);
1140 padding: var(--spacing-small) var(--spacing-large);
1141 background: var(--blockquote-background);
1142 color: var(--blockquote-foreground);
1143 border-left: 0;
1144 overflow: visible;
1145 border-radius: var(--border-radius-medium);
1146 overflow: visible;
1147 position: relative;
1148 }
1149
1150 blockquote::before, blockquote::after {
1151 font-weight: bold;
1152 font-family: serif;
1153 font-size: 360%;
1154 opacity: .15;
1155 position: absolute;
1156 }
1157
1158 blockquote::before {
1159 content: "“";
1160 left: -10px;
1161 top: 4px;
1162 }
1163
1164 blockquote::after {
1165 content: "”";
1166 right: -8px;
1167 bottom: -25px;
1168 }
1169
1170 blockquote p {
1171 margin: var(--spacing-small) 0 var(--spacing-medium) 0;
1172 }
1173 .paramname, .paramname em {
1174 font-weight: 600;
1175 color: var(--primary-dark-color);
1176 }
1177
1178 .paramname > code {
1179 border: 0;
1180 }
1181
1182 table.params .paramname {
1183 font-weight: 600;
1184 font-family: var(--font-family-monospace);
1185 font-size: var(--code-font-size);
1186 padding-right: var(--spacing-small);
1187 line-height: var(--table-line-height);
1188 }
1189
1190 h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
1191 text-shadow: 0 0 15px var(--primary-light-color);
1192 }
1193
1194 .alphachar a {
1195 color: var(--page-foreground-color);
1196 }
1197
1198 .dotgraph {
1199 max-width: 100%;
1200 overflow-x: scroll;
1201 }
1202
1203 .dotgraph .caption {
1204 position: sticky;
1205 left: 0;
1206 }
1207
1208 /* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */
1209 .interactive_dotgraph .dotgraph iframe {
1210 max-width: 100%;
1211 }
1212
1213 /*
1214 Table of Contents
1215 */
1216
1217 div.contents .toc {
1218 max-height: var(--toc-max-height);
1219 min-width: var(--toc-width);
1220 border: 0;
1221 border-left: 1px solid var(--separator-color);
1222 border-radius: 0;
1223 background-color: var(--page-background-color);
1224 box-shadow: none;
1225 position: sticky;
1226 top: var(--toc-sticky-top);
1227 padding: 0 var(--spacing-large);
1228 margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large);
1229 }
1230
1231 div.toc h3 {
1232 color: var(--toc-foreground);
1233 font-size: var(--navigation-font-size);
1234 margin: var(--spacing-large) 0 var(--spacing-medium) 0;
1235 }
1236
1237 div.toc li {
1238 padding: 0;
1239 background: none;
1240 line-height: var(--toc-font-size);
1241 margin: var(--toc-font-size) 0 0 0;
1242 }
1243
1244 div.toc li::before {
1245 display: none;
1246 }
1247
1248 div.toc ul {
1249 margin-top: 0
1250 }
1251
1252 div.toc li a {
1253 font-size: var(--toc-font-size);
1254 color: var(--page-foreground-color) !important;
1255 text-decoration: none;
1256 }
1257
1258 div.toc li a:hover, div.toc li a.active {
1259 color: var(--primary-color) !important;
1260 }
1261
1262 div.toc li a.aboveActive {
1263 color: var(--page-secondary-foreground-color) !important;
1264 }
1265
1266
1267 @media screen and (max-width: 999px) {
1268 div.contents .toc {
1269 max-height: 45vh;
1270 float: none;
1271 width: auto;
1272 margin: 0 0 var(--spacing-medium) 0;
1273 position: relative;
1274 top: 0;
1275 position: relative;
1276 border: 1px solid var(--separator-color);
1277 border-radius: var(--border-radius-medium);
1278 background-color: var(--toc-background);
1279 box-shadow: var(--box-shadow);
1280 }
1281
1282 div.contents .toc.interactive {
1283 max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large));
1284 overflow: hidden;
1285 }
1286
1287 div.contents .toc > h3 {
1288 -webkit-tap-highlight-color: transparent;
1289 cursor: pointer;
1290 position: sticky;
1291 top: 0;
1292 background-color: var(--toc-background);
1293 margin: 0;
1294 padding: var(--spacing-large) 0;
1295 display: block;
1296 }
1297
1298 div.contents .toc.interactive > h3::before {
1299 content: "";
1300 width: 0;
1301 height: 0;
1302 border-left: 4px solid transparent;
1303 border-right: 4px solid transparent;
1304 border-top: 5px solid var(--primary-color);
1305 display: inline-block;
1306 margin-right: var(--spacing-small);
1307 margin-bottom: calc(var(--navigation-font-size) / 4);
1308 transform: rotate(-90deg);
1309 transition: transform var(--animation-duration) ease-out;
1310 }
1311
1312 div.contents .toc.interactive.open > h3::before {
1313 transform: rotate(0deg);
1314 }
1315
1316 div.contents .toc.interactive.open {
1317 max-height: 45vh;
1318 overflow: auto;
1319 transition: max-height 0.02s ease-in-out;
1320 }
1321
1322 div.contents .toc a, div.contents .toc a.active {
1323 color: var(--primary-color) !important;
1324 }
1325
1326 div.contents .toc a:hover {
1327 text-decoration: underline;
1328 }
1329 }
1330
1331 /*
1332 Page Outline (Doxygen >= 1.14.0)
1333 */
1334
1335 #page-nav {
1336 background: var(--page-background-color);
1337 border-left: 1px solid var(--separator-color);
1338 }
1339
1340 #page-nav #page-nav-resize-handle {
1341 background: var(--separator-color);
1342 }
1343
1344 #page-nav #page-nav-resize-handle::after {
1345 border-left: 1px solid var(--primary-color);
1346 border-right: 1px solid var(--primary-color);
1347 }
1348
1349 #page-nav #page-nav-tree #page-nav-contents {
1350 top: var(--spacing-large);
1351 }
1352
1353 #page-nav ul.page-outline {
1354 margin: 0;
1355 padding: 0;
1356 }
1357
1358 #page-nav ul.page-outline li a {
1359 font-size: var(--toc-font-size) !important;
1360 color: var(--page-secondary-foreground-color) !important;
1361 display: inline-block;
1362 line-height: calc(2 * var(--toc-font-size));
1363 }
1364
1365 #page-nav ul.page-outline li a a.anchorlink {
1366 display: none;
1367 }
1368
1369 #page-nav ul.page-outline li.vis ~ * a {
1370 color: var(--page-foreground-color) !important;
1371 }
1372
1373 #page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover {
1374 color: var(--primary-color) !important;
1375 }
1376
1377 #page-nav ul.page-outline .vis {
1378 background: var(--page-background-color);
1379 position: relative;
1380 }
1381
1382 #page-nav ul.page-outline .vis::after {
1383 content: "";
1384 position: absolute;
1385 top: 0;
1386 bottom: 0;
1387 left: 0;
1388 width: 4px;
1389 background: var(--page-secondary-foreground-color);
1390 }
1391
1392 #page-nav ul.page-outline .vis:not(.vis ~ .vis)::after {
1393 top: 1px;
1394 border-top-right-radius: var(--border-radius-small);
1395 }
1396
1397 #page-nav ul.page-outline .vis:not(:has(~ .vis))::after {
1398 bottom: 1px;
1399 border-bottom-right-radius: var(--border-radius-small);
1400 }
1401
1402
1403 #page-nav ul.page-outline .arrow {
1404 display: inline-block;
1405 }
1406
1407 #page-nav ul.page-outline .arrow span {
1408 display: none;
1409 }
1410
1411 @media screen and (max-width: 767px) {
1412 #container {
1413 grid-template-columns: initial !important;
1414 }
1415
1416 #page-nav {
1417 display: none;
1418 }
1419 }
1420
1421 /*
1422 Code & Fragments
1423 */
1424
1425 code, div.fragment, pre.fragment, span.tt {
1426 border: 1px solid var(--code-separator-color);
1427 overflow: hidden;
1428 }
1429
1430 code, span.tt {
1431 display: inline;
1432 background: var(--code-background);
1433 color: var(--code-foreground);
1434 padding: 2px 6px;
1435 border-radius: var(--border-radius-small);
1436 }
1437
1438 div.fragment, pre.fragment {
1439 border-radius: var(--border-radius-medium);
1440 margin: var(--spacing-medium) 0;
1441 padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);
1442 background: var(--fragment-background);
1443 color: var(--fragment-foreground);
1444 overflow-x: auto;
1445 }
1446
1447 @media screen and (max-width: 767px) {
1448 div.fragment, pre.fragment {
1449 border-top-right-radius: 0;
1450 border-bottom-right-radius: 0;
1451 border-right: 0;
1452 }
1453
1454 .contents > div.fragment,
1455 .textblock > div.fragment,
1456 .textblock > pre.fragment,
1457 .textblock > .tabbed > ul > li > div.fragment,
1458 .textblock > .tabbed > ul > li > pre.fragment,
1459 .contents > .doxygen-awesome-fragment-wrapper > div.fragment,
1460 .textblock > .doxygen-awesome-fragment-wrapper > div.fragment,
1461 .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment,
1462 .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment,
1463 .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment {
1464 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
1465 border-radius: 0;
1466 border-left: 0;
1467 }
1468
1469 .textblock li > .fragment,
1470 .textblock li > .doxygen-awesome-fragment-wrapper > .fragment {
1471 margin: var(--spacing-medium) calc(0px - var(--spacing-large));
1472 }
1473
1474 .memdoc li > .fragment,
1475 .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment {
1476 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
1477 }
1478
1479 .textblock ul, .memdoc ul {
1480 overflow: initial;
1481 }
1482
1483 .memdoc > div.fragment,
1484 .memdoc > pre.fragment,
1485 dl dd > div.fragment,
1486 dl dd pre.fragment,
1487 .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment,
1488 .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment,
1489 dl dd > .doxygen-awesome-fragment-wrapper > div.fragment,
1490 dl dd .doxygen-awesome-fragment-wrapper > pre.fragment {
1491 margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
1492 border-radius: 0;
1493 border-left: 0;
1494 }
1495 }
1496
1497 code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span, span.tt {
1498 font-family: var(--font-family-monospace);
1499 font-size: var(--code-font-size) !important;
1500 }
1501
1502 div.line:after {
1503 margin-right: var(--spacing-medium);
1504 }
1505
1506 div.fragment .line, pre.fragment {
1507 white-space: pre;
1508 word-wrap: initial;
1509 line-height: var(--fragment-lineheight);
1510 }
1511
1512 div.fragment span.keyword {
1513 color: var(--fragment-keyword);
1514 }
1515
1516 div.fragment span.keywordtype {
1517 color: var(--fragment-keywordtype);
1518 }
1519
1520 div.fragment span.keywordflow {
1521 color: var(--fragment-keywordflow);
1522 }
1523
1524 div.fragment span.stringliteral {
1525 color: var(--fragment-token)
1526 }
1527
1528 div.fragment span.comment {
1529 color: var(--fragment-comment);
1530 }
1531
1532 div.fragment a.code {
1533 color: var(--fragment-link) !important;
1534 }
1535
1536 div.fragment span.preprocessor {
1537 color: var(--fragment-preprocessor);
1538 }
1539
1540 div.fragment span.lineno {
1541 display: inline-block;
1542 width: 27px;
1543 border-right: none;
1544 background: var(--fragment-linenumber-background);
1545 color: var(--fragment-linenumber-color);
1546 }
1547
1548 div.fragment span.lineno a {
1549 background: none;
1550 color: var(--fragment-link) !important;
1551 }
1552
1553 div.fragment > .line:first-child .lineno {
1554 box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
1555 background-color: var(--fragment-linenumber-background) !important;
1556 }
1557
1558 div.line {
1559 border-radius: var(--border-radius-small);
1560 }
1561
1562 div.line.glow {
1563 background-color: var(--primary-light-color);
1564 box-shadow: none;
1565 }
1566
1567 /*
1568 dl warning, attention, note, deprecated, bug, ...
1569 */
1570
1571 dl {
1572 line-height: calc(1.65 * var(--page-font-size));
1573 }
1574
1575 dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
1576 font-weight: bold !important;
1577 }
1578
1579 dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark {
1580 padding: var(--spacing-medium);
1581 margin: var(--spacing-medium) 0;
1582 color: var(--page-background-color);
1583 overflow: hidden;
1584 margin-left: 0;
1585 border-radius: var(--border-radius-small);
1586 }
1587
1588 dl.section dd {
1589 margin-bottom: 2px;
1590 }
1591
1592 dl.warning, dl.attention {
1593 background: var(--warning-color);
1594 border-left: 8px solid var(--warning-color-dark);
1595 color: var(--warning-color-darker);
1596 }
1597
1598 dl.warning dt, dl.attention dt {
1599 color: var(--warning-color-dark);
1600 }
1601
1602 dl.note, dl.remark {
1603 background: var(--note-color);
1604 border-left: 8px solid var(--note-color-dark);
1605 color: var(--note-color-darker);
1606 }
1607
1608 dl.note dt, dl.remark dt {
1609 color: var(--note-color-dark);
1610 }
1611
1612 dl.todo {
1613 background: var(--todo-color);
1614 border-left: 8px solid var(--todo-color-dark);
1615 color: var(--todo-color-darker);
1616 }
1617
1618 dl.todo dt a {
1619 color: var(--todo-color-dark) !important;
1620 }
1621
1622 dl.bug dt a {
1623 color: var(--todo-color-dark) !important;
1624 }
1625
1626 dl.bug {
1627 background: var(--bug-color);
1628 border-left: 8px solid var(--bug-color-dark);
1629 color: var(--bug-color-darker);
1630 }
1631
1632 dl.bug dt a {
1633 color: var(--bug-color-dark) !important;
1634 }
1635
1636 dl.deprecated {
1637 background: var(--deprecated-color);
1638 border-left: 8px solid var(--deprecated-color-dark);
1639 color: var(--deprecated-color-darker);
1640 }
1641
1642 dl.deprecated dt a {
1643 color: var(--deprecated-color-dark) !important;
1644 }
1645
1646 dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {
1647 margin-inline-start: 0px;
1648 }
1649
1650 dl.invariant, dl.pre, dl.post {
1651 background: var(--invariant-color);
1652 border-left: 8px solid var(--invariant-color-dark);
1653 color: var(--invariant-color-darker);
1654 }
1655
1656 dl.invariant dt, dl.pre dt, dl.post dt {
1657 color: var(--invariant-color-dark);
1658 }
1659
1660 /*
1661 memitem
1662 */
1663
1664 div.memdoc, div.memproto, h2.memtitle {
1665 box-shadow: none;
1666 background-image: none;
1667 border: none;
1668 }
1669
1670 div.memdoc {
1671 padding: 0 var(--spacing-medium);
1672 background: var(--page-background-color);
1673 }
1674
1675 h2.memtitle, div.memitem {
1676 border: 1px solid var(--separator-color);
1677 box-shadow: var(--box-shadow);
1678 }
1679
1680 h2.memtitle {
1681 box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow);
1682 }
1683
1684 div.memitem {
1685 transition: none;
1686 }
1687
1688 div.memproto, h2.memtitle {
1689 background: var(--fragment-background);
1690 }
1691
1692 h2.memtitle {
1693 font-weight: 500;
1694 font-size: var(--memtitle-font-size);
1695 font-family: var(--font-family-monospace);
1696 border-bottom: none;
1697 border-top-left-radius: var(--border-radius-medium);
1698 border-top-right-radius: var(--border-radius-medium);
1699 word-break: break-all;
1700 position: relative;
1701 }
1702
1703 h2.memtitle:after {
1704 content: "";
1705 display: block;
1706 background: var(--fragment-background);
1707 height: var(--spacing-medium);
1708 bottom: calc(0px - var(--spacing-medium));
1709 left: 0;
1710 right: -14px;
1711 position: absolute;
1712 border-top-right-radius: var(--border-radius-medium);
1713 }
1714
1715 h2.memtitle > span.permalink {
1716 font-size: inherit;
1717 }
1718
1719 h2.memtitle > span.permalink > a {
1720 text-decoration: none;
1721 padding-left: 3px;
1722 margin-right: -4px;
1723 user-select: none;
1724 display: inline-block;
1725 margin-top: -6px;
1726 }
1727
1728 h2.memtitle > span.permalink > a:hover {
1729 color: var(--primary-dark-color) !important;
1730 }
1731
1732 a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
1733 border-color: var(--primary-light-color);
1734 }
1735
1736 div.memitem {
1737 border-top-right-radius: var(--border-radius-medium);
1738 border-bottom-right-radius: var(--border-radius-medium);
1739 border-bottom-left-radius: var(--border-radius-medium);
1740 border-top-left-radius: 0;
1741 overflow: hidden;
1742 display: block !important;
1743 }
1744
1745 div.memdoc {
1746 border-radius: 0;
1747 }
1748
1749 div.memproto {
1750 border-radius: 0 var(--border-radius-small) 0 0;
1751 overflow: auto;
1752 border-bottom: 1px solid var(--separator-color);
1753 padding: var(--spacing-medium);
1754 margin-bottom: -1px;
1755 }
1756
1757 div.memtitle {
1758 border-top-right-radius: var(--border-radius-medium);
1759 border-top-left-radius: var(--border-radius-medium);
1760 }
1761
1762 div.memproto table.memname {
1763 font-family: var(--font-family-monospace);
1764 color: var(--page-foreground-color);
1765 font-size: var(--memname-font-size);
1766 text-shadow: none;
1767 }
1768
1769 div.memproto div.memtemplate {
1770 font-family: var(--font-family-monospace);
1771 color: var(--primary-dark-color);
1772 font-size: var(--memname-font-size);
1773 margin-left: 2px;
1774 text-shadow: none;
1775 }
1776
1777 table.mlabels, table.mlabels > tbody {
1778 display: block;
1779 }
1780
1781 td.mlabels-left {
1782 width: auto;
1783 }
1784
1785 td.mlabels-right {
1786 margin-top: 3px;
1787 position: sticky;
1788 left: 0;
1789 }
1790
1791 table.mlabels > tbody > tr:first-child {
1792 display: flex;
1793 justify-content: space-between;
1794 flex-wrap: wrap;
1795 }
1796
1797 .memname, .memitem span.mlabels {
1798 margin: 0
1799 }
1800
1801 /*
1802 reflist
1803 */
1804
1805 dl.reflist {
1806 box-shadow: var(--box-shadow);
1807 border-radius: var(--border-radius-medium);
1808 border: 1px solid var(--separator-color);
1809 overflow: hidden;
1810 padding: 0;
1811 }
1812
1813
1814 dl.reflist dt, dl.reflist dd {
1815 box-shadow: none;
1816 text-shadow: none;
1817 background-image: none;
1818 border: none;
1819 padding: 12px;
1820 }
1821
1822
1823 dl.reflist dt {
1824 font-weight: 500;
1825 border-radius: 0;
1826 background: var(--code-background);
1827 border-bottom: 1px solid var(--separator-color);
1828 color: var(--page-foreground-color)
1829 }
1830
1831
1832 dl.reflist dd {
1833 background: none;
1834 }
1835
1836 /*
1837 Table
1838 */
1839
1840 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname),
1841 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
1842 display: inline-block;
1843 max-width: 100%;
1844 }
1845
1846 .contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) {
1847 margin-left: calc(0px - var(--spacing-large));
1848 margin-right: calc(0px - var(--spacing-large));
1849 max-width: calc(100% + 2 * var(--spacing-large));
1850 }
1851
1852 table.fieldtable,
1853 table.markdownTable tbody,
1854 table.doxtable tbody {
1855 border: none;
1856 margin: var(--spacing-medium) 0;
1857 box-shadow: 0 0 0 1px var(--separator-color);
1858 border-radius: var(--border-radius-small);
1859 }
1860
1861 table.markdownTable, table.doxtable, table.fieldtable {
1862 padding: 1px;
1863 }
1864
1865 table.doxtable caption {
1866 display: block;
1867 }
1868
1869 table.fieldtable {
1870 border-collapse: collapse;
1871 width: 100%;
1872 }
1873
1874 th.markdownTableHeadLeft,
1875 th.markdownTableHeadRight,
1876 th.markdownTableHeadCenter,
1877 th.markdownTableHeadNone,
1878 table.doxtable th {
1879 background: var(--tablehead-background);
1880 color: var(--tablehead-foreground);
1881 font-weight: 600;
1882 font-size: var(--page-font-size);
1883 }
1884
1885 th.markdownTableHeadLeft:first-child,
1886 th.markdownTableHeadRight:first-child,
1887 th.markdownTableHeadCenter:first-child,
1888 th.markdownTableHeadNone:first-child,
1889 table.doxtable tr th:first-child {
1890 border-top-left-radius: var(--border-radius-small);
1891 }
1892
1893 th.markdownTableHeadLeft:last-child,
1894 th.markdownTableHeadRight:last-child,
1895 th.markdownTableHeadCenter:last-child,
1896 th.markdownTableHeadNone:last-child,
1897 table.doxtable tr th:last-child {
1898 border-top-right-radius: var(--border-radius-small);
1899 }
1900
1901 table.markdownTable td,
1902 table.markdownTable th,
1903 table.fieldtable td,
1904 table.fieldtable th,
1905 table.doxtable td,
1906 table.doxtable th {
1907 border: 1px solid var(--separator-color);
1908 padding: var(--spacing-small) var(--spacing-medium);
1909 }
1910
1911 table.markdownTable td:last-child,
1912 table.markdownTable th:last-child,
1913 table.fieldtable td:last-child,
1914 table.fieldtable th:last-child,
1915 table.doxtable td:last-child,
1916 table.doxtable th:last-child {
1917 border-right: none;
1918 }
1919
1920 table.markdownTable td:first-child,
1921 table.markdownTable th:first-child,
1922 table.fieldtable td:first-child,
1923 table.fieldtable th:first-child,
1924 table.doxtable td:first-child,
1925 table.doxtable th:first-child {
1926 border-left: none;
1927 }
1928
1929 table.markdownTable tr:first-child td,
1930 table.markdownTable tr:first-child th,
1931 table.fieldtable tr:first-child td,
1932 table.fieldtable tr:first-child th,
1933 table.doxtable tr:first-child td,
1934 table.doxtable tr:first-child th {
1935 border-top: none;
1936 }
1937
1938 table.markdownTable tr:last-child td,
1939 table.markdownTable tr:last-child th,
1940 table.fieldtable tr:last-child td,
1941 table.fieldtable tr:last-child th,
1942 table.doxtable tr:last-child td,
1943 table.doxtable tr:last-child th {
1944 border-bottom: none;
1945 }
1946
1947 table.markdownTable tr, table.doxtable tr {
1948 border-bottom: 1px solid var(--separator-color);
1949 }
1950
1951 table.markdownTable tr:last-child, table.doxtable tr:last-child {
1952 border-bottom: none;
1953 }
1954
1955 .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) {
1956 display: block;
1957 }
1958
1959 .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
1960 display: table;
1961 width: 100%;
1962 }
1963
1964 table.fieldtable th {
1965 font-size: var(--page-font-size);
1966 font-weight: 600;
1967 background-image: none;
1968 background-color: var(--tablehead-background);
1969 color: var(--tablehead-foreground);
1970 }
1971
1972 table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th {
1973 border-bottom: 1px solid var(--separator-color);
1974 border-right: 1px solid var(--separator-color);
1975 }
1976
1977 table.fieldtable tr:last-child td:first-child {
1978 border-bottom-left-radius: var(--border-radius-small);
1979 }
1980
1981 table.fieldtable tr:last-child td:last-child {
1982 border-bottom-right-radius: var(--border-radius-small);
1983 }
1984
1985 .memberdecls td.glow, .fieldtable tr.glow {
1986 background-color: var(--primary-light-color);
1987 box-shadow: none;
1988 }
1989
1990 table.memberdecls {
1991 display: block;
1992 -webkit-tap-highlight-color: transparent;
1993 }
1994
1995 table.memberdecls tr[class^='memitem'] {
1996 font-family: var(--font-family-monospace);
1997 font-size: var(--code-font-size);
1998 }
1999
2000 table.memberdecls tr[class^='memitem'] .memTemplParams {
2001 font-family: var(--font-family-monospace);
2002 font-size: var(--code-font-size);
2003 color: var(--primary-dark-color);
2004 white-space: normal;
2005 }
2006
2007 table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft,
2008 table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight,
2009 table.memberdecls td.memItemLeft,
2010 table.memberdecls td.memItemRight,
2011 table.memberdecls .memTemplItemLeft,
2012 table.memberdecls .memTemplItemRight,
2013 table.memberdecls .memTemplParams {
2014 transition: none;
2015 padding-top: var(--spacing-small);
2016 padding-bottom: var(--spacing-small);
2017 border-top: 1px solid var(--separator-color);
2018 border-bottom: 1px solid var(--separator-color);
2019 background-color: var(--fragment-background);
2020 }
2021
2022 @media screen and (min-width: 768px) {
2023
2024 tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
2025 border-top-right-radius: var(--border-radius-small);
2026 }
2027
2028 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 {
2029 border-bottom-right-radius: var(--border-radius-small);
2030 }
2031
2032 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 {
2033 border-bottom-left-radius: var(--border-radius-small);
2034 }
2035
2036 tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
2037 border-top-left-radius: var(--border-radius-small);
2038 }
2039
2040 }
2041
2042 table.memname td.memname {
2043 font-size: var(--memname-font-size);
2044 }
2045
2046 table.memberdecls .memTemplItemLeft,
2047 table.memberdecls .template .memItemLeft,
2048 table.memberdecls .memTemplItemRight,
2049 table.memberdecls .template .memItemRight {
2050 padding-top: 2px;
2051 }
2052
2053 table.memberdecls .memTemplParams {
2054 border-bottom: 0;
2055 border-left: 1px solid var(--separator-color);
2056 border-right: 1px solid var(--separator-color);
2057 border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
2058 padding-bottom: var(--spacing-small);
2059 }
2060
2061 table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft {
2062 border-radius: 0 0 0 var(--border-radius-small);
2063 border-left: 1px solid var(--separator-color);
2064 border-top: 0;
2065 }
2066
2067 table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight {
2068 border-radius: 0 0 var(--border-radius-small) 0;
2069 border-right: 1px solid var(--separator-color);
2070 padding-left: 0;
2071 border-top: 0;
2072 }
2073
2074 table.memberdecls .memItemLeft {
2075 border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
2076 border-left: 1px solid var(--separator-color);
2077 padding-left: var(--spacing-medium);
2078 padding-right: 0;
2079 }
2080
2081 table.memberdecls .memItemRight {
2082 border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
2083 border-right: 1px solid var(--separator-color);
2084 padding-right: var(--spacing-medium);
2085 padding-left: 0;
2086
2087 }
2088
2089 table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
2090 background: none;
2091 color: var(--page-foreground-color);
2092 padding: var(--spacing-small) 0;
2093 border: 0;
2094 }
2095
2096 table.memberdecls [class^="memdesc"] {
2097 box-shadow: none;
2098 }
2099
2100
2101 table.memberdecls .memItemLeft,
2102 table.memberdecls .memTemplItemLeft {
2103 padding-right: var(--spacing-medium);
2104 }
2105
2106 table.memberdecls .memSeparator {
2107 background: var(--page-background-color);
2108 height: var(--spacing-large);
2109 border: 0;
2110 transition: none;
2111 }
2112
2113 table.memberdecls .groupheader {
2114 margin-bottom: var(--spacing-large);
2115 }
2116
2117 table.memberdecls .inherit_header td {
2118 padding: 0 0 var(--spacing-medium) 0;
2119 text-indent: -12px;
2120 color: var(--page-secondary-foreground-color);
2121 }
2122
2123 table.memberdecls span.dynarrow {
2124 left: 10px;
2125 }
2126
2127 table.memberdecls img[src="closed.png"],
2128 table.memberdecls img[src="open.png"],
2129 div.dynheader img[src="open.png"],
2130 div.dynheader img[src="closed.png"] {
2131 width: 0;
2132 height: 0;
2133 border-left: 4px solid transparent;
2134 border-right: 4px solid transparent;
2135 border-top: 5px solid var(--primary-color);
2136 margin-top: 8px;
2137 display: block;
2138 float: left;
2139 margin-left: -10px;
2140 transition: transform var(--animation-duration) ease-out;
2141 }
2142
2143 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 {
2144 border-top: 1px solid var(--separator-color);
2145 }
2146
2147 table.memberdecls img {
2148 margin-right: 10px;
2149 }
2150
2151 table.memberdecls img[src="closed.png"],
2152 div.dynheader img[src="closed.png"] {
2153 transform: rotate(-90deg);
2154
2155 }
2156
2157 .compoundTemplParams {
2158 font-family: var(--font-family-monospace);
2159 color: var(--primary-dark-color);
2160 font-size: var(--code-font-size);
2161 }
2162
2163 @media screen and (max-width: 767px) {
2164
2165 table.memberdecls .memItemLeft,
2166 table.memberdecls .memItemRight,
2167 table.memberdecls .mdescLeft,
2168 table.memberdecls .mdescRight,
2169 table.memberdecls .memTemplItemLeft,
2170 table.memberdecls .memTemplItemRight,
2171 table.memberdecls .memTemplParams,
2172 table.memberdecls .template .memItemLeft,
2173 table.memberdecls .template .memItemRight,
2174 table.memberdecls .template .memParams {
2175 display: block;
2176 text-align: left;
2177 padding-left: var(--spacing-large);
2178 margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large));
2179 border-right: none;
2180 border-left: none;
2181 border-radius: 0;
2182 white-space: normal;
2183 }
2184
2185 table.memberdecls .memItemLeft,
2186 table.memberdecls .mdescLeft,
2187 table.memberdecls .memTemplItemLeft,
2188 table.memberdecls .template .memItemLeft {
2189 border-bottom: 0 !important;
2190 padding-bottom: 0 !important;
2191 }
2192
2193 table.memberdecls .memTemplItemLeft,
2194 table.memberdecls .template .memItemLeft {
2195 padding-top: 0;
2196 }
2197
2198 table.memberdecls .mdescLeft {
2199 margin-bottom: calc(0px - var(--page-font-size));
2200 }
2201
2202 table.memberdecls .memItemRight,
2203 table.memberdecls .mdescRight,
2204 table.memberdecls .memTemplItemRight,
2205 table.memberdecls .template .memItemRight {
2206 border-top: 0 !important;
2207 padding-top: 0 !important;
2208 padding-right: var(--spacing-large);
2209 padding-bottom: var(--spacing-medium);
2210 overflow-x: auto;
2211 }
2212
2213 table.memberdecls tr[class^='memitem']:not(.inherit) {
2214 display: block;
2215 width: calc(100vw - 2 * var(--spacing-large));
2216 }
2217
2218 table.memberdecls .mdescRight {
2219 color: var(--page-foreground-color);
2220 }
2221
2222 table.memberdecls tr.inherit {
2223 visibility: hidden;
2224 }
2225
2226 table.memberdecls tr[style="display: table-row;"] {
2227 display: block !important;
2228 visibility: visible;
2229 width: calc(100vw - 2 * var(--spacing-large));
2230 animation: fade .10s;
2231 }
2232
2233 @keyframes fade {
2234 0% {
2235 opacity: 0;
2236 max-height: 0;
2237 }
2238
2239 100% {
2240 opacity: 1;
2241 max-height: 200px;
2242 }
2243 }
2244
2245 tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
2246 border-top-right-radius: 0;
2247 }
2248
2249 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 {
2250 border-bottom-right-radius: 0;
2251 }
2252
2253 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 {
2254 border-bottom-left-radius: 0;
2255 }
2256
2257 tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
2258 border-top-left-radius: 0;
2259 }
2260 }
2261
2262
2263 /*
2264 Horizontal Rule
2265 */
2266
2267 hr {
2268 margin-top: var(--spacing-large);
2269 margin-bottom: var(--spacing-large);
2270 height: 1px;
2271 background-color: var(--separator-color);
2272 border: 0;
2273 }
2274
2275 .contents hr {
2276 box-shadow: 100px 0 var(--separator-color),
2277 -100px 0 var(--separator-color),
2278 500px 0 var(--separator-color),
2279 -500px 0 var(--separator-color),
2280 900px 0 var(--separator-color),
2281 -900px 0 var(--separator-color),
2282 1400px 0 var(--separator-color),
2283 -1400px 0 var(--separator-color),
2284 1900px 0 var(--separator-color),
2285 -1900px 0 var(--separator-color);
2286 }
2287
2288 .contents img, .contents .center, .contents center, .contents div.image object {
2289 max-width: 100%;
2290 overflow: auto;
2291 }
2292
2293 @media screen and (max-width: 767px) {
2294 .contents .dyncontent > .center, .contents > center {
2295 margin-left: calc(0px - var(--spacing-large));
2296 margin-right: calc(0px - var(--spacing-large));
2297 max-width: calc(100% + 2 * var(--spacing-large));
2298 }
2299 }
2300
2301 /*
2302 Directories
2303 */
2304 div.directory {
2305 border-top: 1px solid var(--separator-color);
2306 border-bottom: 1px solid var(--separator-color);
2307 width: auto;
2308 }
2309
2310 table.directory {
2311 font-family: var(--font-family);
2312 font-size: var(--page-font-size);
2313 font-weight: normal;
2314 width: 100%;
2315 }
2316
2317 table.directory td.entry, table.directory td.desc {
2318 padding: calc(var(--spacing-small) / 2) var(--spacing-small);
2319 line-height: var(--table-line-height);
2320 }
2321
2322 table.directory tr.even td:last-child {
2323 border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
2324 }
2325
2326 table.directory tr.even td:first-child {
2327 border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
2328 }
2329
2330 table.directory tr.even:last-child td:last-child {
2331 border-radius: 0 var(--border-radius-small) 0 0;
2332 }
2333
2334 table.directory tr.even:last-child td:first-child {
2335 border-radius: var(--border-radius-small) 0 0 0;
2336 }
2337
2338 table.directory td.desc {
2339 min-width: 250px;
2340 }
2341
2342 table.directory tr.even {
2343 background-color: var(--odd-color);
2344 }
2345
2346 table.directory tr.odd {
2347 background-color: transparent;
2348 }
2349
2350 .icona {
2351 width: auto;
2352 height: auto;
2353 margin: 0 var(--spacing-small);
2354 }
2355
2356 .icon {
2357 background: var(--primary-color);
2358 border-radius: var(--border-radius-small);
2359 font-size: var(--page-font-size);
2360 padding: calc(var(--page-font-size) / 5);
2361 line-height: var(--page-font-size);
2362 transform: scale(0.8);
2363 height: auto;
2364 width: var(--page-font-size);
2365 user-select: none;
2366 }
2367
2368 .iconfopen, .icondoc, .iconfclosed {
2369 background-position: center;
2370 margin-bottom: 0;
2371 height: var(--table-line-height);
2372 }
2373
2374 .icondoc {
2375 filter: saturate(0.2);
2376 }
2377
2378 @media screen and (max-width: 767px) {
2379 div.directory {
2380 margin-left: calc(0px - var(--spacing-large));
2381 margin-right: calc(0px - var(--spacing-large));
2382 }
2383 }
2384
2385 @media (prefers-color-scheme: dark) {
2386 html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
2387 filter: hue-rotate(180deg) invert();
2388 }
2389 }
2390
2391 html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
2392 filter: hue-rotate(180deg) invert();
2393 }
2394
2395 /*
2396 Class list
2397 */
2398
2399 .classindex dl.odd {
2400 background: var(--odd-color);
2401 border-radius: var(--border-radius-small);
2402 }
2403
2404 .classindex dl.even {
2405 background-color: transparent;
2406 }
2407
2408 /*
2409 Class Index Doxygen 1.8
2410 */
2411
2412 table.classindex {
2413 margin-left: 0;
2414 margin-right: 0;
2415 width: 100%;
2416 }
2417
2418 table.classindex table div.ah {
2419 background-image: none;
2420 background-color: initial;
2421 border-color: var(--separator-color);
2422 color: var(--page-foreground-color);
2423 box-shadow: var(--box-shadow);
2424 border-radius: var(--border-radius-large);
2425 padding: var(--spacing-small);
2426 }
2427
2428 div.qindex {
2429 background-color: var(--odd-color);
2430 border-radius: var(--border-radius-small);
2431 border: 1px solid var(--separator-color);
2432 padding: var(--spacing-small) 0;
2433 }
2434
2435 /*
2436 Footer and nav-path
2437 */
2438
2439 #nav-path {
2440 width: 100%;
2441 }
2442
2443 #nav-path ul {
2444 background-image: none;
2445 background: var(--page-background-color);
2446 border: none;
2447 border-top: 1px solid var(--separator-color);
2448 border-bottom: 0;
2449 font-size: var(--navigation-font-size);
2450 }
2451
2452 img.footer {
2453 width: 60px;
2454 }
2455
2456 .navpath li.footer {
2457 color: var(--page-secondary-foreground-color);
2458 }
2459
2460 address.footer {
2461 color: var(--page-secondary-foreground-color);
2462 margin-bottom: var(--spacing-large);
2463 }
2464
2465 #nav-path li.navelem {
2466 background-image: none;
2467 display: flex;
2468 align-items: center;
2469 }
2470
2471 .navpath li.navelem a {
2472 text-shadow: none;
2473 display: inline-block;
2474 color: var(--primary-color) !important;
2475 }
2476
2477 .navpath li.navelem a:hover {
2478 text-shadow: none;
2479 }
2480
2481 .navpath li.navelem b {
2482 color: var(--primary-dark-color);
2483 font-weight: 500;
2484 }
2485
2486 li.navelem {
2487 padding: 0;
2488 margin-left: -8px;
2489 }
2490
2491 li.navelem:first-child {
2492 margin-left: var(--spacing-large);
2493 }
2494
2495 li.navelem:first-child:before {
2496 display: none;
2497 }
2498
2499 #nav-path ul {
2500 padding-left: 0;
2501 }
2502
2503 #nav-path li.navelem:has(.el):after {
2504 content: '';
2505 border: 5px solid var(--page-background-color);
2506 border-bottom-color: transparent;
2507 border-right-color: transparent;
2508 border-top-color: transparent;
2509 transform: translateY(-1px) scaleY(4.2);
2510 z-index: 10;
2511 margin-left: 6px;
2512 }
2513
2514 #nav-path li.navelem:not(:has(.el)):after {
2515 background: var(--page-background-color);
2516 box-shadow: 1px -1px 0 1px var(--separator-color);
2517 border-radius: 0 var(--border-radius-medium) 0 50px;
2518 }
2519
2520 #nav-path li.navelem:not(:has(.el)) {
2521 margin-left: 0;
2522 }
2523
2524 #nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after {
2525 background-color: var(--separator-color);
2526 }
2527
2528 #nav-path li.navelem:has(.el):before {
2529 content: '';
2530 border: 5px solid var(--separator-color);
2531 border-bottom-color: transparent;
2532 border-right-color: transparent;
2533 border-top-color: transparent;
2534 transform: translateY(-1px) scaleY(3.2);
2535 margin-right: var(--spacing-small);
2536 }
2537
2538 .navpath li.navelem a:hover {
2539 color: var(--primary-color);
2540 }
2541
2542 /*
2543 Scrollbars for Webkit
2544 */
2545
2546 #nav-tree::-webkit-scrollbar,
2547 div.fragment::-webkit-scrollbar,
2548 pre.fragment::-webkit-scrollbar,
2549 div.memproto::-webkit-scrollbar,
2550 .contents center::-webkit-scrollbar,
2551 .contents .center::-webkit-scrollbar,
2552 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar,
2553 div.contents .toc::-webkit-scrollbar,
2554 .contents .dotgraph::-webkit-scrollbar,
2555 .contents .tabs-overview-container::-webkit-scrollbar {
2556 background: transparent;
2557 width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
2558 height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
2559 }
2560
2561 #nav-tree::-webkit-scrollbar-thumb,
2562 div.fragment::-webkit-scrollbar-thumb,
2563 pre.fragment::-webkit-scrollbar-thumb,
2564 div.memproto::-webkit-scrollbar-thumb,
2565 .contents center::-webkit-scrollbar-thumb,
2566 .contents .center::-webkit-scrollbar-thumb,
2567 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb,
2568 div.contents .toc::-webkit-scrollbar-thumb,
2569 .contents .dotgraph::-webkit-scrollbar-thumb,
2570 .contents .tabs-overview-container::-webkit-scrollbar-thumb {
2571 background-color: transparent;
2572 border: var(--webkit-scrollbar-padding) solid transparent;
2573 border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
2574 background-clip: padding-box;
2575 }
2576
2577 #nav-tree:hover::-webkit-scrollbar-thumb,
2578 div.fragment:hover::-webkit-scrollbar-thumb,
2579 pre.fragment:hover::-webkit-scrollbar-thumb,
2580 div.memproto:hover::-webkit-scrollbar-thumb,
2581 .contents center:hover::-webkit-scrollbar-thumb,
2582 .contents .center:hover::-webkit-scrollbar-thumb,
2583 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb,
2584 div.contents .toc:hover::-webkit-scrollbar-thumb,
2585 .contents .dotgraph:hover::-webkit-scrollbar-thumb,
2586 .contents .tabs-overview-container:hover::-webkit-scrollbar-thumb {
2587 background-color: var(--webkit-scrollbar-color);
2588 }
2589
2590 #nav-tree::-webkit-scrollbar-track,
2591 div.fragment::-webkit-scrollbar-track,
2592 pre.fragment::-webkit-scrollbar-track,
2593 div.memproto::-webkit-scrollbar-track,
2594 .contents center::-webkit-scrollbar-track,
2595 .contents .center::-webkit-scrollbar-track,
2596 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track,
2597 div.contents .toc::-webkit-scrollbar-track,
2598 .contents .dotgraph::-webkit-scrollbar-track,
2599 .contents .tabs-overview-container::-webkit-scrollbar-track {
2600 background: transparent;
2601 }
2602
2603 #nav-tree::-webkit-scrollbar-corner {
2604 background-color: var(--side-nav-background);
2605 }
2606
2607 #nav-tree,
2608 div.fragment,
2609 pre.fragment,
2610 div.memproto,
2611 .contents center,
2612 .contents .center,
2613 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
2614 div.contents .toc {
2615 overflow-x: auto;
2616 overflow-x: overlay;
2617 }
2618
2619 #nav-tree {
2620 overflow-x: auto;
2621 overflow-y: auto;
2622 overflow-y: overlay;
2623 }
2624
2625 /*
2626 Scrollbars for Firefox
2627 */
2628
2629 #nav-tree,
2630 div.fragment,
2631 pre.fragment,
2632 div.memproto,
2633 .contents center,
2634 .contents .center,
2635 .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
2636 div.contents .toc,
2637 .contents .dotgraph,
2638 .contents .tabs-overview-container {
2639 scrollbar-width: thin;
2640 }
2641
2642 /*
2643 Optional Dark mode toggle button
2644 */
2645
2646 doxygen-awesome-dark-mode-toggle {
2647 display: inline-block;
2648 margin: 0 0 0 var(--spacing-small);
2649 padding: 0;
2650 width: var(--searchbar-height);
2651 height: var(--searchbar-height);
2652 background: none;
2653 border: none;
2654 border-radius: var(--searchbar-border-radius);
2655 vertical-align: middle;
2656 text-align: center;
2657 line-height: var(--searchbar-height);
2658 font-size: 22px;
2659 display: flex;
2660 align-items: center;
2661 justify-content: center;
2662 user-select: none;
2663 cursor: pointer;
2664 }
2665
2666 doxygen-awesome-dark-mode-toggle > svg {
2667 transition: transform var(--animation-duration) ease-in-out;
2668 }
2669
2670 doxygen-awesome-dark-mode-toggle:active > svg {
2671 transform: scale(.5);
2672 }
2673
2674 doxygen-awesome-dark-mode-toggle:hover {
2675 background-color: rgba(0,0,0,.03);
2676 }
2677
2678 html.dark-mode doxygen-awesome-dark-mode-toggle:hover {
2679 background-color: rgba(0,0,0,.18);
2680 }
2681
2682 /*
2683 Optional fragment copy button
2684 */
2685 .doxygen-awesome-fragment-wrapper {
2686 position: relative;
2687 }
2688
2689 doxygen-awesome-fragment-copy-button {
2690 opacity: 0;
2691 background: var(--fragment-background);
2692 width: 28px;
2693 height: 28px;
2694 position: absolute;
2695 right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
2696 top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
2697 border: 1px solid var(--fragment-foreground);
2698 cursor: pointer;
2699 border-radius: var(--border-radius-small);
2700 display: flex;
2701 justify-content: center;
2702 align-items: center;
2703 }
2704
2705 .doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success {
2706 opacity: .28;
2707 }
2708
2709 doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success {
2710 opacity: 1 !important;
2711 }
2712
2713 doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg {
2714 transform: scale(.91);
2715 }
2716
2717 doxygen-awesome-fragment-copy-button svg {
2718 fill: var(--fragment-foreground);
2719 width: 18px;
2720 height: 18px;
2721 }
2722
2723 doxygen-awesome-fragment-copy-button.success svg {
2724 fill: rgb(14, 168, 14);
2725 }
2726
2727 doxygen-awesome-fragment-copy-button.success {
2728 border-color: rgb(14, 168, 14);
2729 }
2730
2731 @media screen and (max-width: 767px) {
2732 .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
2733 .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
2734 .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
2735 .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
2736 dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button {
2737 right: 0;
2738 }
2739 }
2740
2741 /*
2742 Optional paragraph link button
2743 */
2744
2745 a.anchorlink {
2746 font-size: 90%;
2747 margin-left: var(--spacing-small);
2748 color: var(--page-foreground-color) !important;
2749 text-decoration: none;
2750 opacity: .50;
2751 display: none;
2752 transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;
2753 }
2754
2755 a.anchorlink svg {
2756 fill: var(--page-foreground-color);
2757 }
2758
2759 h3 a.anchorlink svg, h4 a.anchorlink svg {
2760 margin-bottom: -3px;
2761 margin-top: -4px;
2762 }
2763
2764 a.anchorlink:hover {
2765 opacity: .95;
2766 }
2767
2768 h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink {
2769 display: inline-block;
2770 }
2771
2772 /*
2773 Optional tab feature
2774 */
2775
2776 .tabbed > ul {
2777 padding-inline-start: 0px;
2778 margin: 0;
2779 padding: var(--spacing-small) 0;
2780 }
2781
2782 .tabbed > ul > li {
2783 display: none;
2784 }
2785
2786 .tabbed > ul > li.selected {
2787 display: block;
2788 }
2789
2790 .tabs-overview-container {
2791 overflow-x: auto;
2792 display: block;
2793 overflow-y: visible;
2794 }
2795
2796 .tabs-overview {
2797 border-bottom: 1px solid var(--separator-color);
2798 display: flex;
2799 flex-direction: row;
2800 }
2801
2802 @media screen and (max-width: 767px) {
2803 .tabs-overview-container {
2804 margin: 0 calc(0px - var(--spacing-large));
2805 }
2806 .tabs-overview {
2807 padding: 0 var(--spacing-large)
2808 }
2809 }
2810
2811 .tabs-overview button.tab-button {
2812 color: var(--page-foreground-color);
2813 margin: 0;
2814 border: none;
2815 background: transparent;
2816 padding: calc(var(--spacing-large) / 2) 0;
2817 display: inline-block;
2818 font-size: var(--page-font-size);
2819 cursor: pointer;
2820 box-shadow: 0 1px 0 0 var(--separator-color);
2821 position: relative;
2822
2823 -webkit-tap-highlight-color: transparent;
2824 }
2825
2826 .tabs-overview button.tab-button .tab-title::before {
2827 display: block;
2828 content: attr(title);
2829 font-weight: 600;
2830 height: 0;
2831 overflow: hidden;
2832 visibility: hidden;
2833 }
2834
2835 .tabs-overview button.tab-button .tab-title {
2836 float: left;
2837 white-space: nowrap;
2838 font-weight: normal;
2839 font-family: var(--font-family);
2840 padding: calc(var(--spacing-large) / 2) var(--spacing-large);
2841 border-radius: var(--border-radius-medium);
2842 transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out;
2843 }
2844
2845 .tabs-overview button.tab-button:not(:last-child) .tab-title {
2846 box-shadow: 8px 0 0 -7px var(--separator-color);
2847 }
2848
2849 .tabs-overview button.tab-button:hover .tab-title {
2850 background: var(--separator-color);
2851 box-shadow: none;
2852 }
2853
2854 .tabs-overview button.tab-button.active .tab-title {
2855 font-weight: 600;
2856 }
2857
2858 .tabs-overview button.tab-button::after {
2859 content: '';
2860 display: block;
2861 position: absolute;
2862 left: 0;
2863 bottom: 0;
2864 right: 0;
2865 height: 0;
2866 width: 0%;
2867 margin: 0 auto;
2868 border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
2869 background-color: var(--primary-color);
2870 transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out;
2871 }
2872
2873 .tabs-overview button.tab-button.active::after {
2874 width: 100%;
2875 box-sizing: border-box;
2876 height: 3px;
2877 }
2878
2879
2880 /*
2881 Navigation Buttons
2882 */
2883
2884 .section_buttons:not(:empty) {
2885 margin-top: calc(var(--spacing-large) * 3);
2886 }
2887
2888 .section_buttons table.markdownTable {
2889 display: block;
2890 width: 100%;
2891 }
2892
2893 .section_buttons table.markdownTable tbody {
2894 display: table !important;
2895 width: 100%;
2896 box-shadow: none;
2897 border-spacing: 10px;
2898 }
2899
2900 .section_buttons table.markdownTable td {
2901 padding: 0;
2902 }
2903
2904 .section_buttons table.markdownTable th {
2905 display: none;
2906 }
2907
2908 .section_buttons table.markdownTable tr.markdownTableHead {
2909 border: none;
2910 }
2911
2912 .section_buttons tr th, .section_buttons tr td {
2913 background: none;
2914 border: none;
2915 padding: var(--spacing-large) 0 var(--spacing-small);
2916 }
2917
2918 .section_buttons a {
2919 display: inline-block;
2920 border: 1px solid var(--separator-color);
2921 border-radius: var(--border-radius-medium);
2922 color: var(--page-secondary-foreground-color) !important;
2923 text-decoration: none;
2924 transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out;
2925 }
2926
2927 .section_buttons a:hover {
2928 color: var(--page-foreground-color) !important;
2929 background-color: var(--odd-color);
2930 }
2931
2932 .section_buttons tr td.markdownTableBodyLeft a {
2933 padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2);
2934 }
2935
2936 .section_buttons tr td.markdownTableBodyRight a {
2937 padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large);
2938 }
2939
2940 .section_buttons tr td.markdownTableBodyLeft a::before,
2941 .section_buttons tr td.markdownTableBodyRight a::after {
2942 color: var(--page-secondary-foreground-color) !important;
2943 display: inline-block;
2944 transition: color .02s ease-in-out, transform .02s ease-in-out;
2945 }
2946
2947 .section_buttons tr td.markdownTableBodyLeft a::before {
2948 content: '〈';
2949 padding-right: var(--spacing-large);
2950 }
2951
2952
2953 .section_buttons tr td.markdownTableBodyRight a::after {
2954 content: '〉';
2955 padding-left: var(--spacing-large);
2956 }
2957
2958
2959 .section_buttons tr td.markdownTableBodyLeft a:hover::before {
2960 color: var(--page-foreground-color) !important;
2961 transform: translateX(-3px);
2962 }
2963
2964 .section_buttons tr td.markdownTableBodyRight a:hover::after {
2965 color: var(--page-foreground-color) !important;
2966 transform: translateX(3px);
2967 }
2968
2969 @media screen and (max-width: 450px) {
2970 .section_buttons a {
2971 width: 100%;
2972 box-sizing: border-box;
2973 }
2974
2975 .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a {
2976 border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
2977 border-right: none;
2978 }
2979
2980 .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a {
2981 border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
2982 }
2983 }
2984
2985 /*
2986 Bordered image
2987 */
2988
2989 html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
2990 html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
2991 filter: brightness(89%) hue-rotate(180deg) invert();
2992 }
2993
2994 .bordered_image {
2995 border-radius: var(--border-radius-small);
2996 border: 1px solid var(--separator-color);
2997 display: inline-block;
2998 overflow: hidden;
2999 }
3000
3001 .bordered_image:empty {
3002 border: none;
3003 }
3004
3005 html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
3006 html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
3007 border-radius: var(--border-radius-small);
3008 }
3009
3010 /*
3011 Button
3012 */
3013
3014 .primary-button {
3015 display: inline-block;
3016 cursor: pointer;
3017 background: var(--primary-color);
3018 color: var(--page-background-color) !important;
3019 border-radius: var(--border-radius-medium);
3020 padding: var(--spacing-small) var(--spacing-medium);
3021 text-decoration: none;
3022 }
3023
3024 .primary-button:hover {
3025 background: var(--primary-dark-color);
3026 }
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.