mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-11-15 11:38:56 +08:00
1194 lines
174 KiB
HTML
1194 lines
174 KiB
HTML
<!-- HTML header for doxygen 1.8.14-->
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="cache-control" content="max-age=86400"/>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>FTXUI: FTXUI</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="resize.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
<script type="text/javascript" src="search/search.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr style="height: 56px;">
|
||
<td id="projectalign" style="padding-left: 0.5em;">
|
||
<div id="projectname">FTXUI
|
||
 <span id="projectnumber">3.0.0</span>
|
||
</div>
|
||
<div id="projectbrief">C++ functional terminal UI.</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.12.0 -->
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() { codefold.init(0); });
|
||
/* @license-end */
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function() {
|
||
initMenu('',true,false,'search.php','Search',true);
|
||
$(function() { init_search(); });
|
||
});
|
||
/* @license-end */
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
$(function(){initNavTree('index.html',''); initResizable(true); });
|
||
/* @license-end */
|
||
</script>
|
||
<div id="doc-content">
|
||
<!-- window showing the filter options -->
|
||
<div id="MSearchSelectWindow"
|
||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
</div>
|
||
|
||
<!-- iframe showing the search results (closed by default) -->
|
||
<div id="MSearchResultsWindow">
|
||
<div id="MSearchResults">
|
||
<div class="SRPage">
|
||
<div id="SRIndex">
|
||
<div id="SRResults"></div>
|
||
<div class="SRStatus" id="Loading">Loading...</div>
|
||
<div class="SRStatus" id="Searching">Searching...</div>
|
||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div><div class="header">
|
||
<div class="headertitle"><div class="title">FTXUI </div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
<div class="toc"><h3>Table of Contents</h3>
|
||
<ul>
|
||
<li class="level1">
|
||
<a href="#introduction">Introduction</a>
|
||
</li>
|
||
<li class="level1">
|
||
<a href="#build">Build</a>
|
||
<ul>
|
||
<li class="level2">
|
||
<a href="#build-cmake">Using CMake</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="level1">
|
||
<a href="#modules">List of modules.</a>
|
||
</li>
|
||
<li class="level1">
|
||
<a href="#module-screen">screen</a>
|
||
</li>
|
||
<li class="level1">
|
||
<a href="#module-dom">dom</a>
|
||
<ul>
|
||
<li class="level2">
|
||
<a href="#dom-text">text</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-vtext">vtext</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-paragraph">paragraph </a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-border">border</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-window">window</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-separator">separator</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-gauge">gauge</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-graph">graph</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-colors">Colors</a>
|
||
<ul>
|
||
<li class="level3">
|
||
<a href="#dom-colors-palette-16">Palette16 </a>
|
||
</li>
|
||
<li class="level3">
|
||
<a href="#dom-colors-palette-256">Palette256 </a>
|
||
</li>
|
||
<li class="level3">
|
||
<a href="#dom-colors-true-color">TrueColor</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-style">Style</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-layout">Layout</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-table">Table</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#dom-canvas">Canvas</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="level1">
|
||
<a href="#module-component">component</a>
|
||
<ul>
|
||
<li class="level2">
|
||
<a href="#component-input">Input</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-menu">Menu</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-toggle">Toggle </a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-checkbox">CheckBox</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-radiobox">RadioBox</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-dropdown">Dropdown</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-slider">Slider</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-renderer">Renderer</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-catchevent">CatchEvent</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-collapsible">Collapsible</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-maybe">Maybe</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-container">Container</a>
|
||
<ul>
|
||
<li class="level3">
|
||
<a href="#component-horizontal">Horizontal</a>
|
||
</li>
|
||
<li class="level3">
|
||
<a href="#component-vertical">Vertical</a>
|
||
</li>
|
||
<li class="level3">
|
||
<a href="#component-tab">Tab</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-resizable-split">ResizableSplit::{Left, Right, Top, Bottom}</a>
|
||
</li>
|
||
<li class="level2">
|
||
<a href="#component-force-redraw">Force a frame redraw.</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="textblock"><h1><a class="anchor" id="introduction"></a>
|
||
Introduction</h1>
|
||
<p>Welcome to the FTXUI documentation!</p>
|
||
<p>This is a brief tutorial. You are also encouraged to learn, by reading the <a href="./examples.html">examples</a></p>
|
||
<p><b>Short example</b></p>
|
||
<p>To build a single frame, you need create an <code><a class="el" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">ftxui::Element</a></code>, and display it on a <code><a class="el" href="classftxui_1_1Screen.html" title="A rectangular grid of Pixel.">ftxui::Screen</a></code>.</p>
|
||
<p><b>main.cpp</b> </p><div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="elements_8hpp.html">ftxui/dom/elements.hpp</a>></span></div>
|
||
<div class="line"><span class="preprocessor">#include <<a class="code" href="screen_8hpp.html">ftxui/screen/screen.hpp</a>></span></div>
|
||
<div class="line"><span class="preprocessor">#include <iostream></span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>) {</div>
|
||
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespaceftxui.html">ftxui</a>;</div>
|
||
<div class="line"> </div>
|
||
<div class="line"> <span class="comment">// Define the document</span></div>
|
||
<div class="line"> <a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> document =</div>
|
||
<div class="line"> hbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">"left"</span>) | border,</div>
|
||
<div class="line"> text(<span class="stringliteral">"middle"</span>) | border | flex,</div>
|
||
<div class="line"> text(<span class="stringliteral">"right"</span>) | border,</div>
|
||
<div class="line"> });</div>
|
||
<div class="line"> </div>
|
||
<div class="line"> <span class="keyword">auto</span> screen = Screen::Create(</div>
|
||
<div class="line"> Dimension::Full(), <span class="comment">// Width</span></div>
|
||
<div class="line"> Dimension::Fit(document) <span class="comment">// Height</span></div>
|
||
<div class="line"> );</div>
|
||
<div class="line"> Render(screen, document);</div>
|
||
<div class="line"> screen.Print();</div>
|
||
<div class="line"> </div>
|
||
<div class="line"> <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
|
||
<div class="line">}</div>
|
||
<div class="ttc" id="aelements_8hpp_html"><div class="ttname"><a href="elements_8hpp.html">elements.hpp</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html"><div class="ttname"><a href="namespaceftxui.html">ftxui</a></div><div class="ttdef"><b>Definition</b> <a href="animation_8hpp_source.html#l00009">animation.hpp:9</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a2bc31f2d685189e5c61d2293a1f51b4f"><div class="ttname"><a href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">ftxui::Element</a></div><div class="ttdeci">std::shared_ptr< Node > Element</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00018">elements.hpp:18</a></div></div>
|
||
<div class="ttc" id="ascreen_8hpp_html"><div class="ttname"><a href="screen_8hpp.html">screen.hpp</a></div></div>
|
||
</div><!-- fragment --><p><b>output</b> </p><div class="fragment"><div class="line">┌────┐┌─────────────────────────────────────────────────────────────────┐┌─────┐</div>
|
||
<div class="line">│left││middle ││right│</div>
|
||
<div class="line">└────┘└─────────────────────────────────────────────────────────────────┘└─────┘</div>
|
||
</div><!-- fragment --><h1><a class="anchor" id="build"></a>
|
||
Build</h1>
|
||
<h2><a class="anchor" id="build-cmake"></a>
|
||
Using CMake</h2>
|
||
<p>CMakeLists.txt </p><div class="fragment"><div class="line">cmake_minimum_required (VERSION 3.11)</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># --- Fetch FTXUI --------------------------------------------------------------</div>
|
||
<div class="line">include(FetchContent)</div>
|
||
<div class="line"> </div>
|
||
<div class="line">set(FETCHCONTENT_UPDATES_DISCONNECTED TRUE)</div>
|
||
<div class="line">FetchContent_Declare(ftxui</div>
|
||
<div class="line"> GIT_REPOSITORY https://github.com/ArthurSonzogni/ftxui</div>
|
||
<div class="line"> # Important: Specify a GIT_TAG XXXXX here.</div>
|
||
<div class="line">)</div>
|
||
<div class="line"> </div>
|
||
<div class="line">FetchContent_GetProperties(ftxui)</div>
|
||
<div class="line">if(NOT ftxui_POPULATED)</div>
|
||
<div class="line"> FetchContent_Populate(ftxui)</div>
|
||
<div class="line"> add_subdirectory(${ftxui_SOURCE_DIR} ${ftxui_BINARY_DIR} EXCLUDE_FROM_ALL)</div>
|
||
<div class="line">endif()</div>
|
||
<div class="line"> </div>
|
||
<div class="line"># ------------------------------------------------------------------------------</div>
|
||
<div class="line"> </div>
|
||
<div class="line">project(ftxui-starter</div>
|
||
<div class="line"> LANGUAGES CXX</div>
|
||
<div class="line"> VERSION 1.0.0</div>
|
||
<div class="line">)</div>
|
||
<div class="line"> </div>
|
||
<div class="line">add_executable(ftxui-starter src/main.cpp)</div>
|
||
<div class="line">target_include_directories(ftxui-starter PRIVATE src)</div>
|
||
<div class="line"> </div>
|
||
<div class="line">target_link_libraries(ftxui-starter</div>
|
||
<div class="line"> PRIVATE ftxui::screen</div>
|
||
<div class="line"> PRIVATE ftxui::dom</div>
|
||
<div class="line"> PRIVATE ftxui::component # Not needed for this example.</div>
|
||
<div class="line">)</div>
|
||
</div><!-- fragment --><p>Build </p><div class="fragment"><div class="line">mkdir build && cd build</div>
|
||
<div class="line">cmake ..</div>
|
||
<div class="line">make</div>
|
||
<div class="line">./main</div>
|
||
</div><!-- fragment --><h1><a class="anchor" id="modules"></a>
|
||
List of modules.</h1>
|
||
<p>The project is made from into 3 modules:</p>
|
||
<ol type="1">
|
||
<li><b>ftxui/screen</b> defines a <code><a class="el" href="classftxui_1_1Screen.html" title="A rectangular grid of Pixel.">ftxui::Screen</a></code>, this is a grid of <code><a class="el" href="structftxui_1_1Pixel.html" title="A unicode character and its associated style.">ftxui::Pixel</a></code>.</li>
|
||
<li><b>ftxui/dom</b> is the main module. It defines a hierarchical set of <code><a class="el" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">ftxui::Element</a></code>. An element draws something on the <code><a class="el" href="classftxui_1_1Screen.html" title="A rectangular grid of Pixel.">ftxui::Screen</a></code>. It is responsive to the size of its container.</li>
|
||
<li><b>ftxui/component</b> The part is only needed if you need to respond to the User input. It defines a set of <code><a class="el" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">ftxui::Component</a></code>. The use can navigates using the arrow keys and interact with widgets like checkbox/inputbox/... You can make you own components.</li>
|
||
</ol>
|
||
<h1><a class="anchor" id="module-screen"></a>
|
||
screen</h1>
|
||
<p>It defines a <code><a class="el" href="classftxui_1_1Screen.html" title="A rectangular grid of Pixel.">ftxui::Screen</a></code>. This is a grid of <code><a class="el" href="structftxui_1_1Pixel.html" title="A unicode character and its associated style.">ftxui::Pixel</a></code>. A Pixel represent a Unicode character and its associated style (bold, colors, etc...). The screen can be printed as a string using <code><a class="el" href="classftxui_1_1Screen.html#a7ef596a0c429a1a74709cf14d8fa15d2">ftxui::Screen::ToString()</a></code>.</p>
|
||
<div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="screen_8hpp.html">ftxui/screen/screen.hpp</a>></span></div>
|
||
<div class="line"><span class="preprocessor">#include <iostream></span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">void</span>) {</div>
|
||
<div class="line"> <span class="keyword">using namespace </span><a class="code hl_namespace" href="namespaceftxui.html">ftxui</a>;</div>
|
||
<div class="line"> <span class="keyword">auto</span> screen = Screen::Create(Dimension::Fixed(32), Dimension::Fixed(10));</div>
|
||
<div class="line"> </div>
|
||
<div class="line"> <span class="keyword">auto</span>& pixel = screen.PixelAt(9,9);</div>
|
||
<div class="line"> pixel.character = U<span class="charliteral">'A'</span>;</div>
|
||
<div class="line"> pixel.bold = <span class="keyword">true</span>;</div>
|
||
<div class="line"> pixel.foreground_color = Color::Blue;</div>
|
||
<div class="line"> </div>
|
||
<div class="line"> std::cout << screen.ToString();</div>
|
||
<div class="line"> <span class="keywordflow">return</span> EXIT_SUCCESS;</div>
|
||
<div class="line">}</div>
|
||
</div><!-- fragment --><h1><a class="anchor" id="module-dom"></a>
|
||
dom</h1>
|
||
<p>This module defines a hierarchical set of <code><a class="el" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">ftxui::Element</a></code>. An element manages layout and can be responsive to the terminal dimensions.</p>
|
||
<p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="comment">// Define the document</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> document = vbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">"The window"</span>) | bold | color(Color::Blue),</div>
|
||
<div class="line"> gauge(0.5)</div>
|
||
<div class="line"> text("The footer")</div>
|
||
<div class="line">});</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Add a border, by calling the `ftxui::border` decorator function.</span></div>
|
||
<div class="line">document = border(document);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Add another border, using the pipe operator.</span></div>
|
||
<div class="line">document = document | border.</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Add another border, using the |= operator.</span></div>
|
||
<div class="line">document |= border</div>
|
||
</div><!-- fragment --><p><b>List of elements</b></p>
|
||
<p>They are all defined inside: </p><div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="elements_8hpp.html">ftxui/dom/elements.hpp</a>></span></div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line"><span class="preprocessor">#ifndef FTXUI_DOM_ELEMENTS_HPP</span></div>
|
||
<div class="line"><span class="preprocessor">#define FTXUI_DOM_ELEMENTS_HPP</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="preprocessor">#include <functional></span></div>
|
||
<div class="line"><span class="preprocessor">#include <memory></span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="canvas_8hpp.html">ftxui/dom/canvas.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="flexbox__config_8hpp.html">ftxui/dom/flexbox_config.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="node_8hpp.html">ftxui/dom/node.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="box_8hpp.html">ftxui/screen/box.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="color_8hpp.html">ftxui/screen/color.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="screen_8hpp.html">ftxui/screen/screen.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="terminal_8hpp.html">ftxui/screen/terminal.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="ref_8hpp.html">ftxui/util/ref.hpp</a>"</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceftxui.html">ftxui</a> {</div>
|
||
<div class="line"><span class="keyword">class </span>Node;</div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> = std::shared_ptr<Node>;</div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a> = std::vector<Element>;</div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> = std::function<<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>)>;</div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#ab07cb9a766f38fc867f8fe736ce2e6e3">GraphFunction</a> = std::function<std::vector<int>(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>)>;</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">BorderStyle</a> { <a class="code hl_enumvalue" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9caf917d6c11c85b4ac32e30d1cc9da25eb">LIGHT</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca34cd68a92c52759ed9b545969a11c2da">HEAVY</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca33465d1d419b1074fb259ef444609e92">DOUBLE</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca655074b92b285adff7d18a45748bf493">ROUNDED</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca2f0d18fc0d0fa4a6cd92dc328501874d">EMPTY</a> };</div>
|
||
<div class="line"><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0">GaugeDirection</a> { <a class="code hl_enumvalue" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a945d5e233cf7d6240f6b783b36a374ff">Left</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a258f49887ef8d14ac268c92b02503aaa">Up</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a92b09c7c48c520c3c55e497875da437c">Right</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a08a38277b0309070706f6652eeae9a53">Down</a> };</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Pipe elements into decorator togethers.</span></div>
|
||
<div class="line"><span class="comment">// For instance the next lines are equivalents:</span></div>
|
||
<div class="line"><span class="comment">// -> text("ftxui") | bold | underlined</span></div>
|
||
<div class="line"><span class="comment">// -> underlined(bold(text("FTXUI")))</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">operator|</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>, <a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>& <a class="code hl_function" href="namespaceftxui.html#ade35e69d695327db85be01c9787c39f8">operator|=</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>&, <a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a> <a class="code hl_function" href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">operator|</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>, <a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">operator|</a>(<a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a>, <a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// --- Widget ---</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>(std::string <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a9f9f7485a45aa9d432726ca9845d1eac">vtext</a>(std::string <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ac1ef1cf6bf7cd0759ffa195071edb2a0">separator</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a37c2b93daf557f68064bc9fbf93ebde0">separatorLight</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af0649e89a9960f1c2703e48c1817645b">separatorHeavy</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#add376830fdb51b0bf52672ef17515989">separatorDouble</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1934703e56ab66f6f259b9f8da331f1b">separatorEmpty</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a13cb559cfc7e409b3f211f0bb35ea7fa">separatorStyled</a>(<a class="code hl_enumeration" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">BorderStyle</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ac1ef1cf6bf7cd0759ffa195071edb2a0">separator</a>(Pixel);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a97a10482d591aade2958da0f2f19b371">separatorCharacter</a>(std::string);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a50413065cee4757447b35c3a500667d3">separatorHSelector</a>(<span class="keywordtype">float</span> left,</div>
|
||
<div class="line"> <span class="keywordtype">float</span> right,</div>
|
||
<div class="line"> Color unselected_color,</div>
|
||
<div class="line"> Color selected_color);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1a0211233bacd4eb4d31a8e3d58b5f48">separatorVSelector</a>(<span class="keywordtype">float</span> up,</div>
|
||
<div class="line"> <span class="keywordtype">float</span> down,</div>
|
||
<div class="line"> Color unselected_color,</div>
|
||
<div class="line"> Color selected_color);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ae0b8041a60629fd790716038738c93ce">gauge</a>(<span class="keywordtype">float</span> progress);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a97898b9f77b3edd330eaef22fce7cf2b">gaugeLeft</a>(<span class="keywordtype">float</span> progress);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a333d781a44885ed4b5ea8444015b86f7">gaugeRight</a>(<span class="keywordtype">float</span> progress);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a6e9a97b66c14404a2b3f95f4dae414c2">gaugeUp</a>(<span class="keywordtype">float</span> progress);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#afe537f915cac5613261580bae3a8fe33">gaugeDown</a>(<span class="keywordtype">float</span> progress);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ae554f6d15b73507ada5913662a32165a">gaugeDirection</a>(<span class="keywordtype">float</span> progress, <a class="code hl_enumeration" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0">GaugeDirection</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ae8537acd423d47cf07e61bd774fb1098">border</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#aa074cdab57eeb47b99f1699bcc8addd8">borderLight</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a666c31419cc31cdadc9f8178ed63529e">borderHeavy</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a052b504344f3bc1ff86b3493cd934215">borderDouble</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a3cf2db223a5efaa370f0ca6bb405b80e">borderRounded</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af20f7d6fb275d109f0bdc01a2e4d3f3e">borderEmpty</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#abc9db79957d4dd36deb8ca79938e4c41">borderStyled</a>(<a class="code hl_enumeration" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">BorderStyle</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#aa97cfcfbe6df92dac085454395ec7b2f">borderWith</a>(<span class="keyword">const</span> Pixel&);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a443afb3d149fedaf88b89249c8f6dc25">window</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> title, <a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> content);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a3b08e0030a0831d3ec3e2a505908273b">spinner</a>(<span class="keywordtype">int</span> charset_index, <span class="keywordtype">size_t</span> image_index);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ac54cdd05db30871ce082a8fa650545da">paragraph</a>(<span class="keyword">const</span> std::string& <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#aa334a836eccc573e1137a1ba29d07d8a">paragraphAlignLeft</a>(<span class="keyword">const</span> std::string& <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a28a69f06a88c89fe7a507e33ab486411">paragraphAlignRight</a>(<span class="keyword">const</span> std::string& <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a6a105f6b0d07d7933379ff1ae9282fb8">paragraphAlignCenter</a>(<span class="keyword">const</span> std::string& <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ae4de548aa67ab77cb345e4ddec6b248b">paragraphAlignJustify</a>(<span class="keyword">const</span> std::string& <a class="code hl_function" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">text</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ae78c2b2b147e65701493465f8e3f4d89">graph</a>(<a class="code hl_typedef" href="namespaceftxui.html#ab07cb9a766f38fc867f8fe736ce2e6e3">GraphFunction</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a40451515a5b3049e7a1276cad8b9356c">emptyElement</a>();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a57d7bdf155e190de514a689abb4e9a35">canvas</a>(ConstRef<Canvas>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a57d7bdf155e190de514a689abb4e9a35">canvas</a>(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, std::function<<span class="keywordtype">void</span>(Canvas&)>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a57d7bdf155e190de514a689abb4e9a35">canvas</a>(std::function<<span class="keywordtype">void</span>(Canvas&)>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// -- Decorator ---</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a353c769068e25303eb41fa2da565c604">bold</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ac6a3b77604739516e809369810896646">dim</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a672456b8f2091b615a30ff755418b37b">inverted</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a5ad450c97c4d084b64ffb5b5ca942664">underlined</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ad57613de5895e774218d91dea48d074b">blink</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#af61b489da39ca5e24b68e6e1a2b09c0d">color</a>(Color);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#a01d4c5aaf0447e862246849111782245">bgcolor</a>(Color);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af61b489da39ca5e24b68e6e1a2b09c0d">color</a>(Color, <a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a01d4c5aaf0447e862246849111782245">bgcolor</a>(Color, <a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#a78447ba1ccb792963ad6d306f4ed1256">focusPosition</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#a13befad33cb4125e2143f2af3eddcc71">focusPositionRelative</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#aca42bd6c44d8d366d5c1014330402086">automerge</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> child);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// --- Layout is</span></div>
|
||
<div class="line"><span class="comment">// Horizontal, Vertical or stacked set of elements.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a552ba6d33b3c9bec586b99fba4c243ac">hbox</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#afd28058f0ccbbdf34691a85a7cc9b2e3">vbox</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a901ab1b6b2e0e8c295552168ab206441">dbox</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1b45cae54e7a6afcf338eb77a54e4df6">flexbox</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>, FlexboxConfig config = FlexboxConfig());</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#abcdf409d605edafd3191cd7ba47bcbd1">gridbox</a>(std::vector<Elements> lines);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a4c7a358e515dbd4bc1fba8c6f59fe911">hflow</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>); <span class="comment">// Helper: default flexbox with row direction.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a9a3c8f59366f1e93d79c0a9dd13e7621">vflow</a>(<a class="code hl_typedef" href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">Elements</a>); <span class="comment">// Helper: default flexbox with column direction.</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// -- Flexibility ---</span></div>
|
||
<div class="line"><span class="comment">// Define how to share the remaining space when not all of it is used inside a</span></div>
|
||
<div class="line"><span class="comment">// container.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a257acd2bd47bab7db879cca2c0e67e23">flex</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand/Minimize if possible/needed.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a81ed6b31f512e849247f13d249f6f20e">flex_grow</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand element if possible.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a4629196b5ffc280054d35f2a9977e829">flex_shrink</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Minimize element if needed.</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a0dbba98e14f63f1dd5163cbdc4f42da8">xflex</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand/Minimize if possible/needed on X axis.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1618cb15307f29eb3d531e7b44c280d3">xflex_grow</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand element if possible on X axis.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a95275a9271934cf76e970c6650cc224d">xflex_shrink</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Minimize element if needed on X axis.</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a42c7a33df6d890de30fc1ebb2d1b3ca6">yflex</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand/Minimize if possible/needed on Y axis.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a7eac3f709e905af8f583aed52093b7ce">yflex_grow</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Expand element if possible on Y axis.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af7d0757f5965aa579bccc125ff909256">yflex_shrink</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Minimize element if needed on Y axis.</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a845b0ea50d51024aa4e050447b46e1dd">notflex</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>); <span class="comment">// Reset the flex attribute.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ac2a9ed2d22ec3c8811b61f4a901ed367">filler</a>(); <span class="comment">// A blank expandable element.</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// -- Size override;</span></div>
|
||
<div class="line"><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aa">Direction</a> { <a class="code hl_enumvalue" href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aaa73c0818986b7c462c2977f57afd00522">WIDTH</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aaa38b9241136017b93ea2755a49cf0a000">HEIGHT</a> };</div>
|
||
<div class="line"><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926">Constraint</a> { <a class="code hl_enumvalue" href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a41b05932cd237b2b133fff1ade85bed5">LESS_THAN</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a59a84258a4cb9025b567ee5139455029">EQUAL</a>, <a class="code hl_enumvalue" href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a5fae95457121bd697edd588d1b64cc7c">GREATER_THAN</a> };</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#adbda408cdd76f3bbd9c4e863672b7122">size</a>(<a class="code hl_enumeration" href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aa">Direction</a>, <a class="code hl_enumeration" href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926">Constraint</a>, <span class="keywordtype">int</span> value);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// --</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> <a class="code hl_function" href="namespaceftxui.html#aaff8245861617a3d9e846e99de582a63">reflect</a>(Box& box);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// --- Frame ---</span></div>
|
||
<div class="line"><span class="comment">// A frame is a scrollable area. The internal area is potentially larger than</span></div>
|
||
<div class="line"><span class="comment">// the external one. The internal area is scrolled in order to make visible the</span></div>
|
||
<div class="line"><span class="comment">// focused element.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ad0d6a96f6e1fb6d67d9fa6323062a737">frame</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a2616fcc18ca2fb41954749e67647b48f">xframe</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a8406bb311fbaf67a7779833635c348ea">yframe</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a52ee73ca2fb34afb6e6f25ac7df04b0e">focus</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af0a483ef6e8a00023755c4637a1fcb9d">select</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1974176e676afdb96d203e8e0f579219">vscroll_indicator</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// --- Util --------------------------------------------------------------------</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#af7d0d1e44c1a5424e42a5cddceacf7f7">hcenter</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#ad907a8a48bb9f9dfdb06402e9fc12316">vcenter</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a5b11656305fce8427b81daf1c35883f1">center</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a778e52afe28f1978f1f7ef065ed92d6d">align_right</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a1bfd3885ac8b40dc82a1103725003c07">nothing</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> element);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Before drawing the |element| clear the pixel below. This is useful in</span></div>
|
||
<div class="line"><span class="comment">// combinaison with dbox.</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> <a class="code hl_function" href="namespaceftxui.html#a17a89519e6b87e12b1e5811a702f7847">clear_under</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> element);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">namespace </span>Dimension {</div>
|
||
<div class="line">Dimensions <a class="code hl_function" href="namespaceftxui_1_1Dimension.html#af15ab09adb0a016476e5fa5afac153bb">Fit</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>&);</div>
|
||
<div class="line">} <span class="comment">// namespace Dimension</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line">} <span class="comment">// namespace ftxui</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Make container able to take any number of children as input.</span></div>
|
||
<div class="line"><span class="preprocessor">#include "ftxui/dom/take_any_args.hpp"</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Include old definitions using wstring.</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="dom_2deprecated_8hpp.html">ftxui/dom/deprecated.hpp</a>"</span></div>
|
||
<div class="line"><span class="preprocessor">#endif </span><span class="comment">// FTXUI_DOM_ELEMENTS_HPP</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Copyright 2020 Arthur Sonzogni. All rights reserved.</span></div>
|
||
<div class="line"><span class="comment">// Use of this source code is governed by the MIT license that can be found in</span></div>
|
||
<div class="line"><span class="comment">// the LICENSE file.</span></div>
|
||
<div class="ttc" id="abox_8hpp_html"><div class="ttname"><a href="box_8hpp.html">box.hpp</a></div></div>
|
||
<div class="ttc" id="acanvas_8hpp_html"><div class="ttname"><a href="canvas_8hpp.html">canvas.hpp</a></div></div>
|
||
<div class="ttc" id="acolor_8hpp_html"><div class="ttname"><a href="color_8hpp.html">color.hpp</a></div></div>
|
||
<div class="ttc" id="adom_2deprecated_8hpp_html"><div class="ttname"><a href="dom_2deprecated_8hpp.html">deprecated.hpp</a></div></div>
|
||
<div class="ttc" id="aflexbox__config_8hpp_html"><div class="ttname"><a href="flexbox__config_8hpp.html">flexbox_config.hpp</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_1_1Dimension_html_af15ab09adb0a016476e5fa5afac153bb"><div class="ttname"><a href="namespaceftxui_1_1Dimension.html#af15ab09adb0a016476e5fa5afac153bb">ftxui::Dimension::Fit</a></div><div class="ttdeci">Dimensions Fit(Element &)</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a01d4c5aaf0447e862246849111782245"><div class="ttname"><a href="namespaceftxui.html#a01d4c5aaf0447e862246849111782245">ftxui::bgcolor</a></div><div class="ttdeci">Decorator bgcolor(Color)</div><div class="ttdoc">Decorate using a background color.</div><div class="ttdef"><b>Definition</b> <a href="dom_2color_8cpp_source.html#l00100">color.cpp:100</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a052b504344f3bc1ff86b3493cd934215"><div class="ttname"><a href="namespaceftxui.html#a052b504344f3bc1ff86b3493cd934215">ftxui::borderDouble</a></div><div class="ttdeci">Element borderDouble(Element)</div><div class="ttdoc">Draw a double border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00320">border.cpp:320</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a0dbba98e14f63f1dd5163cbdc4f42da8"><div class="ttname"><a href="namespaceftxui.html#a0dbba98e14f63f1dd5163cbdc4f42da8">ftxui::xflex</a></div><div class="ttdeci">Element xflex(Element)</div><div class="ttdoc">Expand/Minimize if possible/needed on the X axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00126">flex.cpp:126</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a13befad33cb4125e2143f2af3eddcc71"><div class="ttname"><a href="namespaceftxui.html#a13befad33cb4125e2143f2af3eddcc71">ftxui::focusPositionRelative</a></div><div class="ttdeci">Decorator focusPositionRelative(float x, float y)</div><div class="ttdoc">Used inside a frame, this force the view to be scrolled toward a a given position....</div><div class="ttdef"><b>Definition</b> <a href="focus_8cpp_source.html#l00028">focus.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a13cb559cfc7e409b3f211f0bb35ea7fa"><div class="ttname"><a href="namespaceftxui.html#a13cb559cfc7e409b3f211f0bb35ea7fa">ftxui::separatorStyled</a></div><div class="ttdeci">Element separatorStyled(BorderStyle)</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00167">separator.cpp:167</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1618cb15307f29eb3d531e7b44c280d3"><div class="ttname"><a href="namespaceftxui.html#a1618cb15307f29eb3d531e7b44c280d3">ftxui::xflex_grow</a></div><div class="ttdeci">Element xflex_grow(Element)</div><div class="ttdoc">Expand if possible on the X axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00144">flex.cpp:144</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a164021903e9ac6f1357e4186582891e3"><div class="ttname"><a href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">ftxui::Decorator</a></div><div class="ttdeci">std::function< Element(Element)> Decorator</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00020">elements.hpp:20</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a17a89519e6b87e12b1e5811a702f7847"><div class="ttname"><a href="namespaceftxui.html#a17a89519e6b87e12b1e5811a702f7847">ftxui::clear_under</a></div><div class="ttdeci">Element clear_under(Element element)</div><div class="ttdoc">Before drawing |child|, clear the pixels below. This is useful in.</div><div class="ttdef"><b>Definition</b> <a href="clear__under_8cpp_source.html#l00032">clear_under.cpp:32</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1934703e56ab66f6f259b9f8da331f1b"><div class="ttname"><a href="namespaceftxui.html#a1934703e56ab66f6f259b9f8da331f1b">ftxui::separatorEmpty</a></div><div class="ttdeci">Element separatorEmpty()</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements, using the EMPTY style.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00311">separator.cpp:311</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1974176e676afdb96d203e8e0f579219"><div class="ttname"><a href="namespaceftxui.html#a1974176e676afdb96d203e8e0f579219">ftxui::vscroll_indicator</a></div><div class="ttdeci">Element vscroll_indicator(Element)</div><div class="ttdoc">Add a filter that will invert the foreground and the background colors.</div><div class="ttdef"><b>Definition</b> <a href="scroll__indicator_8cpp_source.html#l00019">scroll_indicator.cpp:19</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1a0211233bacd4eb4d31a8e3d58b5f48"><div class="ttname"><a href="namespaceftxui.html#a1a0211233bacd4eb4d31a8e3d58b5f48">ftxui::separatorVSelector</a></div><div class="ttdeci">Element separatorVSelector(float up, float down, Color unselected_color, Color selected_color)</div><div class="ttdoc">Draw an vertical bar, with the area in between up/downcolored differently.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00464">separator.cpp:464</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1b45cae54e7a6afcf338eb77a54e4df6"><div class="ttname"><a href="namespaceftxui.html#a1b45cae54e7a6afcf338eb77a54e4df6">ftxui::flexbox</a></div><div class="ttdeci">Element flexbox(Elements, FlexboxConfig config=FlexboxConfig())</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a1bfd3885ac8b40dc82a1103725003c07"><div class="ttname"><a href="namespaceftxui.html#a1bfd3885ac8b40dc82a1103725003c07">ftxui::nothing</a></div><div class="ttdeci">Element nothing(Element element)</div><div class="ttdoc">A decoration doing absolutely nothing.</div><div class="ttdef"><b>Definition</b> <a href="dom_2util_8cpp_source.html#l00026">util.cpp:26</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a224b9163917ac32fc95a60d8c1eec3aa"><div class="ttname"><a href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aa">ftxui::Direction</a></div><div class="ttdeci">Direction</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00125">elements.hpp:125</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a224b9163917ac32fc95a60d8c1eec3aaa38b9241136017b93ea2755a49cf0a000"><div class="ttname"><a href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aaa38b9241136017b93ea2755a49cf0a000">ftxui::HEIGHT</a></div><div class="ttdeci">@ HEIGHT</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00125">elements.hpp:125</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a224b9163917ac32fc95a60d8c1eec3aaa73c0818986b7c462c2977f57afd00522"><div class="ttname"><a href="namespaceftxui.html#a224b9163917ac32fc95a60d8c1eec3aaa73c0818986b7c462c2977f57afd00522">ftxui::WIDTH</a></div><div class="ttdeci">@ WIDTH</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00125">elements.hpp:125</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a257acd2bd47bab7db879cca2c0e67e23"><div class="ttname"><a href="namespaceftxui.html#a257acd2bd47bab7db879cca2c0e67e23">ftxui::flex</a></div><div class="ttdeci">Element flex(Element)</div><div class="ttdoc">Make a child element to expand proportionnally to the space left in a container.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00120">flex.cpp:120</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a2616fcc18ca2fb41954749e67647b48f"><div class="ttname"><a href="namespaceftxui.html#a2616fcc18ca2fb41954749e67647b48f">ftxui::xframe</a></div><div class="ttdeci">Element xframe(Element)</div><div class="ttdef"><b>Definition</b> <a href="frame_8cpp_source.html#l00142">frame.cpp:142</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a28a69f06a88c89fe7a507e33ab486411"><div class="ttname"><a href="namespaceftxui.html#a28a69f06a88c89fe7a507e33ab486411">ftxui::paragraphAlignRight</a></div><div class="ttdeci">Element paragraphAlignRight(const std::string &text)</div><div class="ttdoc">Return an element drawing the paragraph on multiple lines, aligned on the right.</div><div class="ttdef"><b>Definition</b> <a href="paragraph_8cpp_source.html#l00042">paragraph.cpp:42</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a333d781a44885ed4b5ea8444015b86f7"><div class="ttname"><a href="namespaceftxui.html#a333d781a44885ed4b5ea8444015b86f7">ftxui::gaugeRight</a></div><div class="ttdeci">Element gaugeRight(float progress)</div><div class="ttdoc">Draw a high definition progress bar progressing from left to right.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00184">gauge.cpp:184</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a353c769068e25303eb41fa2da565c604"><div class="ttname"><a href="namespaceftxui.html#a353c769068e25303eb41fa2da565c604">ftxui::bold</a></div><div class="ttdeci">Element bold(Element)</div><div class="ttdoc">Use a bold font, for elements with more emphasis.</div><div class="ttdef"><b>Definition</b> <a href="bold_8cpp_source.html#l00028">bold.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a37c2b93daf557f68064bc9fbf93ebde0"><div class="ttname"><a href="namespaceftxui.html#a37c2b93daf557f68064bc9fbf93ebde0">ftxui::separatorLight</a></div><div class="ttdeci">Element separatorLight()</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements, using the LIGHT style.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00203">separator.cpp:203</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a3b08e0030a0831d3ec3e2a505908273b"><div class="ttname"><a href="namespaceftxui.html#a3b08e0030a0831d3ec3e2a505908273b">ftxui::spinner</a></div><div class="ttdeci">Element spinner(int charset_index, size_t image_index)</div><div class="ttdoc">Useful to represent the effect of time and/or events. This display an ASCII art "video".</div><div class="ttdef"><b>Definition</b> <a href="spinner_8cpp_source.html#l00259">spinner.cpp:259</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a3cf2db223a5efaa370f0ca6bb405b80e"><div class="ttname"><a href="namespaceftxui.html#a3cf2db223a5efaa370f0ca6bb405b80e">ftxui::borderRounded</a></div><div class="ttdeci">Element borderRounded(Element)</div><div class="ttdoc">Draw a rounded border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00354">border.cpp:354</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a40451515a5b3049e7a1276cad8b9356c"><div class="ttname"><a href="namespaceftxui.html#a40451515a5b3049e7a1276cad8b9356c">ftxui::emptyElement</a></div><div class="ttdeci">Element emptyElement()</div><div class="ttdef"><b>Definition</b> <a href="dom_2util_8cpp_source.html#l00130">util.cpp:130</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a42c7a33df6d890de30fc1ebb2d1b3ca6"><div class="ttname"><a href="namespaceftxui.html#a42c7a33df6d890de30fc1ebb2d1b3ca6">ftxui::yflex</a></div><div class="ttdeci">Element yflex(Element)</div><div class="ttdoc">Expand/Minimize if possible/needed on the Y axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00132">flex.cpp:132</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a443afb3d149fedaf88b89249c8f6dc25"><div class="ttname"><a href="namespaceftxui.html#a443afb3d149fedaf88b89249c8f6dc25">ftxui::window</a></div><div class="ttdeci">Element window(Element title, Element content)</div><div class="ttdoc">Draw window with a title and a border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00413">border.cpp:413</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a4629196b5ffc280054d35f2a9977e829"><div class="ttname"><a href="namespaceftxui.html#a4629196b5ffc280054d35f2a9977e829">ftxui::flex_shrink</a></div><div class="ttdeci">Element flex_shrink(Element)</div><div class="ttdoc">Minimize if needed.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00156">flex.cpp:156</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a4c7a358e515dbd4bc1fba8c6f59fe911"><div class="ttname"><a href="namespaceftxui.html#a4c7a358e515dbd4bc1fba8c6f59fe911">ftxui::hflow</a></div><div class="ttdeci">Element hflow(Elements)</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a50413065cee4757447b35c3a500667d3"><div class="ttname"><a href="namespaceftxui.html#a50413065cee4757447b35c3a500667d3">ftxui::separatorHSelector</a></div><div class="ttdeci">Element separatorHSelector(float left, float right, Color unselected_color, Color selected_color)</div><div class="ttdoc">Draw an horizontal bar, with the area in between left/right colored differently.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00394">separator.cpp:394</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a52ee73ca2fb34afb6e6f25ac7df04b0e"><div class="ttname"><a href="namespaceftxui.html#a52ee73ca2fb34afb6e6f25ac7df04b0e">ftxui::focus</a></div><div class="ttdeci">Element focus(Element)</div><div class="ttdef"><b>Definition</b> <a href="frame_8cpp_source.html#l00079">frame.cpp:79</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a552ba6d33b3c9bec586b99fba4c243ac"><div class="ttname"><a href="namespaceftxui.html#a552ba6d33b3c9bec586b99fba4c243ac">ftxui::hbox</a></div><div class="ttdeci">Element hbox(Elements)</div><div class="ttdoc">A container displaying elements horizontally one by one.</div><div class="ttdef"><b>Definition</b> <a href="hbox_8cpp_source.html#l00076">hbox.cpp:76</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a57d7bdf155e190de514a689abb4e9a35"><div class="ttname"><a href="namespaceftxui.html#a57d7bdf155e190de514a689abb4e9a35">ftxui::canvas</a></div><div class="ttdeci">Element canvas(ConstRef< Canvas >)</div><div class="ttdoc">Produce an element from a Canvas, or a reference to a Canvas.</div><div class="ttdef"><b>Definition</b> <a href="canvas_8cpp_source.html#l00845">canvas.cpp:845</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a5ad450c97c4d084b64ffb5b5ca942664"><div class="ttname"><a href="namespaceftxui.html#a5ad450c97c4d084b64ffb5b5ca942664">ftxui::underlined</a></div><div class="ttdeci">Element underlined(Element)</div><div class="ttdoc">Make the underlined element to be underlined.</div><div class="ttdef"><b>Definition</b> <a href="underlined_8cpp_source.html#l00028">underlined.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a5b11656305fce8427b81daf1c35883f1"><div class="ttname"><a href="namespaceftxui.html#a5b11656305fce8427b81daf1c35883f1">ftxui::center</a></div><div class="ttdeci">Element center(Element)</div><div class="ttdoc">Center an element horizontally and vertically.</div><div class="ttdef"><b>Definition</b> <a href="composite__decorator_8cpp_source.html#l00028">composite_decorator.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a5d4aa06ca6cc6a72e981bd5386f93f0a"><div class="ttname"><a href="namespaceftxui.html#a5d4aa06ca6cc6a72e981bd5386f93f0a">ftxui::Elements</a></div><div class="ttdeci">std::vector< Element > Elements</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00019">elements.hpp:19</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a65a2e15f64ae3bc205c485abc3a5aeb9"><div class="ttname"><a href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">ftxui::operator|</a></div><div class="ttdeci">Component operator|(Component component, ComponentDecorator decorator)</div><div class="ttdef"><b>Definition</b> <a href="component_2util_8cpp_source.html#l00009">util.cpp:9</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a666c31419cc31cdadc9f8178ed63529e"><div class="ttname"><a href="namespaceftxui.html#a666c31419cc31cdadc9f8178ed63529e">ftxui::borderHeavy</a></div><div class="ttdeci">Element borderHeavy(Element)</div><div class="ttdoc">Draw a heavy border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00286">border.cpp:286</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a672456b8f2091b615a30ff755418b37b"><div class="ttname"><a href="namespaceftxui.html#a672456b8f2091b615a30ff755418b37b">ftxui::inverted</a></div><div class="ttdeci">Element inverted(Element)</div><div class="ttdoc">Add a filter that will invert the foreground and the background colors.</div><div class="ttdef"><b>Definition</b> <a href="inverted_8cpp_source.html#l00029">inverted.cpp:29</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a6a105f6b0d07d7933379ff1ae9282fb8"><div class="ttname"><a href="namespaceftxui.html#a6a105f6b0d07d7933379ff1ae9282fb8">ftxui::paragraphAlignCenter</a></div><div class="ttdeci">Element paragraphAlignCenter(const std::string &text)</div><div class="ttdoc">Return an element drawing the paragraph on multiple lines, aligned on the center.</div><div class="ttdef"><b>Definition</b> <a href="paragraph_8cpp_source.html#l00052">paragraph.cpp:52</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a6e9a97b66c14404a2b3f95f4dae414c2"><div class="ttname"><a href="namespaceftxui.html#a6e9a97b66c14404a2b3f95f4dae414c2">ftxui::gaugeUp</a></div><div class="ttdeci">Element gaugeUp(float progress)</div><div class="ttdoc">Draw a high definition progress bar progressing from bottom to top.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00235">gauge.cpp:235</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a75baaa2734ed76a9f478beaafa87ae57"><div class="ttname"><a href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57">ftxui::text</a></div><div class="ttdeci">Element text(std::wstring text)</div><div class="ttdoc">Display a piece of unicode text.</div><div class="ttdef"><b>Definition</b> <a href="text_8cpp_source.html#l00111">text.cpp:111</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a778e52afe28f1978f1f7ef065ed92d6d"><div class="ttname"><a href="namespaceftxui.html#a778e52afe28f1978f1f7ef065ed92d6d">ftxui::align_right</a></div><div class="ttdeci">Element align_right(Element)</div><div class="ttdoc">Align an element on the right side.</div><div class="ttdef"><b>Definition</b> <a href="composite__decorator_8cpp_source.html#l00036">composite_decorator.cpp:36</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a78447ba1ccb792963ad6d306f4ed1256"><div class="ttname"><a href="namespaceftxui.html#a78447ba1ccb792963ad6d306f4ed1256">ftxui::focusPosition</a></div><div class="ttdeci">Decorator focusPosition(int x, int y)</div><div class="ttdoc">Used inside a frame, this force the view to be scrolled toward a a given position....</div><div class="ttdef"><b>Definition</b> <a href="focus_8cpp_source.html#l00067">focus.cpp:67</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a7eac3f709e905af8f583aed52093b7ce"><div class="ttname"><a href="namespaceftxui.html#a7eac3f709e905af8f583aed52093b7ce">ftxui::yflex_grow</a></div><div class="ttdeci">Element yflex_grow(Element)</div><div class="ttdoc">Expand if possible on the Y axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00150">flex.cpp:150</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a81ed6b31f512e849247f13d249f6f20e"><div class="ttname"><a href="namespaceftxui.html#a81ed6b31f512e849247f13d249f6f20e">ftxui::flex_grow</a></div><div class="ttdeci">Element flex_grow(Element)</div><div class="ttdoc">Expand if possible.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00138">flex.cpp:138</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a8406bb311fbaf67a7779833635c348ea"><div class="ttname"><a href="namespaceftxui.html#a8406bb311fbaf67a7779833635c348ea">ftxui::yframe</a></div><div class="ttdeci">Element yframe(Element)</div><div class="ttdef"><b>Definition</b> <a href="frame_8cpp_source.html#l00146">frame.cpp:146</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a845b0ea50d51024aa4e050447b46e1dd"><div class="ttname"><a href="namespaceftxui.html#a845b0ea50d51024aa4e050447b46e1dd">ftxui::notflex</a></div><div class="ttdeci">Element notflex(Element)</div><div class="ttdoc">Make the element not flexible.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00174">flex.cpp:174</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a901ab1b6b2e0e8c295552168ab206441"><div class="ttname"><a href="namespaceftxui.html#a901ab1b6b2e0e8c295552168ab206441">ftxui::dbox</a></div><div class="ttdeci">Element dbox(Elements)</div><div class="ttdoc">Stack several element on top of each other.</div><div class="ttdef"><b>Definition</b> <a href="dbox_8cpp_source.html#l00051">dbox.cpp:51</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a95275a9271934cf76e970c6650cc224d"><div class="ttname"><a href="namespaceftxui.html#a95275a9271934cf76e970c6650cc224d">ftxui::xflex_shrink</a></div><div class="ttdeci">Element xflex_shrink(Element)</div><div class="ttdoc">Minimize if needed on the X axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00162">flex.cpp:162</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a97898b9f77b3edd330eaef22fce7cf2b"><div class="ttname"><a href="namespaceftxui.html#a97898b9f77b3edd330eaef22fce7cf2b">ftxui::gaugeLeft</a></div><div class="ttdeci">Element gaugeLeft(float progress)</div><div class="ttdoc">Draw a high definition progress bar progressing from right to left.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00206">gauge.cpp:206</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a97a10482d591aade2958da0f2f19b371"><div class="ttname"><a href="namespaceftxui.html#a97a10482d591aade2958da0f2f19b371">ftxui::separatorCharacter</a></div><div class="ttdeci">Element separatorCharacter(std::string)</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00348">separator.cpp:348</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a9a3c8f59366f1e93d79c0a9dd13e7621"><div class="ttname"><a href="namespaceftxui.html#a9a3c8f59366f1e93d79c0a9dd13e7621">ftxui::vflow</a></div><div class="ttdeci">Element vflow(Elements)</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a9f9f7485a45aa9d432726ca9845d1eac"><div class="ttname"><a href="namespaceftxui.html#a9f9f7485a45aa9d432726ca9845d1eac">ftxui::vtext</a></div><div class="ttdeci">Element vtext(std::wstring text)</div><div class="ttdoc">Display a piece unicode text vertically.</div><div class="ttdef"><b>Definition</b> <a href="text_8cpp_source.html#l00171">text.cpp:171</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aa074cdab57eeb47b99f1699bcc8addd8"><div class="ttname"><a href="namespaceftxui.html#aa074cdab57eeb47b99f1699bcc8addd8">ftxui::borderLight</a></div><div class="ttdeci">Element borderLight(Element)</div><div class="ttdoc">Draw a light border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00252">border.cpp:252</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aa334a836eccc573e1137a1ba29d07d8a"><div class="ttname"><a href="namespaceftxui.html#aa334a836eccc573e1137a1ba29d07d8a">ftxui::paragraphAlignLeft</a></div><div class="ttdeci">Element paragraphAlignLeft(const std::string &text)</div><div class="ttdoc">Return an element drawing the paragraph on multiple lines, aligned on the left.</div><div class="ttdef"><b>Definition</b> <a href="paragraph_8cpp_source.html#l00033">paragraph.cpp:33</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aa97cfcfbe6df92dac085454395ec7b2f"><div class="ttname"><a href="namespaceftxui.html#aa97cfcfbe6df92dac085454395ec7b2f">ftxui::borderWith</a></div><div class="ttdeci">Decorator borderWith(const Pixel &)</div><div class="ttdoc">Same as border but with a constant Pixel around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00207">border.cpp:207</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aaff8245861617a3d9e846e99de582a63"><div class="ttname"><a href="namespaceftxui.html#aaff8245861617a3d9e846e99de582a63">ftxui::reflect</a></div><div class="ttdeci">Decorator reflect(Box &box)</div><div class="ttdef"><b>Definition</b> <a href="reflect_8cpp_source.html#l00039">reflect.cpp:39</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab07cb9a766f38fc867f8fe736ce2e6e3"><div class="ttname"><a href="namespaceftxui.html#ab07cb9a766f38fc867f8fe736ce2e6e3">ftxui::GraphFunction</a></div><div class="ttdeci">std::function< std::vector< int >(int, int)> GraphFunction</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00021">elements.hpp:21</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab248d738d6a6c07a3b5d760e31f78aa0"><div class="ttname"><a href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0">ftxui::GaugeDirection</a></div><div class="ttdeci">GaugeDirection</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00024">elements.hpp:24</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab248d738d6a6c07a3b5d760e31f78aa0a08a38277b0309070706f6652eeae9a53"><div class="ttname"><a href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a08a38277b0309070706f6652eeae9a53">ftxui::GaugeDirection::Down</a></div><div class="ttdeci">@ Down</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab248d738d6a6c07a3b5d760e31f78aa0a258f49887ef8d14ac268c92b02503aaa"><div class="ttname"><a href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a258f49887ef8d14ac268c92b02503aaa">ftxui::GaugeDirection::Up</a></div><div class="ttdeci">@ Up</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab248d738d6a6c07a3b5d760e31f78aa0a92b09c7c48c520c3c55e497875da437c"><div class="ttname"><a href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a92b09c7c48c520c3c55e497875da437c">ftxui::GaugeDirection::Right</a></div><div class="ttdeci">@ Right</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ab248d738d6a6c07a3b5d760e31f78aa0a945d5e233cf7d6240f6b783b36a374ff"><div class="ttname"><a href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0a945d5e233cf7d6240f6b783b36a374ff">ftxui::GaugeDirection::Left</a></div><div class="ttdeci">@ Left</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_abc9db79957d4dd36deb8ca79938e4c41"><div class="ttname"><a href="namespaceftxui.html#abc9db79957d4dd36deb8ca79938e4c41">ftxui::borderStyled</a></div><div class="ttdeci">Decorator borderStyled(BorderStyle)</div><div class="ttdoc">Same as border but with different styles.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00216">border.cpp:216</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_abcdf409d605edafd3191cd7ba47bcbd1"><div class="ttname"><a href="namespaceftxui.html#abcdf409d605edafd3191cd7ba47bcbd1">ftxui::gridbox</a></div><div class="ttdeci">Element gridbox(std::vector< Elements > lines)</div><div class="ttdoc">A container displaying a grid of elements.</div><div class="ttdef"><b>Definition</b> <a href="gridbox_8cpp_source.html#l00159">gridbox.cpp:159</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ac1ef1cf6bf7cd0759ffa195071edb2a0"><div class="ttname"><a href="namespaceftxui.html#ac1ef1cf6bf7cd0759ffa195071edb2a0">ftxui::separator</a></div><div class="ttdeci">Element separator()</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00130">separator.cpp:130</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ac2a9ed2d22ec3c8811b61f4a901ed367"><div class="ttname"><a href="namespaceftxui.html#ac2a9ed2d22ec3c8811b61f4a901ed367">ftxui::filler</a></div><div class="ttdeci">Element filler()</div><div class="ttdoc">An element that will take expand proportionnally to the space left in a container.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00095">flex.cpp:95</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ac54cdd05db30871ce082a8fa650545da"><div class="ttname"><a href="namespaceftxui.html#ac54cdd05db30871ce082a8fa650545da">ftxui::paragraph</a></div><div class="ttdeci">Elements paragraph(std::wstring text)</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ac6a3b77604739516e809369810896646"><div class="ttname"><a href="namespaceftxui.html#ac6a3b77604739516e809369810896646">ftxui::dim</a></div><div class="ttdeci">Element dim(Element)</div><div class="ttdoc">Use a light font, for elements with less emphasis.</div><div class="ttdef"><b>Definition</b> <a href="dim_8cpp_source.html#l00028">dim.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aca42bd6c44d8d366d5c1014330402086"><div class="ttname"><a href="namespaceftxui.html#aca42bd6c44d8d366d5c1014330402086">ftxui::automerge</a></div><div class="ttdeci">Element automerge(Element child)</div><div class="ttdoc">Enable character to be automatically merged with others nearby.</div><div class="ttdef"><b>Definition</b> <a href="automerge_8cpp_source.html#l00014">automerge.cpp:14</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ad0d6a96f6e1fb6d67d9fa6323062a737"><div class="ttname"><a href="namespaceftxui.html#ad0d6a96f6e1fb6d67d9fa6323062a737">ftxui::frame</a></div><div class="ttdeci">Element frame(Element)</div><div class="ttdoc">Allow an element to be displayed inside a 'virtual' area. It size can be larger than its container....</div><div class="ttdef"><b>Definition</b> <a href="frame_8cpp_source.html#l00138">frame.cpp:138</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ad57613de5895e774218d91dea48d074b"><div class="ttname"><a href="namespaceftxui.html#ad57613de5895e774218d91dea48d074b">ftxui::blink</a></div><div class="ttdeci">Element blink(Element)</div><div class="ttdoc">The text drawn alternates in between visible and hidden.</div><div class="ttdef"><b>Definition</b> <a href="blink_8cpp_source.html#l00028">blink.cpp:28</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ad907a8a48bb9f9dfdb06402e9fc12316"><div class="ttname"><a href="namespaceftxui.html#ad907a8a48bb9f9dfdb06402e9fc12316">ftxui::vcenter</a></div><div class="ttdeci">Element vcenter(Element)</div><div class="ttdoc">Center an element vertically.</div><div class="ttdef"><b>Definition</b> <a href="composite__decorator_8cpp_source.html#l00020">composite_decorator.cpp:20</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_adbda408cdd76f3bbd9c4e863672b7122"><div class="ttname"><a href="namespaceftxui.html#adbda408cdd76f3bbd9c4e863672b7122">ftxui::size</a></div><div class="ttdeci">Decorator size(Direction, Constraint, int value)</div><div class="ttdoc">Apply a constraint on the size of an element.</div><div class="ttdef"><b>Definition</b> <a href="size_8cpp_source.html#l00085">size.cpp:85</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_add376830fdb51b0bf52672ef17515989"><div class="ttname"><a href="namespaceftxui.html#add376830fdb51b0bf52672ef17515989">ftxui::separatorDouble</a></div><div class="ttdeci">Element separatorDouble()</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements, using the DOUBLE style.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00275">separator.cpp:275</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ade35e69d695327db85be01c9787c39f8"><div class="ttname"><a href="namespaceftxui.html#ade35e69d695327db85be01c9787c39f8">ftxui::operator|=</a></div><div class="ttdeci">Component & operator|=(Component &component, ComponentDecorator decorator)</div><div class="ttdef"><b>Definition</b> <a href="component_2util_8cpp_source.html#l00019">util.cpp:19</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae09f44b989d381a387329fd0a0935926"><div class="ttname"><a href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926">ftxui::Constraint</a></div><div class="ttdeci">Constraint</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00126">elements.hpp:126</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae09f44b989d381a387329fd0a0935926a41b05932cd237b2b133fff1ade85bed5"><div class="ttname"><a href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a41b05932cd237b2b133fff1ade85bed5">ftxui::LESS_THAN</a></div><div class="ttdeci">@ LESS_THAN</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00126">elements.hpp:126</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae09f44b989d381a387329fd0a0935926a59a84258a4cb9025b567ee5139455029"><div class="ttname"><a href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a59a84258a4cb9025b567ee5139455029">ftxui::EQUAL</a></div><div class="ttdeci">@ EQUAL</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00126">elements.hpp:126</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae09f44b989d381a387329fd0a0935926a5fae95457121bd697edd588d1b64cc7c"><div class="ttname"><a href="namespaceftxui.html#ae09f44b989d381a387329fd0a0935926a5fae95457121bd697edd588d1b64cc7c">ftxui::GREATER_THAN</a></div><div class="ttdeci">@ GREATER_THAN</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00126">elements.hpp:126</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae0b8041a60629fd790716038738c93ce"><div class="ttname"><a href="namespaceftxui.html#ae0b8041a60629fd790716038738c93ce">ftxui::gauge</a></div><div class="ttdeci">Element gauge(float progress)</div><div class="ttdoc">Draw a high definition progress bar.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00286">gauge.cpp:286</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae4de548aa67ab77cb345e4ddec6b248b"><div class="ttname"><a href="namespaceftxui.html#ae4de548aa67ab77cb345e4ddec6b248b">ftxui::paragraphAlignJustify</a></div><div class="ttdeci">Element paragraphAlignJustify(const std::string &text)</div><div class="ttdoc">Return an element drawing the paragraph on multiple lines, aligned using a justified alignment....</div><div class="ttdef"><b>Definition</b> <a href="paragraph_8cpp_source.html#l00063">paragraph.cpp:63</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae554f6d15b73507ada5913662a32165a"><div class="ttname"><a href="namespaceftxui.html#ae554f6d15b73507ada5913662a32165a">ftxui::gaugeDirection</a></div><div class="ttdeci">Element gaugeDirection(float progress, GaugeDirection)</div><div class="ttdoc">Draw a high definition progress bar progressing in specified direction.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00162">gauge.cpp:162</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae78c2b2b147e65701493465f8e3f4d89"><div class="ttname"><a href="namespaceftxui.html#ae78c2b2b147e65701493465f8e3f4d89">ftxui::graph</a></div><div class="ttdeci">Element graph(GraphFunction)</div><div class="ttdoc">Draw a graph using a GraphFunction.</div><div class="ttdef"><b>Definition</b> <a href="graph_8cpp_source.html#l00062">graph.cpp:62</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae8537acd423d47cf07e61bd774fb1098"><div class="ttname"><a href="namespaceftxui.html#ae8537acd423d47cf07e61bd774fb1098">ftxui::border</a></div><div class="ttdeci">Element border(Element)</div><div class="ttdoc">Draw a border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00200">border.cpp:200</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af0649e89a9960f1c2703e48c1817645b"><div class="ttname"><a href="namespaceftxui.html#af0649e89a9960f1c2703e48c1817645b">ftxui::separatorHeavy</a></div><div class="ttdeci">Element separatorHeavy()</div><div class="ttdoc">Draw a vertical or horizontal separation in between two other elements, using the HEAVY style.</div><div class="ttdef"><b>Definition</b> <a href="separator_8cpp_source.html#l00239">separator.cpp:239</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af0a483ef6e8a00023755c4637a1fcb9d"><div class="ttname"><a href="namespaceftxui.html#af0a483ef6e8a00023755c4637a1fcb9d">ftxui::select</a></div><div class="ttdeci">Element select(Element)</div><div class="ttdef"><b>Definition</b> <a href="frame_8cpp_source.html#l00038">frame.cpp:38</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af20f7d6fb275d109f0bdc01a2e4d3f3e"><div class="ttname"><a href="namespaceftxui.html#af20f7d6fb275d109f0bdc01a2e4d3f3e">ftxui::borderEmpty</a></div><div class="ttdeci">Element borderEmpty(Element)</div><div class="ttdoc">Draw an empty border around the element.</div><div class="ttdef"><b>Definition</b> <a href="border_8cpp_source.html#l00388">border.cpp:388</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af61b489da39ca5e24b68e6e1a2b09c0d"><div class="ttname"><a href="namespaceftxui.html#af61b489da39ca5e24b68e6e1a2b09c0d">ftxui::color</a></div><div class="ttdeci">Decorator color(Color)</div><div class="ttdoc">Decorate using a foreground color.</div><div class="ttdef"><b>Definition</b> <a href="dom_2color_8cpp_source.html#l00086">color.cpp:86</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af7d0757f5965aa579bccc125ff909256"><div class="ttname"><a href="namespaceftxui.html#af7d0757f5965aa579bccc125ff909256">ftxui::yflex_shrink</a></div><div class="ttdeci">Element yflex_shrink(Element)</div><div class="ttdoc">Minimize if needed on the Y axis.</div><div class="ttdef"><b>Definition</b> <a href="flex_8cpp_source.html#l00168">flex.cpp:168</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af7d0d1e44c1a5424e42a5cddceacf7f7"><div class="ttname"><a href="namespaceftxui.html#af7d0d1e44c1a5424e42a5cddceacf7f7">ftxui::hcenter</a></div><div class="ttdeci">Element hcenter(Element)</div><div class="ttdoc">Center an element horizontally.</div><div class="ttdef"><b>Definition</b> <a href="composite__decorator_8cpp_source.html#l00012">composite_decorator.cpp:12</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afd28058f0ccbbdf34691a85a7cc9b2e3"><div class="ttname"><a href="namespaceftxui.html#afd28058f0ccbbdf34691a85a7cc9b2e3">ftxui::vbox</a></div><div class="ttdeci">Element vbox(Elements)</div><div class="ttdoc">A container displaying elements vertically one by one.</div><div class="ttdef"><b>Definition</b> <a href="vbox_8cpp_source.html#l00077">vbox.cpp:77</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9c"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">ftxui::BorderStyle</a></div><div class="ttdeci">BorderStyle</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9ca2f0d18fc0d0fa4a6cd92dc328501874d"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca2f0d18fc0d0fa4a6cd92dc328501874d">ftxui::EMPTY</a></div><div class="ttdeci">@ EMPTY</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9ca33465d1d419b1074fb259ef444609e92"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca33465d1d419b1074fb259ef444609e92">ftxui::DOUBLE</a></div><div class="ttdeci">@ DOUBLE</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9ca34cd68a92c52759ed9b545969a11c2da"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca34cd68a92c52759ed9b545969a11c2da">ftxui::HEAVY</a></div><div class="ttdeci">@ HEAVY</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9ca655074b92b285adff7d18a45748bf493"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9ca655074b92b285adff7d18a45748bf493">ftxui::ROUNDED</a></div><div class="ttdeci">@ ROUNDED</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe3103dd0b8240c5443892484ef5af9caf917d6c11c85b4ac32e30d1cc9da25eb"><div class="ttname"><a href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9caf917d6c11c85b4ac32e30d1cc9da25eb">ftxui::LIGHT</a></div><div class="ttdeci">@ LIGHT</div><div class="ttdef"><b>Definition</b> <a href="elements_8hpp_source.html#l00023">elements.hpp:23</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afe537f915cac5613261580bae3a8fe33"><div class="ttname"><a href="namespaceftxui.html#afe537f915cac5613261580bae3a8fe33">ftxui::gaugeDown</a></div><div class="ttdeci">Element gaugeDown(float progress)</div><div class="ttdoc">Draw a high definition progress bar progressing from top to bottom.</div><div class="ttdef"><b>Definition</b> <a href="gauge_8cpp_source.html#l00264">gauge.cpp:264</a></div></div>
|
||
<div class="ttc" id="anode_8hpp_html"><div class="ttname"><a href="node_8hpp.html">node.hpp</a></div></div>
|
||
<div class="ttc" id="aref_8hpp_html"><div class="ttname"><a href="ref_8hpp.html">ref.hpp</a></div></div>
|
||
<div class="ttc" id="aterminal_8hpp_html"><div class="ttname"><a href="terminal_8hpp.html">terminal.hpp</a></div></div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-text"></a>
|
||
text</h2>
|
||
<p>The most simple widget. It displays a text. </p><div class="fragment"><div class="line">text(<span class="stringliteral">"I am a piece of text"</span>);</div>
|
||
</div><!-- fragment --> <div class="fragment"><div class="line">I am a piece of text.</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-vtext"></a>
|
||
vtext</h2>
|
||
<p>Same as <code><a class="el" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57" title="Display a piece of unicode text.">ftxui::text</a></code>, but vertical. </p><div class="fragment"><div class="line">vtext(<span class="stringliteral">"HELLO"</span>);</div>
|
||
</div><!-- fragment --> <div class="fragment"><div class="line">H</div>
|
||
<div class="line">E</div>
|
||
<div class="line">L</div>
|
||
<div class="line">L</div>
|
||
<div class="line">O</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-paragraph"></a>
|
||
paragraph </h2>
|
||
<div class="fragment"><div class="line">paragraph(<span class="stringliteral">"A very long text"</span>)</div>
|
||
</div><!-- fragment --><p>Similar to <code><a class="el" href="namespaceftxui.html#a75baaa2734ed76a9f478beaafa87ae57" title="Display a piece of unicode text.">ftxui::text</a></code>, but this support line wrapping and alignments. The words are split by spaces</p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2paragraph_8cpp-example.html">Paragraph example</a></p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147251370-983a06e7-6f41-4113-92b8-942f43d34d06.gif" alt="ezgif com-gif-maker (4)" class="inline"/></p>
|
||
<p>See: </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> paragraph(std::string text);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> paragraphAlignLeft(std::string text);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> paragraphAlignRight(std::string text);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> paragraphAlignCenter(std::string text);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> paragraphAlignJustify(std::string text);</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-border"></a>
|
||
border</h2>
|
||
<p>Add a border around an element </p><div class="fragment"><div class="line">border(text(<span class="stringliteral">"The element"</span>))</div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line">┌───────────┐</div>
|
||
<div class="line">│The element│</div>
|
||
<div class="line">└───────────┘</div>
|
||
</div><!-- fragment --><p>Same, with the pipe operator:</p>
|
||
<div class="fragment"><div class="line">text(<span class="stringliteral">"The element"</span>) | border</div>
|
||
</div><!-- fragment --><p>Border come with different styles. See: </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> border(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> borderLight(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> borderHeavy(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> borderDouble(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> borderRounded(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> borderEmpty(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> borderStyled(<a class="code hl_enumeration" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">BorderStyle</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> borderWith(<a class="code hl_struct" href="structftxui_1_1Pixel.html">Pixel</a>);</div>
|
||
<div class="ttc" id="astructftxui_1_1Pixel_html"><div class="ttname"><a href="structftxui_1_1Pixel.html">ftxui::Pixel</a></div><div class="ttdoc">A unicode character and its associated style.</div><div class="ttdef"><b>Definition</b> <a href="screen_8hpp_source.html#l00016">screen.hpp:16</a></div></div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-window"></a>
|
||
window</h2>
|
||
<p>A <code><a class="el" href="namespaceftxui.html#a443afb3d149fedaf88b89249c8f6dc25" title="Draw window with a title and a border around the element.">ftxui::window</a></code> is a <code><a class="el" href="namespaceftxui.html#ae8537acd423d47cf07e61bd774fb1098" title="Draw a border around the element.">ftxui::border</a></code>, but with some text on top of the border. Add a border around an element </p><div class="fragment"><div class="line">window(<span class="stringliteral">"The window"</span>, text(<span class="stringliteral">"The element"</span>))</div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line">┌The window─┐</div>
|
||
<div class="line">│The element│</div>
|
||
<div class="line">└───────────┘</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-separator"></a>
|
||
separator</h2>
|
||
<p>Display a vertical or horizontal line to visually split the content of a container in two.</p>
|
||
<div class="fragment"><div class="line">border(</div>
|
||
<div class="line"> hbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">"Left"</span>), </div>
|
||
<div class="line"> separator(),</div>
|
||
<div class="line"> text(<span class="stringliteral">"Right"</span>)</div>
|
||
<div class="line"> })</div>
|
||
<div class="line">)</div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line">┌────┬─────┐</div>
|
||
<div class="line">│left│right│</div>
|
||
<div class="line">└────┴─────┘</div>
|
||
</div><!-- fragment --><p>Separators come with different styles: See: </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separator(<span class="keywordtype">void</span>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorLight();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorHeavy();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorDouble();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorEmpty();</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorStyled(<a class="code hl_enumeration" href="namespaceftxui.html#afe3103dd0b8240c5443892484ef5af9c">BorderStyle</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separator(<a class="code hl_struct" href="structftxui_1_1Pixel.html">Pixel</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorCharacter(std::string);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorHSelector(<span class="keywordtype">float</span> left,</div>
|
||
<div class="line"> <span class="keywordtype">float</span> right,</div>
|
||
<div class="line"> <a class="code hl_class" href="classftxui_1_1Color.html">Color</a> background,</div>
|
||
<div class="line"> <a class="code hl_class" href="classftxui_1_1Color.html">Color</a> foreground);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> separatorVSelector(<span class="keywordtype">float</span> up,</div>
|
||
<div class="line"> <span class="keywordtype">float</span> down,</div>
|
||
<div class="line"> <a class="code hl_class" href="classftxui_1_1Color.html">Color</a> background,</div>
|
||
<div class="line"> <a class="code hl_class" href="classftxui_1_1Color.html">Color</a> foreground);</div>
|
||
<div class="ttc" id="aclassftxui_1_1Color_html"><div class="ttname"><a href="classftxui_1_1Color.html">ftxui::Color</a></div><div class="ttdoc">A class representing terminal colors.</div><div class="ttdef"><b>Definition</b> <a href="color_8hpp_source.html#l00017">color.hpp:17</a></div></div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-gauge"></a>
|
||
gauge</h2>
|
||
<p>A gauge. It can be used to represent a progress bar. </p><div class="fragment"><div class="line">border(gauge(0.5))</div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line">┌────────────────────────────────────────────────────────────────────────────┐</div>
|
||
<div class="line">│██████████████████████████████████████ │</div>
|
||
<div class="line">└────────────────────────────────────────────────────────────────────────────┘</div>
|
||
</div><!-- fragment --><p>A gauge can be displayed into several directions. See: </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gauge(<span class="keywordtype">float</span> ratio);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gaugeLeft(<span class="keywordtype">float</span> ratio);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gaugeRight(<span class="keywordtype">float</span> ratio);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gaugeUp(<span class="keywordtype">float</span> ratio);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gaugeDown(<span class="keywordtype">float</span> ratio);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> gaugeDirection(<span class="keywordtype">float</span> ratio, <a class="code hl_enumeration" href="namespaceftxui.html#ab248d738d6a6c07a3b5d760e31f78aa0">GaugeDirection</a>);</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-graph"></a>
|
||
graph</h2>
|
||
<p>
|
||
<script id="asciicast-223726" src="https://asciinema.org/a/223726.js" async></script>
|
||
</p>
|
||
<p>See: </p><div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> graph(<a class="code hl_typedef" href="namespaceftxui.html#ab07cb9a766f38fc867f8fe736ce2e6e3">GraphFunction</a>);</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-colors"></a>
|
||
Colors</h2>
|
||
<p>A terminal console can usually display colored text and colored background.</p>
|
||
<div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> color(<a class="code hl_class" href="classftxui_1_1Color.html">Color</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> bgcolor(<a class="code hl_class" href="classftxui_1_1Color.html">Color</a>);</div>
|
||
</div><!-- fragment --><p>FTXUI support every color palette:</p>
|
||
<p>Color <a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2color_gallery_8cpp-example.html">gallery</a>: <img src="https://user-images.githubusercontent.com/4759106/147248595-04c7245a-5b85-4544-809d-a5984fc6f9e7.png" alt="image" class="inline"/></p>
|
||
<h3><a class="anchor" id="dom-colors-palette-16"></a>
|
||
Palette16 </h3>
|
||
<p>On most terminal the following colors are supported:</p><ul>
|
||
<li>Default</li>
|
||
<li>Black</li>
|
||
<li>GrayDark</li>
|
||
<li>GrayLight</li>
|
||
<li>White</li>
|
||
<li>Blue</li>
|
||
<li>BlueLight</li>
|
||
<li>Cyan</li>
|
||
<li>CyanLight</li>
|
||
<li>Green</li>
|
||
<li>GreenLight</li>
|
||
<li>Magenta</li>
|
||
<li>MagentaLight</li>
|
||
<li>Red</li>
|
||
<li>RedLight</li>
|
||
<li>Yellow</li>
|
||
<li>YellowLight</li>
|
||
</ul>
|
||
<p>Example: </p><div class="fragment"><div class="line">text(<span class="stringliteral">"Blue foreground"</span>) | color(Color::Blue);</div>
|
||
<div class="line">text(<span class="stringliteral">"Blue background"</span>) | bgcolor(Color::Blue);</div>
|
||
<div class="line">text(<span class="stringliteral">"Black on white"</span>) | color(Color::Black) | bgcolor(Color::White);</div>
|
||
</div><!-- fragment --><h3><a class="anchor" id="dom-colors-palette-256"></a>
|
||
Palette256 </h3>
|
||
<p>On terminal supporting 256 colors.
|
||
<script id="asciicast-OAUc3n6QrkmrLt7XEEb8AzbLt" src="https://asciinema.org/a/OAUc3n6QrkmrLt7XEEb8AzbLt.js" async></script>
|
||
</p>
|
||
<div class="fragment"><div class="line">text(<span class="stringliteral">"HotPink"</span>) | color(Color::HotPink);</div>
|
||
</div><!-- fragment --><h3><a class="anchor" id="dom-colors-true-color"></a>
|
||
TrueColor</h3>
|
||
<p>On terminal supporting trueColor, you can directly chose the 24bit RGB color:</p>
|
||
<p>There are two constructors: </p><div class="fragment"><div class="line"><a class="code hl_function" href="classftxui_1_1Color.html#aacec69e0aa1063fbec2cc305e7b076dd">ftxui::Color::RGB</a>(uint8_t red, uint8_t green, uint8_t blue);</div>
|
||
<div class="line"><a class="code hl_function" href="classftxui_1_1Color.html#a1a119fd00beafc7d2aa5f94518e38fc5">ftxui::Color::HSV</a>(uint8_t hue, uint8_t saturation, uint8_t value);</div>
|
||
<div class="ttc" id="aclassftxui_1_1Color_html_a1a119fd00beafc7d2aa5f94518e38fc5"><div class="ttname"><a href="classftxui_1_1Color.html#a1a119fd00beafc7d2aa5f94518e38fc5">ftxui::Color::HSV</a></div><div class="ttdeci">static Color HSV(uint8_t hue, uint8_t saturation, uint8_t value)</div><div class="ttdoc">Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.</div><div class="ttdef"><b>Definition</b> <a href="screen_2color_8cpp_source.html#l00146">color.cpp:146</a></div></div>
|
||
<div class="ttc" id="aclassftxui_1_1Color_html_aacec69e0aa1063fbec2cc305e7b076dd"><div class="ttname"><a href="classftxui_1_1Color.html#aacec69e0aa1063fbec2cc305e7b076dd">ftxui::Color::RGB</a></div><div class="ttdeci">static Color RGB(uint8_t red, uint8_t green, uint8_t blue)</div><div class="ttdoc">Build a Color from its RGB representation. https://en.wikipedia.org/wiki/RGB_color_model.</div><div class="ttdef"><b>Definition</b> <a href="screen_2color_8cpp_source.html#l00134">color.cpp:134</a></div></div>
|
||
</div><!-- fragment --><p>
|
||
<script id="asciicast-dk5r8IcCH0aFIIgWG0keSEHMG" src="https://asciinema.org/a/dk5r8IcCH0aFIIgWG0keSEHMG.js" async></script>
|
||
<script id="asciicast-xwzzghmqcqzIuyLwCpQFEqbEu" src="https://asciinema.org/a/xwzzghmqcqzIuyLwCpQFEqbEu.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="dom-style"></a>
|
||
Style</h2>
|
||
<p>A terminal console can usually display colored text and colored background. The text can also have different effects: bold, dim, underlined, inverted, blink.</p>
|
||
<div class="fragment"><div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> bold(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> dim(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> inverted(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> underlined(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> blink(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> color(<a class="code hl_class" href="classftxui_1_1Color.html">Color</a>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#a164021903e9ac6f1357e4186582891e3">Decorator</a> bgcolor(<a class="code hl_class" href="classftxui_1_1Color.html">Color</a>);</div>
|
||
</div><!-- fragment --><p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2style_gallery_8cpp-example.html">Example</a></p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147244118-380bf834-9e33-40df-9ff0-07c10f2598ef.png" alt="image" class="inline"/></p>
|
||
<p>Example: </p><div class="fragment"><div class="line">underlined(bold(text(<span class="stringliteral">"This text is bold and underlined"</span>)))</div>
|
||
</div><!-- fragment --><p>Tips: The pipe operator can be used to chain Decorator: </p><div class="fragment"><div class="line">text(<span class="stringliteral">"This text is bold"</span>)) | bold | underlined</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-layout"></a>
|
||
Layout</h2>
|
||
<p>Element can be arranged together:</p><ul>
|
||
<li>horizontally with <code><a class="el" href="namespaceftxui.html#a552ba6d33b3c9bec586b99fba4c243ac" title="A container displaying elements horizontally one by one.">ftxui::hbox</a></code></li>
|
||
<li>vertically with <code><a class="el" href="namespaceftxui.html#afd28058f0ccbbdf34691a85a7cc9b2e3" title="A container displaying elements vertically one by one.">ftxui::vbox</a></code></li>
|
||
<li>inside a grid with <code><a class="el" href="namespaceftxui.html#abcdf409d605edafd3191cd7ba47bcbd1" title="A container displaying a grid of elements.">ftxui::gridbox</a></code></li>
|
||
<li>wrap along one direction using the <code><a class="el" href="namespaceftxui.html#a1b45cae54e7a6afcf338eb77a54e4df6">ftxui::flexbox</a></code>.</li>
|
||
</ul>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2vbox_hbox_8cpp-example.html">Example</a> using <code><a class="el" href="namespaceftxui.html#a552ba6d33b3c9bec586b99fba4c243ac" title="A container displaying elements horizontally one by one.">ftxui::hbox</a></code>, <code><a class="el" href="namespaceftxui.html#afd28058f0ccbbdf34691a85a7cc9b2e3" title="A container displaying elements vertically one by one.">ftxui::vbox</a></code> and <code><a class="el" href="namespaceftxui.html#ac2a9ed2d22ec3c8811b61f4a901ed367" title="An element that will take expand proportionnally to the space left in a container.">ftxui::filler</a></code>.</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147242524-7103b5d9-1a92-4e2d-ac70-b3d6740061e3.png" alt="image" class="inline"/></p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2gridbox_8cpp-example.htmlp">Example</a> using <code><a class="el" href="namespaceftxui.html#abcdf409d605edafd3191cd7ba47bcbd1" title="A container displaying a grid of elements.">ftxui::gridbox</a></code>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147242972-0db1f2e9-0790-496f-86e6-ed2c604f7a73.png" alt="image" class="inline"/></p>
|
||
<p><a href="https://github.com/ArthurSonzogni/FTXUI/blob/master/examples/dom/hflow.cpp">Example</a> using flexbox:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147243064-780ac7cc-605b-475f-94b8-cf7c4aed03a5.png" alt="image" class="inline"/></p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2hflow_8cpp-example.html">See</a> also this <a href="https://arthursonzogni.com/FTXUI/examples/?file=component/flexbox">demo</a>.</p>
|
||
<p>Element can become flexible using the the <code><a class="el" href="namespaceftxui.html#a257acd2bd47bab7db879cca2c0e67e23" title="Make a child element to expand proportionnally to the space left in a container.">ftxui::flex</a></code> decorator.</p>
|
||
<p><b>Examples</b> </p><div class="fragment"><div class="line">hbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">"left"</span>) | border ,</div>
|
||
<div class="line"> text(<span class="stringliteral">"middle"</span>) | border | flex,</div>
|
||
<div class="line"> text(<span class="stringliteral">"right"</span>) | border,</div>
|
||
<div class="line">});</div>
|
||
</div><!-- fragment --> <div class="fragment"><div class="line">┌────┐┌─────────────────────────────────────────────────────────────────┐┌─────┐</div>
|
||
<div class="line">│left││middle ││right│</div>
|
||
<div class="line">└────┘└─────────────────────────────────────────────────────────────────┘└─────┘</div>
|
||
</div><!-- fragment --><div class="fragment"><div class="line">hbox({</div>
|
||
<div class="line"> text(<span class="stringliteral">"left"</span>) | border ,</div>
|
||
<div class="line"> text(<span class="stringliteral">"middle"</span>) | border | flex,</div>
|
||
<div class="line"> text(<span class="stringliteral">"right"</span>) | border | flex,</div>
|
||
<div class="line">});</div>
|
||
</div><!-- fragment --> <div class="fragment"><div class="line">┌────┐┌───────────────────────────────────┐┌───────────────────────────────────┐</div>
|
||
<div class="line">│left││middle ││right │</div>
|
||
<div class="line">└────┘└───────────────────────────────────┘└───────────────────────────────────┘</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="dom-table"></a>
|
||
Table</h2>
|
||
<p>A class to easily style a table of data.</p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2dom_2table_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147250766-77d8ec9e-cf2b-486d-9866-1fd9f1bd2e6b.png" alt="image" class="inline"/></p>
|
||
<h2><a class="anchor" id="dom-canvas"></a>
|
||
Canvas</h2>
|
||
<p>See <a href="./canvas_8hpp_source.html"><ftxui/dom/canvas.hpp></a></p>
|
||
<div class="fragment"><div class="line"><span class="keyword">auto</span> c = <a class="code hl_struct" href="structftxui_1_1Canvas.html">Canvas</a>(100, 100);</div>
|
||
<div class="line">c.DrawPointLine(10, 10, 80, 10, Color::Red);</div>
|
||
<div class="line"><span class="keyword">auto</span> element = canvas(c);</div>
|
||
<div class="ttc" id="astructftxui_1_1Canvas_html"><div class="ttname"><a href="structftxui_1_1Canvas.html">ftxui::Canvas</a></div><div class="ttdef"><b>Definition</b> <a href="canvas_8hpp_source.html#l00020">canvas.hpp:20</a></div></div>
|
||
</div><!-- fragment --><p>Drawing can be made on a <code><a class="el" href="structftxui_1_1Canvas.html">ftxui::Canvas</a></code>, using braille, block, or simple characters:</p>
|
||
<p>Simple <a href="https://github.com/ArthurSonzogni/FTXUI/blob/master/examples/dom/canvas.cpp">example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147245843-76cc62fb-ccb4-421b-aacf-939f9afb42fe.png" alt="image" class="inline"/></p>
|
||
<p>Complex <a href="https://github.com/ArthurSonzogni/FTXUI/blob/master/examples/component/canvas_animated.cpp">examples</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147250538-783a8246-98e0-4a25-b032-3bd3710549d1.gif" alt="ezgif com-gif-maker (3)" class="inline"/> <br />
|
||
</p>
|
||
<h1><a class="anchor" id="module-component"></a>
|
||
component</h1>
|
||
<p>The <code>ftxui::component</code>module defines the logic to produce interactive component responding to user's events (keyboard, mouse, etc...)</p>
|
||
<p>A <code><a class="el" href="classftxui_1_1ScreenInteractive.html">ftxui::ScreenInteractive</a></code> defines a main loop to render a component.</p>
|
||
<p>A <code><a class="el" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">ftxui::Component</a></code> is a shared pointer to a <code><a class="el" href="classftxui_1_1ComponentBase.html" title="It implement rendering itself as ftxui::Element. It implement keyboard navigation by responding to ft...">ftxui::ComponentBase</a></code>. The later defines</p><ul>
|
||
<li><code><a class="el" href="classftxui_1_1ComponentBase.html#a28d41d6113c5b29c8dd45846582b3299" title="Draw the component. Build a ftxui::Element to be drawn on the ftxi::Screen representing this ftxui::C...">ftxui::ComponentBase::Render()</a></code>: How to render the interface.</li>
|
||
<li><code><a class="el" href="classftxui_1_1ComponentBase.html#ab84629a8fecad2e1cdd426b7ddc72277" title="Called in response to an event.">ftxui::ComponentBase::OnEvent()</a></code>: How to react to events.</li>
|
||
<li><code><a class="el" href="classftxui_1_1ComponentBase.html#a21f040bec9104e164bfa6c3ad45be3a1" title="Add a child. @param child The child to be attached.">ftxui::ComponentBase::Add()</a></code>: Give a parent/child relation ship in between two component. This defines a tree a components, which help properly define how keyboard navigation works.</li>
|
||
</ul>
|
||
<p><code><a class="el" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">ftxui::Element</a></code> are used to render a single frame. On the other side <code><a class="el" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">ftxui::Component</a></code> are used to render dynamic user interface, producing multiple frame, and updating its state on events.</p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2gallery_8cpp-example.html">Gallery</a> of multiple components. (<a href="https://arthursonzogni.com/FTXUI/examples/?file=component/gallery">demo</a>)</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147247330-b60beb9f-e665-48b4-81c0-4b01ee95bc66.png" alt="image" class="inline"/></p>
|
||
<p>Predefined components are available in <a href="./component_8hpp.html">"ftxui/dom/component.hpp"</a></p>
|
||
<div class="fragment"><div class="line"><span class="preprocessor">#ifndef FTXUI_COMPONENT_HPP</span></div>
|
||
<div class="line"><span class="preprocessor">#define FTXUI_COMPONENT_HPP</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="preprocessor">#include <functional></span> <span class="comment">// for function</span></div>
|
||
<div class="line"><span class="preprocessor">#include <memory></span> <span class="comment">// for make_shared, shared_ptr</span></div>
|
||
<div class="line"><span class="preprocessor">#include <string></span> <span class="comment">// for wstring</span></div>
|
||
<div class="line"><span class="preprocessor">#include <utility></span> <span class="comment">// for forward</span></div>
|
||
<div class="line"><span class="preprocessor">#include <vector></span> <span class="comment">// for vector</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="component__base_8hpp.html">ftxui/component/component_base.hpp</a>"</span> <span class="comment">// for Component, Components</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="component__options_8hpp.html">ftxui/component/component_options.hpp</a>"</span> <span class="comment">// for ButtonOption, CheckboxOption, InputOption (ptr only), MenuEntryOption (ptr only), MenuOption, RadioboxOption (ptr only)</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="elements_8hpp.html">ftxui/dom/elements.hpp</a>"</span> <span class="comment">// for Element</span></div>
|
||
<div class="line"><span class="preprocessor">#include "<a class="code" href="ref_8hpp.html">ftxui/util/ref.hpp</a>"</span> <span class="comment">// for Ref, ConstStringRef, ConstStringListRef, StringRef</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceftxui.html">ftxui</a> {</div>
|
||
<div class="line"><span class="keyword">struct </span>ButtonOption;</div>
|
||
<div class="line"><span class="keyword">struct </span>CheckboxOption;</div>
|
||
<div class="line"><span class="keyword">struct </span>Event;</div>
|
||
<div class="line"><span class="keyword">struct </span>InputOption;</div>
|
||
<div class="line"><span class="keyword">struct </span>MenuOption;</div>
|
||
<div class="line"><span class="keyword">struct </span>RadioboxOption;</div>
|
||
<div class="line"><span class="keyword">struct </span>MenuEntryOption;</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">template</span> <<span class="keyword">class </span>T, <span class="keyword">class</span>... Args></div>
|
||
<div class="line">std::shared_ptr<T> <a class="code hl_function" href="namespaceftxui.html#a2b8973dc71334f1d98e2e6f55de8b5ae">Make</a>(Args&&... args) {</div>
|
||
<div class="line"> <span class="keywordflow">return</span> std::make_shared<T>(std::forward<Args>(args)...);</div>
|
||
<div class="line">}</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Pipe operator to decorate components.</span></div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> = std::function<<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>)>;</div>
|
||
<div class="line"><span class="keyword">using </span><a class="code hl_typedef" href="namespaceftxui.html#a2d5012891073dbf196bfada5f702f382">ElementDecorator</a> = std::function<<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>)>;</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">operator|</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> component, <a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> decorator);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a65a2e15f64ae3bc205c485abc3a5aeb9">operator|</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> component, <a class="code hl_typedef" href="namespaceftxui.html#a2d5012891073dbf196bfada5f702f382">ElementDecorator</a> decorator);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>& <a class="code hl_function" href="namespaceftxui.html#ade35e69d695327db85be01c9787c39f8">operator|=</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>& component, <a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> decorator);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>& <a class="code hl_function" href="namespaceftxui.html#ade35e69d695327db85be01c9787c39f8">operator|=</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>& component, <a class="code hl_typedef" href="namespaceftxui.html#a2d5012891073dbf196bfada5f702f382">ElementDecorator</a> decorator);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">namespace </span>Container {</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui_1_1Container.html#a6471e39f5664d059144746c5801d37e6">Vertical</a>(<a class="code hl_typedef" href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">Components</a> children);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui_1_1Container.html#a6471e39f5664d059144746c5801d37e6">Vertical</a>(<a class="code hl_typedef" href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">Components</a> children, <span class="keywordtype">int</span>* selector);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui_1_1Container.html#a01563bae9454fe64c0b29b0eb3755e68">Horizontal</a>(<a class="code hl_typedef" href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">Components</a> children);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui_1_1Container.html#a01563bae9454fe64c0b29b0eb3755e68">Horizontal</a>(<a class="code hl_typedef" href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">Components</a> children, <span class="keywordtype">int</span>* selector);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui_1_1Container.html#aea9fe244eeeb420276bcc5760b46953d">Tab</a>(<a class="code hl_typedef" href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">Components</a> children, <span class="keywordtype">int</span>* selector);</div>
|
||
<div class="line"> </div>
|
||
<div class="line">} <span class="comment">// namespace Container</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a6910ffaa082c693603aafab4e7dddac3">Button</a>(ConstStringRef label,</div>
|
||
<div class="line"> std::function<<span class="keywordtype">void</span>()> on_click,</div>
|
||
<div class="line"> Ref<ButtonOption> = <a class="code hl_function" href="structftxui_1_1ButtonOption.html#a553fe18f102e8e62aec516d4d3213eac">ButtonOption::Simple</a>());</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a04e40e348dee25bbbfce0a13bf234e19">Checkbox</a>(ConstStringRef label,</div>
|
||
<div class="line"> <span class="keywordtype">bool</span>* checked,</div>
|
||
<div class="line"> Ref<CheckboxOption> option = <a class="code hl_function" href="structftxui_1_1CheckboxOption.html#a41b17a916980353033366c01b15d3cb1">CheckboxOption::Simple</a>());</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a30be54a28004c1c48c2a5ed54e4abd64">Input</a>(StringRef content,</div>
|
||
<div class="line"> ConstStringRef placeholder,</div>
|
||
<div class="line"> Ref<InputOption> option = {});</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a777280bcec2414bef5c6725658c7714b">Menu</a>(ConstStringListRef entries,</div>
|
||
<div class="line"> <span class="keywordtype">int</span>* selected_,</div>
|
||
<div class="line"> Ref<MenuOption> = <a class="code hl_function" href="structftxui_1_1MenuOption.html#a617c59fdb94db99100d0e7a569c31d75">MenuOption::Vertical</a>());</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a4ca1e85a59a332da2aa61a6de1a9c010">MenuEntry</a>(ConstStringRef label, Ref<MenuEntryOption> = {});</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#aa22bddff4aeed66e20f30d0715596999">Dropdown</a>(ConstStringListRef entries, <span class="keywordtype">int</span>* selected);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a0d757f667caaff5287cb8702f52186ee">Radiobox</a>(ConstStringListRef entries,</div>
|
||
<div class="line"> <span class="keywordtype">int</span>* selected_,</div>
|
||
<div class="line"> Ref<RadioboxOption> option = {});</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a3537fccac66b07cd792874c9a6086811">Toggle</a>(ConstStringListRef entries, <span class="keywordtype">int</span>* selected);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">template</span> <<span class="keyword">class</span> T> <span class="comment">// T = {int, float, long}</span></div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#acc572957ec06e5eb955856ee058f8d90">Slider</a>(ConstStringRef label, T* value, T min, T max, T increment);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#ae2205fc172615b43e1e3307bb614be4c">ResizableSplitLeft</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> main, <a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> back, <span class="keywordtype">int</span>* main_size);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a9030d0beb64f653603cab382b02750a8">ResizableSplitRight</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> main, <a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> back, <span class="keywordtype">int</span>* main_size);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a238b4b650aca14716b82b2198695e008">ResizableSplitTop</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> main, <a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> back, <span class="keywordtype">int</span>* main_size);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#acb75e6e61a021829893f7b57aeb7e3a2">ResizableSplitBottom</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> main, <a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> back, <span class="keywordtype">int</span>* main_size);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361">Renderer</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> child, std::function<<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>()>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361">Renderer</a>(std::function<<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>()>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361">Renderer</a>(std::function<<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a>(<span class="keywordtype">bool</span> <span class="comment">/* focused */</span>)>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> <a class="code hl_function" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361">Renderer</a>(<a class="code hl_typedef" href="namespaceftxui.html#a2d5012891073dbf196bfada5f702f382">ElementDecorator</a>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#afa5872ba3f9889c7487e57e745e56857">CatchEvent</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> child, std::function<<span class="keywordtype">bool</span>(Event)>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> <a class="code hl_function" href="namespaceftxui.html#afa5872ba3f9889c7487e57e745e56857">CatchEvent</a>(std::function<<span class="keywordtype">bool</span>(Event)> on_event);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4">Maybe</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>, <span class="keyword">const</span> <span class="keywordtype">bool</span>* show);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4">Maybe</a>(<a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a>, std::function<<span class="keywordtype">bool</span>()>);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> <a class="code hl_function" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4">Maybe</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span>* show);</div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ComponentDecorator</a> <a class="code hl_function" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4">Maybe</a>(std::function<<span class="keywordtype">bool</span>()>);</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> <a class="code hl_function" href="namespaceftxui.html#af75c40d83714ba0748a68d11ff5e25dd">Collapsible</a>(ConstStringRef label,</div>
|
||
<div class="line"> <a class="code hl_typedef" href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">Component</a> child,</div>
|
||
<div class="line"> Ref<bool> show = <span class="keyword">false</span>);</div>
|
||
<div class="line">} <span class="comment">// namespace ftxui</span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="preprocessor">#endif </span><span class="comment">/* end of include guard: FTXUI_COMPONENT_HPP */</span><span class="preprocessor"></span></div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="comment">// Copyright 2021 Arthur Sonzogni. All rights reserved.</span></div>
|
||
<div class="line"><span class="comment">// Use of this source code is governed by the MIT license that can be found in</span></div>
|
||
<div class="line"><span class="comment">// the LICENSE file.</span></div>
|
||
<div class="ttc" id="acomponent__base_8hpp_html"><div class="ttname"><a href="component__base_8hpp.html">component_base.hpp</a></div></div>
|
||
<div class="ttc" id="acomponent__options_8hpp_html"><div class="ttname"><a href="component__options_8hpp.html">component_options.hpp</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_1_1Container_html_a01563bae9454fe64c0b29b0eb3755e68"><div class="ttname"><a href="namespaceftxui_1_1Container.html#a01563bae9454fe64c0b29b0eb3755e68">ftxui::Container::Horizontal</a></div><div class="ttdeci">Component Horizontal(Components children)</div><div class="ttdoc">A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow...</div><div class="ttdef"><b>Definition</b> <a href="container_8cpp_source.html#l00297">container.cpp:297</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_1_1Container_html_a6471e39f5664d059144746c5801d37e6"><div class="ttname"><a href="namespaceftxui_1_1Container.html#a6471e39f5664d059144746c5801d37e6">ftxui::Container::Vertical</a></div><div class="ttdeci">Component Vertical(Components children)</div><div class="ttdoc">A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or...</div><div class="ttdef"><b>Definition</b> <a href="container_8cpp_source.html#l00254">container.cpp:254</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_1_1Container_html_aea9fe244eeeb420276bcc5760b46953d"><div class="ttname"><a href="namespaceftxui_1_1Container.html#aea9fe244eeeb420276bcc5760b46953d">ftxui::Container::Tab</a></div><div class="ttdeci">Component Tab(Components children, int *selector)</div><div class="ttdoc">A list of components, where only one is drawn and interacted with at a time. The |selector| gives the...</div><div class="ttdef"><b>Definition</b> <a href="container_8cpp_source.html#l00342">container.cpp:342</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a04e40e348dee25bbbfce0a13bf234e19"><div class="ttname"><a href="namespaceftxui.html#a04e40e348dee25bbbfce0a13bf234e19">ftxui::Checkbox</a></div><div class="ttdeci">Component Checkbox(ConstStringRef label, bool *checked, Ref< CheckboxOption > option=CheckboxOption::Simple())</div><div class="ttdoc">Draw checkable element.</div><div class="ttdef"><b>Definition</b> <a href="checkbox_8cpp_source.html#l00113">checkbox.cpp:113</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a0d757f667caaff5287cb8702f52186ee"><div class="ttname"><a href="namespaceftxui.html#a0d757f667caaff5287cb8702f52186ee">ftxui::Radiobox</a></div><div class="ttdeci">Component Radiobox(ConstStringListRef entries, int *selected_, Ref< RadioboxOption > option={})</div><div class="ttdoc">A list of element, where only one can be selected.</div><div class="ttdef"><b>Definition</b> <a href="radiobox_8cpp_source.html#l00214">radiobox.cpp:214</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a20b66a70c1cd4ff3f0ff571a4507d2b4"><div class="ttname"><a href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4">ftxui::Maybe</a></div><div class="ttdeci">Component Maybe(Component, const bool *show)</div><div class="ttdoc">Decorate a component |child|. It is shown only when |show| is true. @params child the compoennt to de...</div><div class="ttdef"><b>Definition</b> <a href="maybe_8cpp_source.html#l00066">maybe.cpp:66</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a238b4b650aca14716b82b2198695e008"><div class="ttname"><a href="namespaceftxui.html#a238b4b650aca14716b82b2198695e008">ftxui::ResizableSplitTop</a></div><div class="ttdeci">Component ResizableSplitTop(Component main, Component back, int *main_size)</div><div class="ttdoc">An vertical split in between two components, configurable using the mouse.</div><div class="ttdef"><b>Definition</b> <a href="resizable__split_8cpp_source.html#l00338">resizable_split.cpp:338</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a2b8973dc71334f1d98e2e6f55de8b5ae"><div class="ttname"><a href="namespaceftxui.html#a2b8973dc71334f1d98e2e6f55de8b5ae">ftxui::Make</a></div><div class="ttdeci">std::shared_ptr< T > Make(Args &&... args)</div><div class="ttdef"><b>Definition</b> <a href="component_8hpp_source.html#l00025">component.hpp:25</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a2d5012891073dbf196bfada5f702f382"><div class="ttname"><a href="namespaceftxui.html#a2d5012891073dbf196bfada5f702f382">ftxui::ElementDecorator</a></div><div class="ttdeci">std::function< Element(Element)> ElementDecorator</div><div class="ttdef"><b>Definition</b> <a href="component_8hpp_source.html#l00031">component.hpp:31</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a30be54a28004c1c48c2a5ed54e4abd64"><div class="ttname"><a href="namespaceftxui.html#a30be54a28004c1c48c2a5ed54e4abd64">ftxui::Input</a></div><div class="ttdeci">Component Input(StringRef content, ConstStringRef placeholder, Ref< InputOption > option={})</div><div class="ttdoc">An input box for editing text.</div><div class="ttdef"><b>Definition</b> <a href="input_8cpp_source.html#l00262">input.cpp:262</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a3537fccac66b07cd792874c9a6086811"><div class="ttname"><a href="namespaceftxui.html#a3537fccac66b07cd792874c9a6086811">ftxui::Toggle</a></div><div class="ttdeci">Component Toggle(ConstStringListRef entries, int *selected)</div><div class="ttdoc">An horizontal list of elements. The user can navigate through them.</div><div class="ttdef"><b>Definition</b> <a href="menu_8cpp_source.html#l00507">menu.cpp:507</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a3d4ccad0c8a07d5b0cb4b2e690ffc90c"><div class="ttname"><a href="namespaceftxui.html#a3d4ccad0c8a07d5b0cb4b2e690ffc90c">ftxui::Components</a></div><div class="ttdeci">std::vector< Component > Components</div><div class="ttdef"><b>Definition</b> <a href="component__base_8hpp_source.html#l00022">component_base.hpp:22</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a4ca1e85a59a332da2aa61a6de1a9c010"><div class="ttname"><a href="namespaceftxui.html#a4ca1e85a59a332da2aa61a6de1a9c010">ftxui::MenuEntry</a></div><div class="ttdeci">Component MenuEntry(ConstStringRef label, Ref< MenuEntryOption >={})</div><div class="ttdoc">A specific menu entry. They can be put into a Container::Vertical to form a menu.</div><div class="ttdef"><b>Definition</b> <a href="menu_8cpp_source.html#l00537">menu.cpp:537</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a533e883e2aeea28de2b60564fcaf0361"><div class="ttname"><a href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361">ftxui::Renderer</a></div><div class="ttdeci">Component Renderer(Component child, std::function< Element()>)</div><div class="ttdoc">Return a new Component, similar to |child|, but using |render| as the Component::Render() event.</div><div class="ttdef"><b>Definition</b> <a href="renderer_8cpp_source.html#l00060">renderer.cpp:60</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a6910ffaa082c693603aafab4e7dddac3"><div class="ttname"><a href="namespaceftxui.html#a6910ffaa082c693603aafab4e7dddac3">ftxui::Button</a></div><div class="ttdeci">Component Button(ConstStringRef label, std::function< void()> on_click, Ref< ButtonOption >=ButtonOption::Simple())</div><div class="ttdoc">Draw a button. Execute a function when clicked.</div><div class="ttdef"><b>Definition</b> <a href="button_8cpp_source.html#l00059">button.cpp:59</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a777280bcec2414bef5c6725658c7714b"><div class="ttname"><a href="namespaceftxui.html#a777280bcec2414bef5c6725658c7714b">ftxui::Menu</a></div><div class="ttdeci">Component Menu(ConstStringListRef entries, int *selected_, Ref< MenuOption >=MenuOption::Vertical())</div><div class="ttdoc">A list of text. The focused element is selected.</div><div class="ttdef"><b>Definition</b> <a href="menu_8cpp_source.html#l00496">menu.cpp:496</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_a9030d0beb64f653603cab382b02750a8"><div class="ttname"><a href="namespaceftxui.html#a9030d0beb64f653603cab382b02750a8">ftxui::ResizableSplitRight</a></div><div class="ttdeci">Component ResizableSplitRight(Component main, Component back, int *main_size)</div><div class="ttdoc">An horizontal split in between two components, configurable using the mouse.</div><div class="ttdef"><b>Definition</b> <a href="resizable__split_8cpp_source.html#l00308">resizable_split.cpp:308</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_aa22bddff4aeed66e20f30d0715596999"><div class="ttname"><a href="namespaceftxui.html#aa22bddff4aeed66e20f30d0715596999">ftxui::Dropdown</a></div><div class="ttdeci">Component Dropdown(ConstStringListRef entries, int *selected)</div><div class="ttdef"><b>Definition</b> <a href="dropdown_8cpp_source.html#l00014">dropdown.cpp:14</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_acb75e6e61a021829893f7b57aeb7e3a2"><div class="ttname"><a href="namespaceftxui.html#acb75e6e61a021829893f7b57aeb7e3a2">ftxui::ResizableSplitBottom</a></div><div class="ttdeci">Component ResizableSplitBottom(Component main, Component back, int *main_size)</div><div class="ttdoc">An vertical split in between two components, configurable using the mouse.</div><div class="ttdef"><b>Definition</b> <a href="resizable__split_8cpp_source.html#l00368">resizable_split.cpp:368</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_acc572957ec06e5eb955856ee058f8d90"><div class="ttname"><a href="namespaceftxui.html#acc572957ec06e5eb955856ee058f8d90">ftxui::Slider</a></div><div class="ttdeci">Component Slider(ConstStringRef label, T *value, T min, T max, T increment)</div><div class="ttdoc">An horizontal slider.</div><div class="ttdef"><b>Definition</b> <a href="slider_8cpp_source.html#l00124">slider.cpp:124</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_ae2205fc172615b43e1e3307bb614be4c"><div class="ttname"><a href="namespaceftxui.html#ae2205fc172615b43e1e3307bb614be4c">ftxui::ResizableSplitLeft</a></div><div class="ttdeci">Component ResizableSplitLeft(Component main, Component back, int *main_size)</div><div class="ttdoc">An horizontal split in between two components, configurable using the mouse.</div><div class="ttdef"><b>Definition</b> <a href="resizable__split_8cpp_source.html#l00278">resizable_split.cpp:278</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af07b496fe512e3a4863ee546f19e9a6c"><div class="ttname"><a href="namespaceftxui.html#af07b496fe512e3a4863ee546f19e9a6c">ftxui::ComponentDecorator</a></div><div class="ttdeci">std::function< Component(Component)> ComponentDecorator</div><div class="ttdef"><b>Definition</b> <a href="component_8hpp_source.html#l00030">component.hpp:30</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af1479ede01dbf087342534ab4ada11d3"><div class="ttname"><a href="namespaceftxui.html#af1479ede01dbf087342534ab4ada11d3">ftxui::Component</a></div><div class="ttdeci">std::shared_ptr< ComponentBase > Component</div><div class="ttdef"><b>Definition</b> <a href="component__base_8hpp_source.html#l00021">component_base.hpp:21</a></div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_af75c40d83714ba0748a68d11ff5e25dd"><div class="ttname"><a href="namespaceftxui.html#af75c40d83714ba0748a68d11ff5e25dd">ftxui::Collapsible</a></div><div class="ttdeci">Component Collapsible(ConstStringRef label, Component child, Ref< bool > show=false)</div></div>
|
||
<div class="ttc" id="anamespaceftxui_html_afa5872ba3f9889c7487e57e745e56857"><div class="ttname"><a href="namespaceftxui.html#afa5872ba3f9889c7487e57e745e56857">ftxui::CatchEvent</a></div><div class="ttdeci">Component CatchEvent(Component child, std::function< bool(Event)>)</div></div>
|
||
<div class="ttc" id="astructftxui_1_1ButtonOption_html_a553fe18f102e8e62aec516d4d3213eac"><div class="ttname"><a href="structftxui_1_1ButtonOption.html#a553fe18f102e8e62aec516d4d3213eac">ftxui::ButtonOption::Simple</a></div><div class="ttdeci">static ButtonOption Simple()</div><div class="ttdoc">Create a ButtonOption, inverted when focused.</div><div class="ttdef"><b>Definition</b> <a href="component__options_8cpp_source.html#l00134">component_options.cpp:134</a></div></div>
|
||
<div class="ttc" id="astructftxui_1_1CheckboxOption_html_a41b17a916980353033366c01b15d3cb1"><div class="ttname"><a href="structftxui_1_1CheckboxOption.html#a41b17a916980353033366c01b15d3cb1">ftxui::CheckboxOption::Simple</a></div><div class="ttdeci">static CheckboxOption Simple()</div><div class="ttdoc">Option for standard Checkbox.</div><div class="ttdef"><b>Definition</b> <a href="component__options_8cpp_source.html#l00190">component_options.cpp:190</a></div></div>
|
||
<div class="ttc" id="astructftxui_1_1MenuOption_html_a617c59fdb94db99100d0e7a569c31d75"><div class="ttname"><a href="structftxui_1_1MenuOption.html#a617c59fdb94db99100d0e7a569c31d75">ftxui::MenuOption::Vertical</a></div><div class="ttdeci">static MenuOption Vertical()</div><div class="ttdef"><b>Definition</b> <a href="component__options_8cpp_source.html#l00075">component_options.cpp:75</a></div></div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="component-input"></a>
|
||
Input</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2input_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147247671-f1d6f606-1845-4e94-a4a0-d4273e9ae6bd.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a30be54a28004c1c48c2a5ed54e4abd64" title="An input box for editing text.">ftxui::Input()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<p>
|
||
<script id="asciicast-223719" src="https://asciinema.org/a/223719.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-menu"></a>
|
||
Menu</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2menu_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147247822-0035fd6f-bb13-4b3a-b057-77eb9291582f.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a777280bcec2414bef5c6725658c7714b" title="A list of text. The focused element is selected.">ftxui::Menu()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<p>
|
||
<script id="asciicast-223720" src="https://asciinema.org/a/223720.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-toggle"></a>
|
||
Toggle </h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2toggle_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147249383-e2201cf1-b7b8-4a5a-916f-d761e3e7ae40.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a3537fccac66b07cd792874c9a6086811" title="An horizontal list of elements. The user can navigate through them.">ftxui::Toggle()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<p>
|
||
<script id="asciicast-223722" src="https://asciinema.org/a/223722.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-checkbox"></a>
|
||
CheckBox</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2checkbox_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147246646-b86926a9-1ef9-4efb-af98-48a9b62acd81.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a04e40e348dee25bbbfce0a13bf234e19" title="Draw checkable element.">ftxui::Checkbox()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<p>
|
||
<script id="asciicast-223724" src="https://asciinema.org/a/223724.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-radiobox"></a>
|
||
RadioBox</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2radiobox_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147246401-809d14a5-6621-4e36-8dd9-a2d75ef2a94e.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a0d757f667caaff5287cb8702f52186ee" title="A list of element, where only one can be selected.">ftxui::Radiobox()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<p>
|
||
<script id="asciicast-223725" src="https://asciinema.org/a/223725.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-dropdown"></a>
|
||
Dropdown</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2dropdown_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147246982-1e821751-531c-4e1f-bc37-2fa290e143cd.gif" alt="youtube-video-gif (3)" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#aa22bddff4aeed66e20f30d0715596999">ftxui::Dropdown()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<h2><a class="anchor" id="component-slider"></a>
|
||
Slider</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2slider_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147249265-7e2cad75-082c-436e-affe-44a550c480ab.png" alt="image" class="inline"/></p>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#acc572957ec06e5eb955856ee058f8d90" title="An horizontal slider.">ftxui::Slider()</a></code> from "ftxui/component/component.hpp"</p>
|
||
<h2><a class="anchor" id="component-renderer"></a>
|
||
Renderer</h2>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361" title="Return a new Component, similar to |child|, but using |render| as the Component::Render() event.">ftxui::Renderer()</a></code> from '<a class="el" href="component_8hpp.html">ftxui/component/component.hpp</a>'. This component decorate another one by using a different function to render an interface.</p>
|
||
<p>Example: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> inner = [...]</div>
|
||
<div class="line"> </div>
|
||
<div class="line"><span class="keyword">auto</span> renderer = Renderer(inner, [&] {</div>
|
||
<div class="line"> <span class="keywordflow">return</span> inner->Render() | border</div>
|
||
<div class="line">});</div>
|
||
</div><!-- fragment --><p><code><a class="el" href="namespaceftxui.html#a533e883e2aeea28de2b60564fcaf0361" title="Return a new Component, similar to |child|, but using |render| as the Component::Render() event.">ftxui::Renderer</a></code> also support the component decorator pattern: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> component = [...]</div>
|
||
<div class="line">component = component</div>
|
||
<div class="line"> | Renderer([] (<a class="code hl_typedef" href="namespaceftxui.html#a2bc31f2d685189e5c61d2293a1f51b4f">Element</a> e) { <span class="keywordflow">return</span> e | border))</div>
|
||
<div class="line"> | Renderer(bold)</div>
|
||
</div><!-- fragment --><p>As a short hand, you can also compose a component with an element decorator: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> component = [...]</div>
|
||
<div class="line">component = component | border | bold;</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="component-catchevent"></a>
|
||
CatchEvent</h2>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#afa5872ba3f9889c7487e57e745e56857">ftxui::CatchEvent()</a></code> from '<a class="el" href="component_8hpp.html">ftxui/component/component.hpp</a>'. This component decorate another one and catch the events before the underlying component.</p>
|
||
<p>Examples: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> screen = ScreenInteractive::TerminalOutput();</div>
|
||
<div class="line"><span class="keyword">auto</span> renderer = Renderer([] {</div>
|
||
<div class="line"> <span class="keywordflow">return</span> text(<span class="stringliteral">"My interface"</span>);</div>
|
||
<div class="line">});</div>
|
||
<div class="line"><span class="keyword">auto</span> component = CatchEvent(renderer, [&](<a class="code hl_struct" href="structftxui_1_1Event.html">Event</a> event) {</div>
|
||
<div class="line"> <span class="keywordflow">if</span> (event == Event::Character(<span class="charliteral">'q'</span>)) {</div>
|
||
<div class="line"> screen.ExitLoopClosure()();</div>
|
||
<div class="line"> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||
<div class="line"> }</div>
|
||
<div class="line"> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||
<div class="line">});</div>
|
||
<div class="line">screen.Loop(component);</div>
|
||
<div class="ttc" id="astructftxui_1_1Event_html"><div class="ttname"><a href="structftxui_1_1Event.html">ftxui::Event</a></div><div class="ttdoc">Represent an event. It can be key press event, a terminal resize, or more ...</div><div class="ttdef"><b>Definition</b> <a href="event_8hpp_source.html#l00026">event.hpp:26</a></div></div>
|
||
</div><!-- fragment --><p>The <code><a class="el" href="namespaceftxui.html#afa5872ba3f9889c7487e57e745e56857">ftxui::CatchEvent</a></code> can also be used as a decorator: </p><div class="fragment"><div class="line">component = component</div>
|
||
<div class="line"> | CatchEvent(handler_1)</div>
|
||
<div class="line"> | CatchEvent(handler_2)</div>
|
||
<div class="line"> | CatchEvent(handler_3)</div>
|
||
<div class="line"> ;</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="component-collapsible"></a>
|
||
Collapsible</h2>
|
||
<p>Useful for section whose visibility can be toggle on/off by the user. This is basically, a combinaison of a <code><a class="el" href="namespaceftxui.html#a04e40e348dee25bbbfce0a13bf234e19" title="Draw checkable element.">ftxui::Checkbox</a></code> and a <code><a class="el" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4" title="Decorate a component |child|. It is shown only when |show| is true. @params child the compoennt to de...">ftxui::Maybe</a></code> components.</p>
|
||
<div class="fragment"><div class="line"><span class="keyword">auto</span> collabsible = Collapsible(<span class="stringliteral">"Show more"</span>, inner_element);</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="component-maybe"></a>
|
||
Maybe</h2>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4" title="Decorate a component |child|. It is shown only when |show| is true. @params child the compoennt to de...">ftxui::Maybe()</a></code> from `ftxui/component/component.hpp`. This component decorate another one, by showing/hiding it depending on a boolean or a predicate.</p>
|
||
<p>Example with a boolean: </p><div class="fragment"><div class="line"><span class="keywordtype">bool</span> show = <span class="keyword">true</span>;</div>
|
||
<div class="line"><span class="keyword">auto</span> component = Renderer([]{ <span class="keywordflow">return</span> <span class="stringliteral">"Hello World!"</span>; });</div>
|
||
<div class="line"><span class="keyword">auto</span> maybe_component = Maybe(component, &show)</div>
|
||
</div><!-- fragment --><p>Example with a predicate: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> component = Renderer([]{ <span class="keywordflow">return</span> <span class="stringliteral">"Hello World!"</span>; });</div>
|
||
<div class="line"><span class="keyword">auto</span> maybe_component = Maybe(component, [&] { <span class="keywordflow">return</span> time > 10; })</div>
|
||
</div><!-- fragment --><p><code><a class="el" href="namespaceftxui.html#a20b66a70c1cd4ff3f0ff571a4507d2b4" title="Decorate a component |child|. It is shown only when |show| is true. @params child the compoennt to de...">ftxui::Maybe</a></code> can be used as a decorator.</p>
|
||
<div class="fragment"><div class="line">component = component</div>
|
||
<div class="line"> | Maybe(&a_boolean)</div>
|
||
<div class="line"> | Maybe([&] { return time > 10; })</div>
|
||
<div class="line"> ;</div>
|
||
</div><!-- fragment --><h2><a class="anchor" id="component-container"></a>
|
||
Container</h2>
|
||
<h3><a class="anchor" id="component-horizontal"></a>
|
||
Horizontal</h3>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui_1_1Container.html#a01563bae9454fe64c0b29b0eb3755e68" title="A list of components, drawn one by one horizontally and navigated horizontally using left/right arrow...">ftxui::Container::Horizontal()</a></code> from "ftxui/component/component.hpp". It displays a list of components horizontally and handle keyboard/mouse navigation.</p>
|
||
<h3><a class="anchor" id="component-vertical"></a>
|
||
Vertical</h3>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui_1_1Container.html#a6471e39f5664d059144746c5801d37e6" title="A list of components, drawn one by one vertically and navigated vertically using up/down arrow key or...">ftxui::Container::Vertical()</a></code> from "ftxui/component/component.hpp". It displays a list of components vertically and handles keyboard/mouse navigation.</p>
|
||
<h3><a class="anchor" id="component-tab"></a>
|
||
Tab</h3>
|
||
<p>Produced by: <code><a class="el" href="namespaceftxui_1_1Container.html#aea9fe244eeeb420276bcc5760b46953d" title="A list of components, where only one is drawn and interacted with at a time. The |selector| gives the...">ftxui::Container::Tab()</a></code> from "ftxui/component/component.hpp". It take a list of component and display only one of them. This is useful for implementing a tab bar.</p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2tab_vertical_8cpp-example.html">Vertical</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147250144-22ff044a-4773-4ff7-a49c-12ba4034acb4.gif" alt="ezgif com-gif-maker (1)" class="inline"/></p>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2tab_horizontal_8cpp-example.html">Horizontal</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147250217-fe447e0f-7a99-4e08-948a-995087d9b40e.gif" alt="ezgif com-gif-maker (2)" class="inline"/></p>
|
||
<h2><a class="anchor" id="component-resizable-split"></a>
|
||
ResizableSplit::{Left, Right, Top, Bottom}</h2>
|
||
<p><a href="https://arthursonzogni.github.io/FTXUI/examples_2component_2resizable_split_8cpp-example.html">Example</a>:</p>
|
||
<p><img src="https://user-images.githubusercontent.com/4759106/147248372-c55512fe-9b96-4b08-a1df-d05cf2cae431.gif" alt="ezgif com-gif-maker" class="inline"/> <br />
|
||
</p>
|
||
<p>Produced by:</p><ul>
|
||
<li><code><a class="el" href="namespaceftxui.html#ae2205fc172615b43e1e3307bb614be4c" title="An horizontal split in between two components, configurable using the mouse.">ftxui::ResizableSplitLeft()</a></code></li>
|
||
<li><code><a class="el" href="namespaceftxui.html#a9030d0beb64f653603cab382b02750a8" title="An horizontal split in between two components, configurable using the mouse.">ftxui::ResizableSplitRight()</a></code></li>
|
||
<li><code><a class="el" href="namespaceftxui.html#a238b4b650aca14716b82b2198695e008" title="An vertical split in between two components, configurable using the mouse.">ftxui::ResizableSplitTop()</a></code></li>
|
||
<li><code><a class="el" href="namespaceftxui.html#acb75e6e61a021829893f7b57aeb7e3a2" title="An vertical split in between two components, configurable using the mouse.">ftxui::ResizableSplitBottom()</a></code> from "ftxui/component/component.hpp"</li>
|
||
</ul>
|
||
<p>It defines an horizontal or vertical separation in between two children component. The position of the split is variable and controllable using the mouse.</p>
|
||
<p>
|
||
<script id="asciicast-tprMH2EdkUoMb7D2YxgMGgpzx" src="https://asciinema.org/a/tprMH2EdkUoMb7D2YxgMGgpzx.js" async></script>
|
||
</p>
|
||
<h2><a class="anchor" id="component-force-redraw"></a>
|
||
Force a frame redraw.</h2>
|
||
<p>Whenever a new group of events have been processed: keyboard, mouse, window resize, etc..., the <code><a class="el" href="classftxui_1_1ScreenInteractive.html#a9bd3dbd471fce0038700caaa47dddc1a">ftxui::ScreenInteractive::Loop()</a></code> is responsible for drawing a new frame.</p>
|
||
<p>You might want to react to arbitrary events that are unknown to FTXUI. This can be achieve by posting events via <code><a class="el" href="classftxui_1_1ScreenInteractive.html#a29e75bdaa1d5465518787ec014b2c3bf">ftxui::ScreenInteractive::PostEvent</a></code>, via a thread. You can post the event<code><a class="el" href="structftxui_1_1Event.html#a699872f2a6d8607d714be174e9435290">ftxui::Event::Custom</a></code>.</p>
|
||
<div class="fragment"><div class="line">screen->PostEvent(Event::Custom);</div>
|
||
</div><!-- fragment --><p><code><a class="el" href="classftxui_1_1ScreenInteractive.html#a29e75bdaa1d5465518787ec014b2c3bf">ftxui::ScreenInteractive::PostEvent</a></code> is thread safe. </p>
|
||
</div></div><!-- PageDoc -->
|
||
<a href="doxygen_crawl.html"></a>
|
||
</div><!-- contents -->
|
||
</div><!-- doc-content -->
|
||
<!-- HTML footer for doxygen 1.8.14-->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
</div>
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
const projectNumber = document.getElementById('projectnumber');
|
||
if (!projectNumber) {
|
||
console.warn('Doxygen element with ID "projectnumber" not found. Cannot add version switcher.');
|
||
return;
|
||
}
|
||
|
||
const versions = ["main", "v6.1.9", "v6.1.8", "v6.1.7", "v6.1.6", "v6.1.5", "v6.1.4", "v6.1.3", "v6.1.2", "v6.1.1", "v6.1.0", "v6.0.2", "v6.0.1", "v6.0.0", "v5.0.0", "v4.1.1", "v4.1.0", "v4.0.0", "v3.0.0", "v2.0.0", "v0.9", "v0.11", "v0.10"];
|
||
const version_paths = {"main": "../../index.html", "v6.1.9": "../v6.1.9/index.html", "v6.1.8": "../v6.1.8/index.html", "v6.1.7": "../v6.1.7/index.html", "v6.1.6": "../v6.1.6/index.html", "v6.1.5": "../v6.1.5/index.html", "v6.1.4": "../v6.1.4/index.html", "v6.1.3": "../v6.1.3/index.html", "v6.1.2": "../v6.1.2/index.html", "v6.1.1": "../v6.1.1/index.html", "v6.1.0": "../v6.1.0/index.html", "v6.0.2": "../v6.0.2/index.html", "v6.0.1": "../v6.0.1/index.html", "v6.0.0": "../v6.0.0/index.html", "v5.0.0": "../v5.0.0/index.html", "v4.1.1": "../v4.1.1/index.html", "v4.1.0": "../v4.1.0/index.html", "v4.0.0": "../v4.0.0/index.html", "v3.0.0": "index.html", "v2.0.0": "../v2.0.0/index.html", "v0.9": "../v0.9/index.html", "v0.11": "../v0.11/index.html", "v0.10": "../v0.10/index.html"};
|
||
const currentVersion = "v3.0.0";
|
||
|
||
// Sort versions: 'main' first, then others numerically descending.
|
||
versions.sort((a, b) => {
|
||
if (a === 'main') return -1;
|
||
if (b === 'main') return 1;
|
||
return b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' });
|
||
});
|
||
|
||
const select = document.createElement('select');
|
||
select.onchange = function() {
|
||
const selectedVersion = this.value;
|
||
// Navigate directly to the pre-calculated relative path.
|
||
if (selectedVersion !== currentVersion) {
|
||
window.location.href = version_paths[selectedVersion];
|
||
}
|
||
};
|
||
|
||
versions.forEach(v => {
|
||
const option = document.createElement('option');
|
||
option.value = v;
|
||
option.textContent = v;
|
||
if (v === currentVersion) {
|
||
option.selected = true;
|
||
}
|
||
select.appendChild(option);
|
||
});
|
||
|
||
// Replace the Doxygen project number element with our dropdown.
|
||
projectNumber.replaceWith(select);
|
||
|
||
// Apply some styling to make it look good.
|
||
Object.assign(select.style, {
|
||
backgroundColor: 'rgba(0, 0, 0, 0.8)',
|
||
color: 'white',
|
||
border: '1px solid rgba(255, 255, 255, 0.2)',
|
||
padding: '5px',
|
||
borderRadius: '5px',
|
||
fontSize: '14px',
|
||
fontFamily: 'inherit',
|
||
marginLeft: '10px',
|
||
cursor: 'pointer'
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|