17 class Hyperlink :
public NodeDecorator {
19 Hyperlink(
Element child, std::string link)
20 : NodeDecorator(std::move(child)), link_(std::move(link)) {}
22 void Render(Screen& screen)
override {
23 const uint8_t hyperlink_id = screen.RegisterHyperlink(link_);
24 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
25 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
26 screen.PixelAt(x, y).hyperlink = hyperlink_id;
52 return std::make_shared<Hyperlink>(std::move(child), std::move(link));
virtual void Render(Screen &screen)
Display an element on a ftxui::Screen.
std::function< Element(Element)> Decorator
std::shared_ptr< Node > Element
Decorator hyperlink(std::string link)
Decorate using an hyperlink. The link will be opened when the user click on it. This is supported onl...
void Render(Screen &screen, const Element &element)
Display an element on a ftxui::Screen.