FTXUI 6.1.9 C++ functional terminal UI.

Loading...
Searching...
No Matches
underlined_double.cpp
Go to the documentation of this file.
1// Copyright 2023 Arthur Sonzogni. All rights reserved.
2// Use of this source code is governed by the MIT license that can be found in
3// the LICENSE file.
4#include <memory> // for make_shared
5#include <utility> // for move
6
7#include "ftxui/dom/elements.hpp" // for Element, underlinedDouble
8#include "ftxui/dom/node.hpp" // for Node
9#include "ftxui/dom/node_decorator.hpp" // for NodeDecorator
10#include "ftxui/screen/box.hpp" // for Box
11#include "ftxui/screen/screen.hpp" // for Pixel, Screen
12
13 namespace ftxui {
14
15/// @brief Apply a underlinedDouble to text.
16/// @ingroup dom
17 Element underlinedDouble(Element child) {
18 class Impl : public NodeDecorator {
19 public:
20 using NodeDecorator::NodeDecorator;
21
22 void Render(Screen& screen) override {
23 for (int y = box_.y_min; y <= box_.y_max; ++y) {
24 for (int x = box_.x_min; x <= box_.x_max; ++x) {
25 screen.PixelAt(x, y).underlined_double = true;
26 }
27 }
28 Node::Render(screen);
29 }
30 };
31
32 return std::make_shared<Impl>(std::move(child));
33}
34
35} // namespace ftxui
box.hpp
ftxui::NodeDecorator
Definition node_decorator.hpp:16
elements.hpp
ftxui::underlinedDouble
Element underlinedDouble(Element)
Apply a underlinedDouble to text.
Definition underlined_double.cpp:17
ftxui::Image::PixelAt
Pixel & PixelAt(int x, int y)
Access a cell (Pixel) at a given position.
Definition image.cpp:43
ftxui::Pixel::underlined_double
bool underlined_double
Definition pixel.hpp:34
ftxui::Screen
A rectangular grid of Pixel.
Definition screen.hpp:27
ftxui
The FTXUI ftxui:: namespace.
Definition animation.hpp:10
ftxui::Element
std::shared_ptr< Node > Element
Definition elements.hpp:22
node.hpp
node_decorator.hpp
screen.hpp