14const std::string charset[][2] = {
21class Separator :
public Node {
25 void ComputeRequirement()
override {
30 void Render(Screen& screen)
override {
34 const std::string c = charset[style_][is_line && !is_column];
38 screen.PixelAt(x, y).character = c;
46class SeparatorWithPixel :
public Separator {
48 SeparatorWithPixel(Pixel pixel) : Separator(
LIGHT), pixel_(pixel) {}
49 void Render(Screen& screen)
override {
52 screen.PixelAt(x, y) = pixel_;
62 return std::make_shared<Separator>(
LIGHT);
66 return std::make_shared<Separator>(style);
70 return std::make_shared<Separator>(
LIGHT);
73 return std::make_shared<Separator>(
HEAVY);
76 return std::make_shared<Separator>(
DOUBLE);
A rectangular grid of Pixel.
std::shared_ptr< Node > Element
Element separatorDouble()
Element separatorStyled(BorderStyle)