4#ifndef FTXUI_SCREEN_SCREEN_HPP
5#define FTXUI_SCREEN_SCREEN_HPP
27class FTXUI_EXPORT(SCREEN) Screen :
public Surface {
30 Screen(
int dimx,
int dimy);
31 static Screen Create(Dimensions dimension);
32 static Screen Create(Dimensions width, Dimensions height);
35 ~Screen()
override =
default;
38 Screen(
const Screen&) =
default;
39 Screen& operator=(
const Screen&) =
default;
41 std::string ToString()
const;
42 void ToString(std::string& ss)
const;
45 void ToString(std::string& ss,
const Screen& previous)
const;
55 std::string ResetPosition(
bool clear =
false)
const;
56 void ResetPosition(std::string& ss,
bool clear =
false)
const;
64 enum Shape : uint8_t {
68 UnderlineBlinking = 3,
76 Cursor cursor()
const {
return cursor_; }
77 void SetCursor(Cursor cursor) { cursor_ = cursor; }
80 void Reserved1()
override;
81 void Reserved2()
override;
82 void Reserved3()
override;
83 void Reserved4()
override;
84 void Reserved5()
override;
85 void Reserved6()
override;
86 void Reserved7()
override;
87 void Reserved8()
override;
91 uint8_t RegisterHyperlink(std::string_view link);
92 const std::string& Hyperlink(uint8_t
id)
const;
94 using SelectionStyle = std::function<void(Cell&)>;
95 const SelectionStyle& GetSelectionStyle()
const;
96 void SetSelectionStyle(SelectionStyle decorator);
100 std::vector<std::string> hyperlinks_ = {
""};
103 SelectionStyle selection_style_ = [](Cell& cell) { cell.inverted ^=
true; };
#define FTXUI_EXPORT(component)
The FTXUI ftxui::Dimension:: namespace.
The FTXUI ftxui:: namespace.