4 Commits

Author SHA1 Message Date
Alex
6ff53bb98e Merge baa5973128 into 2f0afe7b14 2025-05-31 20:01:05 +03:00
ArthurSonzogni
2f0afe7b14 Fix documentation image headers.
Some checks are pending
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (cl, cl, windows-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (clang, clang++, macos-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (clang, clang++, ubuntu-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (gcc, g++, macos-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (gcc, g++, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (cl, Windows MSVC, windows-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (gcc, Linux GCC, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (llvm, llvm-cov gcov, Linux Clang, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (llvm, llvm-cov gcov, MacOS clang, macos-latest) (push) Waiting to run
Documentation / documentation (push) Waiting to run
2025-05-30 20:13:47 +02:00
ArthurSonzogni
cde284e747 Doc: Add image headers. 2025-05-30 19:32:42 +02:00
alexv-ds
baa5973128 msvc getenv deprecation warn fix 2024-07-18 18:34:34 +03:00
5 changed files with 46 additions and 6 deletions

View File

@@ -1,6 +1,8 @@
@page getting-started Getting Started @page getting-started Getting Started
@tableofcontents @tableofcontents
![title-img](https://nsm09.casimages.com/img/2025/05/30//2505300816063242518595256.jpg)
# Install FTXUI # Install FTXUI
To set up FTXUI in your project, follow the [installation guide](installation.html), which provides instructions for multiple build systems and package managers. To set up FTXUI in your project, follow the [installation guide](installation.html), which provides instructions for multiple build systems and package managers.

View File

@@ -25,6 +25,26 @@
DoxygenAwesomeParagraphLink.init() DoxygenAwesomeParagraphLink.init()
DoxygenAwesomeInteractiveToc.init() DoxygenAwesomeInteractiveToc.init()
DoxygenAwesomeTabs.init() DoxygenAwesomeTabs.init()
window.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll(".headertitle").forEach(div => {
// Hide progressively the title.
if (div.textContent != "Getting Started" &&
div.textContent != "Installation" &&
div.textContent != "Modules" &&
true) {
return;
}
div.style.display = "none";
// Show progressively the image.
const img = document.querySelector("img.inline");
img.style.maxHeight = "40vh";
img.style.maxWidth = "100%";
img.style.objectFit = "contain";
});
});
</script> </script>
$treeview $treeview
$search $search

View File

@@ -1,6 +1,9 @@
@page installation Installation @page installation Installation
@tableofcontents @tableofcontents
![title-img](https://nsm09.casimages.com/img/2025/05/30//2505300816063242518595255.jpg)
## Overview ## Overview
FTXUI can be integrated into your project using several build systems and package managers. FTXUI can be integrated into your project using several build systems and package managers.

View File

@@ -1,5 +1,7 @@
# Modules {#modules} # Modules {#modules}
![title-img](https://nsm09.casimages.com/img/2025/05/30//2505300816063242518595251.jpg)
FTXUI is organized into three modules, each building upon the previous: FTXUI is organized into three modules, each building upon the previous:
1. @subpage module-screen — low-level rendering 1. @subpage module-screen — low-level rendering

View File

@@ -48,25 +48,38 @@ Dimensions& FallbackSize() {
return g_fallback_size; return g_fallback_size;
} }
const char* Safe(const char* c) {
return (c != nullptr) ? c : "";
}
bool Contains(const std::string& s, const char* key) { bool Contains(const std::string& s, const char* key) {
return s.find(key) != std::string::npos; return s.find(key) != std::string::npos;
} }
// https://github.com/gabime/spdlog/blob/885b5473e291833b148eeac3b7ce227e582cd88b/include/spdlog/details/os-inl.h#L566
std::string getenv_safe(const char *field) {
#if defined(_MSC_VER)
#if defined(__cplusplus_winrt)
return std::string{}; // not supported under uwp
#else
size_t len = 0;
char buf[1024];
bool ok = ::getenv_s(&len, buf, sizeof(buf), field) == 0;
return ok ? buf : std::string{};
#endif
#else // revert to getenv
char *buf = ::getenv(field); // NOLINT(*-mt-unsafe)
return buf ? buf : std::string{};
#endif
}
Terminal::Color ComputeColorSupport() { Terminal::Color ComputeColorSupport() {
#if defined(__EMSCRIPTEN__) #if defined(__EMSCRIPTEN__)
return Terminal::Color::TrueColor; return Terminal::Color::TrueColor;
#endif #endif
std::string COLORTERM = Safe(std::getenv("COLORTERM")); // NOLINT std::string COLORTERM = getenv_safe("COLORTERM");
if (Contains(COLORTERM, "24bit") || Contains(COLORTERM, "truecolor")) { if (Contains(COLORTERM, "24bit") || Contains(COLORTERM, "truecolor")) {
return Terminal::Color::TrueColor; return Terminal::Color::TrueColor;
} }
std::string TERM = Safe(std::getenv("TERM")); // NOLINT std::string TERM = getenv_safe("TERM");
if (Contains(COLORTERM, "256") || Contains(TERM, "256")) { if (Contains(COLORTERM, "256") || Contains(TERM, "256")) {
return Terminal::Color::Palette256; return Terminal::Color::Palette256;
} }