FTXUI 6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
selection.hpp
Aller à la documentation de ce fichier.
1// Copyright 2024 Arthur Sonzogni. Tous droits réservés.
2// L'utilisation de ce code source est régie par la licence MIT qui se trouve dans
3// le fichier LICENSE.
4
5#ifndef FTXUI_DOM_SELECTION_HPP
6#define FTXUI_DOM_SELECTION_HPP
7
8#include <functional>
9
10#include <sstream>
11#include "ftxui/screen/box.hpp" // for Box
12#include "ftxui/screen/pixel.hpp" // for Pixel
13
14namespace ftxui {
15
16/// @brief Représente une sélection dans une interface utilisateur de terminal.
17///
18/// Selection est une classe qui représente les deux extrémités d'une sélection dans une
19/// interface utilisateur de terminal.
20///
21/// @ingroup dom
22class Selection {
23 public:
24 Selection(); // Sélection vide.
25 Selection(int start_x, int start_y, int end_x, int end_y);
26
27 const Box& GetBox() const;
28
31 bool IsEmpty() const { return empty_; }
32
33 void AddPart(const std::string& part, int y, int left, int right);
34 std::string GetParts() { return parts_.str(); }
35
36 private:
37 Selection(int start_x, int start_y, int end_x, int end_y, Selection* parent);
38
39 const int start_x_ = 0;
40 const int start_y_ = 0;
41 const int end_x_ = 0;
42 const int end_y_ = 0;
43 const Box box_ = {};
44 Selection* const parent_ = this;
45 const bool empty_ = true;
46 std::stringstream parts_;
47
48 // La position de la dernière partie insérée.
49 int x_ = 0;
50 int y_ = 0;
51};
52
53} // namespace ftxui
54
55#endif /* end of include guard: FTXUI_DOM_SELECTION_HPP */
const Box & GetBox() const
Récupère la boîte de sélection.
std::string GetParts()
Definition selection.hpp:34
bool IsEmpty() const
Definition selection.hpp:31
void AddPart(const std::string &part, int y, int left, int right)
Selection SaturateVertical(Box box)
Sature la sélection pour qu'elle soit à l'intérieur de la boîte. Ceci est appelé par vbox pour propag...
Selection()
Crée une sélection vide.
Selection SaturateHorizontal(Box box)
Sature la sélection pour qu'elle soit à l'intérieur de la boîte. Ceci est appelé par hbox pour propag...
Représente une sélection dans une interface utilisateur de terminal.
Definition selection.hpp:22
Box est une structure qui représente une zone rectangulaire dans un espace 2D.
Definition box.hpp:16
L'espace de noms FTXUI ftxui::
Definition animation.hpp:10