FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
selection.hpp
Go to the documentation of this file.
1// Copyright 2024 Arthur Sonzogni. Todos los derechos reservados.
2// El uso de este código fuente se rige por la licencia MIT que se puede encontrar en
3// el archivo 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 Representa una selección en una interfaz de usuario de terminal.
17///
18/// Selection es una clase que representa los dos puntos finales de una selección en una
19/// interfaz de usuario de terminal.
20///
21/// @ingroup dom
22class Selection {
23 public:
24 Selection(); // Selección vacía.
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 posición de la última parte insertada.
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
Obtiene el cuadro de la selección.
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)
Satura la selección para que esté dentro del cuadro. Esto es llamado por vbox para propagar la selecc...
Selection()
Crea una selección vacía.
Selection SaturateHorizontal(Box box)
Satura la selección para que esté dentro del cuadro. Esto es llamado por hbox para propagar la selecc...
Representa una selección en una interfaz de usuario de terminal.
Definition selection.hpp:22
Box es una estructura que representa un área rectangular en un espacio 2D.
Definition box.hpp:16
El espacio de nombres ftxui:: de FTXUI.
Definition animation.hpp:10
std::uint8_t left
Definition screen.cpp:130
std::uint8_t right
Definition screen.cpp:132