FTXUI 6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
button_animated.cpp
Aller à la documentation de ce fichier.
1// Copyright 2020 Arthur Sonzogni. Tous droits réservés.
2// L'utilisation de ce code source est régie par la licence MIT que l'on peut trouver
3// dans le fichier LICENSE.
4#include <memory> // for shared_ptr, __shared_ptr_access
5#include <string> // for operator+, to_string
6
7#include "ftxui/component/captured_mouse.hpp" // for ftxui
8#include "ftxui/component/component.hpp" // for Button, Horizontal, Renderer
9#include "ftxui/component/component_base.hpp" // for ComponentBase
10#include "ftxui/component/component_options.hpp" // for ButtonOption
11#include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive
12#include "ftxui/dom/elements.hpp" // for gauge, separator, text, vbox, operator|, Element, border
13#include "ftxui/screen/color.hpp" // for Color, Color::Blue, Color::Green, Color::Red
14
15using namespace ftxui;
16
17int main() {
18 int value = 50;
19
20 // L'arbre de composants. Cela définit comment naviguer en utilisant le clavier.
21 auto buttons = Container::Horizontal({
22 Button(
23 "Decrease", [&] { value--; }, ButtonOption::Animated(Color::Red)),
24 Button(
25 "Reset", [&] { value = 50; }, ButtonOption::Animated(Color::Green)),
26 Button(
27 "Increase", [&] { value++; }, ButtonOption::Animated(Color::Blue)),
28 });
29
30 // Modifier la façon de les afficher à l'écran :
31 auto component = Renderer(buttons, [&] {
32 return vbox({
33 vbox({
34 text("value = " + std::to_string(value)),
35 separator(),
36 gauge(value * 0.01f),
37 }) | border,
38 buttons->Render(),
39 });
40 });
41
43 screen.Loop(component);
44 return 0;
45}
int main()
auto screen
static ButtonOption Animated()
Crée une ButtonOption, utilisant des couleurs animées.
static ScreenInteractive FitComponent()
Component Button(ButtonOption options)
Dessine un bouton. Exécute une fonction lors d'un clic.
Component Renderer(Component child, std::function< Element()>)
Renvoie un nouveau composant, similaire à |child|, mais utilisant |render| comme événement Component:...
virtual void Render(Screen &screen)
Element text(std::wstring text)
Affiche un morceau de texte unicode.
Definition text.cpp:160
Element separator()
Dessine une séparation verticale ou horizontale entre deux autres éléments.
Element vbox(Elements)
Un conteneur affichant les éléments verticalement un par un.
Definition vbox.cpp:96
L'espace de noms FTXUI ftxui::
Definition animation.hpp:10
Element gauge(float progress)