12 class BgColor :
public NodeDecorator {
17 void Render(Screen& screen)
override {
20 screen.PixelAt(x, y).background_color = color_;
29 class FgColor :
public NodeDecorator {
34 void Render(Screen& screen)
override {
37 screen.PixelAt(x, y).foreground_color = color_;
58 return std::make_shared<FgColor>(std::move(child),
color);
73 return std::make_shared<BgColor>(std::move(child),
color);
87 return [c](
Element child) {
return color(c, std::move(child)); };