19class Text :
public Node {
21 explicit Text(std::string
text) : text_(std::move(
text)) {}
23 void ComputeRequirement()
override {
28 void Render(Screen& screen)
override {
38 screen.PixelAt(x, y).character = cell;
47class VText :
public Node {
49 explicit VText(std::string
text)
52 void ComputeRequirement()
override {
57 void Render(Screen& screen)
override {
67 screen.PixelAt(x, y).character = it;
93 return std::make_shared<Text>(std::move(
text));
142 return std::make_shared<VText>(std::move(
text));
A rectangular grid of Pixel.
std::shared_ptr< Node > Element
std::vector< std::string > Utf8ToGlyphs(const std::string &input)
int string_width(const std::string &)
std::string to_string(const std::wstring &s)
Convert a UTF8 std::string into a std::wstring.
Element text(std::wstring text)
Display a piece of unicode text.
Element vtext(std::wstring text)
Display a piece unicode text vertically.