17class ClearUnder :
public NodeDecorator {
21 void Render(Screen& screen)
override {
22 for (
int y = box_.y_min; y <= box_.y_max; ++y) {
23 for (
int x = box_.x_min; x <= box_.x_max; ++x) {
24 screen.PixelAt(x, y) = Pixel();
25 screen.PixelAt(x, y).character =
" ";
37 return std::make_shared<ClearUnder>(std::move(element));
NodeDecorator(Element child)
friend void Render(Screen &screen, Node *node, Selection &selection)
Element clear_under(Element element)
在繪製 |child| 之前,清除下方的像素。這在與 dbox 結合使用時非常有用。
std::shared_ptr< Node > Element
void Render(Screen &screen, const Element &element)