2025-05-20 20:35:17 +08:00
|
|
|
<!-- HTML header for doxygen 1.9.8-->
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
|
|
<meta name="generator" content="Doxygen $doxygenversion"/>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
|
|
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
|
|
|
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
|
|
|
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
|
|
|
<!--BEGIN DISABLE_INDEX-->
|
|
|
|
<!--BEGIN FULL_SIDEBAR-->
|
|
|
|
<script type="text/javascript">var page_layout=1;</script>
|
|
|
|
<!--END FULL_SIDEBAR-->
|
|
|
|
<!--END DISABLE_INDEX-->
|
|
|
|
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
|
|
|
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
|
|
|
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
|
|
|
|
<script type="text/javascript" src="$relpath^doxygen-awesome-paragraph-link.js"></script>
|
|
|
|
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
|
|
|
|
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
|
2025-06-01 05:19:18 +08:00
|
|
|
<script type="module">
|
2025-05-20 20:35:17 +08:00
|
|
|
DoxygenAwesomeFragmentCopyButton.init()
|
|
|
|
DoxygenAwesomeParagraphLink.init()
|
|
|
|
DoxygenAwesomeInteractiveToc.init()
|
|
|
|
DoxygenAwesomeTabs.init()
|
2025-05-31 01:32:42 +08:00
|
|
|
|
2025-06-01 05:19:18 +08:00
|
|
|
await new Promise(r => window.addEventListener('DOMContentLoaded', r));
|
|
|
|
|
|
|
|
// Remove title when a img[alt='title-img'] is present.
|
|
|
|
// Find an image with the alt "img-title".
|
|
|
|
const img = document.querySelector("img[alt='title-img']");
|
|
|
|
const header = document.querySelector(".headertitle");
|
|
|
|
|
|
|
|
if (img && header) {
|
|
|
|
// Hide the header title progressively.
|
|
|
|
header.style.display = "none";
|
|
|
|
|
|
|
|
// Show progressively the image.
|
|
|
|
img.style.maxHeight = "40vh";
|
|
|
|
img.style.maxWidth = "100%";
|
|
|
|
img.style.objectFit = "contain";
|
|
|
|
}
|
|
|
|
|
|
|
|
// In the "examples.html" page. Turn every link with text
|
|
|
|
// "examples/<...>
|
|
|
|
//
|
|
|
|
// Add a "demo" link toward.
|
|
|
|
// https://arthursonzogni.github.io/FTXUI/examples/?file=<...>
|
|
|
|
const examples = document.querySelectorAll("a")
|
|
|
|
examples.forEach((example) => {
|
|
|
|
if (!example.textContent.startsWith("examples/")) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Remove the ".cpp" extension from the example name.
|
|
|
|
const exampleName = example.textContent.replace("examples/", "").replace(".cpp", "");
|
|
|
|
|
|
|
|
const a = document.createElement("a");
|
|
|
|
a.textContent = "[demo]";
|
|
|
|
a.href = "https://arthursonzogni.github.io/FTXUI/examples/?file=" + exampleName;
|
|
|
|
a.style.marginRight= "1em";
|
|
|
|
a.style.fontWeight = "bold";
|
|
|
|
|
|
|
|
example.parentElement.insertBefore(a, example)
|
2025-05-31 01:32:42 +08:00
|
|
|
});
|
2025-06-01 05:19:18 +08:00
|
|
|
|
|
|
|
// If the current URL ends with -example.html, we can add a link to the demo
|
|
|
|
// as well using the div.title textContent.
|
|
|
|
const url = new URL(window.location.href);
|
|
|
|
if (url.pathname.endsWith("-example.html")) {
|
|
|
|
// Get the title text.
|
|
|
|
const title = document.querySelector("div.title").textContent;
|
|
|
|
const example = title.replace("examples/", "").replace(".cpp", "");
|
|
|
|
|
|
|
|
// Create a link to the demo.
|
|
|
|
const a = document.createElement("a");
|
|
|
|
a.textContent = "[demo]";
|
|
|
|
a.href = "https://arthursonzogni.github.io/FTXUI/examples/?file=" + example;
|
|
|
|
a.style.marginLeft = "1em";
|
|
|
|
a.style.fontWeight = "bold";
|
|
|
|
a.style.display = "inline-block";
|
|
|
|
|
|
|
|
// Insert the link after the title.
|
|
|
|
const titleDiv = document.querySelector("div.title");
|
|
|
|
if (titleDiv) {
|
|
|
|
titleDiv.insertBefore(a, titleDiv.nextSibling);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2025-05-20 20:35:17 +08:00
|
|
|
</script>
|
2025-06-03 17:36:07 +08:00
|
|
|
<script type="module">
|
|
|
|
// Click on the navtree, except for the main page where this is already done
|
|
|
|
// automatically.
|
|
|
|
let delay = 0;
|
|
|
|
while(true) {
|
|
|
|
const navtree = document.querySelector("div.item.selected");
|
|
|
|
if (!navtree) {
|
|
|
|
delay *= 2;
|
|
|
|
delay += 1;
|
|
|
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Include only selected navtree items.
|
|
|
|
console.log("navtree.textContent", navtree.textContent);
|
|
|
|
if (!navtree.textContent.includes("Getting Started") &&
|
|
|
|
!navtree.textContent.includes("Installation") &&
|
|
|
|
!navtree.textContent.includes("ftxui / screen") &&
|
|
|
|
!navtree.textContent.includes("ftxui / dom") &&
|
|
|
|
!navtree.textContent.includes("ftxui / component") &&
|
|
|
|
!navtree.textContent.includes("Reference")) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Find the first link inside the navtree.
|
|
|
|
const link = navtree.querySelector("a");
|
|
|
|
if (link) {
|
|
|
|
// Simulate a click on the link.
|
|
|
|
link.click();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
2025-06-01 05:19:18 +08:00
|
|
|
|
2025-05-20 20:35:17 +08:00
|
|
|
$treeview
|
|
|
|
$search
|
|
|
|
$mathjax
|
|
|
|
$darkmode
|
|
|
|
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
|
|
|
$extrastylesheet
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!--BEGIN DISABLE_INDEX-->
|
|
|
|
<!--BEGIN FULL_SIDEBAR-->
|
|
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
|
|
|
|
<!--END FULL_SIDEBAR-->
|
|
|
|
<!--END DISABLE_INDEX-->
|
|
|
|
|
|
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
|
|
|
|
|
|
<!--BEGIN TITLEAREA-->
|
|
|
|
<div id="titlearea">
|
|
|
|
<table cellspacing="0" cellpadding="0">
|
|
|
|
<tbody>
|
|
|
|
<tr id="projectrow">
|
|
|
|
<!--BEGIN PROJECT_LOGO-->
|
|
|
|
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
|
|
|
|
<!--END PROJECT_LOGO-->
|
|
|
|
<!--BEGIN PROJECT_NAME-->
|
|
|
|
<td id="projectalign">
|
|
|
|
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER-->
|
|
|
|
</div>
|
|
|
|
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
|
|
|
</td>
|
|
|
|
<!--END PROJECT_NAME-->
|
|
|
|
<!--BEGIN !PROJECT_NAME-->
|
|
|
|
<!--BEGIN PROJECT_BRIEF-->
|
|
|
|
<td>
|
|
|
|
<div id="projectbrief">$projectbrief</div>
|
|
|
|
</td>
|
|
|
|
<!--END PROJECT_BRIEF-->
|
|
|
|
<!--END !PROJECT_NAME-->
|
|
|
|
<!--BEGIN DISABLE_INDEX-->
|
|
|
|
<!--BEGIN SEARCHENGINE-->
|
|
|
|
<!--BEGIN !FULL_SIDEBAR-->
|
|
|
|
<td>$searchbox</td>
|
|
|
|
<!--END !FULL_SIDEBAR-->
|
|
|
|
<!--END SEARCHENGINE-->
|
|
|
|
<!--END DISABLE_INDEX-->
|
|
|
|
</tr>
|
|
|
|
<!--BEGIN SEARCHENGINE-->
|
|
|
|
<!--BEGIN FULL_SIDEBAR-->
|
|
|
|
<tr><td colspan="2">$searchbox</td></tr>
|
|
|
|
<!--END FULL_SIDEBAR-->
|
|
|
|
<!--END SEARCHENGINE-->
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<!--END TITLEAREA-->
|
|
|
|
<!-- end header part -->
|