4#ifndef FTXUI_DOM_CANVAS_HPP
5#define FTXUI_DOM_CANVAS_HPP
10#include <unordered_map>
44 int width()
const {
return width_; }
45 int height()
const {
return height_; }
109 void DrawText(
int x,
int y,
const std::string& value);
110 void DrawText(
int x,
int y,
const std::string& value,
const Color& color);
111 void DrawText(
int x,
int y,
const std::string& value,
const Stylizer& style);
125 bool IsIn(
int x,
int y)
const {
126 return x >= 0 && x < width_ && y >= 0 && y < height_;
136 CellType type = kCell;
143 bool operator==(
const XY& other)
const {
144 return x == other.x && y == other.y;
149 size_t operator()(
const XY& xy)
const {
150 constexpr size_t shift = 1024;
151 return size_t(xy.x) * shift + size_t(xy.y);
157 std::unordered_map<XY, Cell, XYHash> storage_;
void DrawImage(int x, int y, const Image &)
Dibuja una imagen predefinida, con la esquina superior izquierda en la coordenada dada Puedes proporc...
void DrawBlockLine(int x1, int y1, int x2, int y2)
Dibuja una línea de caracteres de bloque.
void DrawPointEllipseFilled(int x, int y, int r1, int r2)
Dibuja una elipse rellena de puntos braille.
void DrawPointLine(int x1, int y1, int x2, int y2)
Dibuja una línea de puntos braille.
void DrawText(int x, int y, const std::string &value)
Dibuja un trozo de texto.
std::function< void(Pixel &)> Stylizer
void DrawBlockOn(int x, int y)
Dibuja un bloque.
void DrawPointCircleFilled(int x, int y, int radius)
Dibuja un círculo relleno de puntos braille.
void DrawPointOn(int x, int y)
Dibuja un punto braille.
void DrawBlockEllipseFilled(int x1, int y1, int r1, int r2, const Color &color)
void DrawPointOff(int x, int y)
Borra un punto braille.
Pixel GetPixel(int x, int y) const
Obtiene el contenido de una celda.
void DrawBlockEllipseFilled(int x1, int y1, int r1, int r2)
void DrawPointEllipse(int x, int y, int r1, int r2)
Dibuja una elipse de puntos braille.
void DrawPoint(int x, int y, bool value)
Dibuja un punto braille.
void DrawBlockEllipse(int x1, int y1, int r1, int r2)
Dibuja una elipse de caracteres de bloque.
void DrawBlockToggle(int x, int y)
Alterna un bloque. Si está relleno, se borrará. Si está vacío, se rellenará.
void DrawBlockCircle(int x1, int y1, int radius)
Dibuja un círculo de caracteres de bloque.
void DrawBlockCircleFilled(int x1, int y1, int radius)
Dibuja un círculo relleno de caracteres de bloque.
void DrawPointCircle(int x, int y, int radius)
Dibuja un círculo de puntos braille.
void DrawBlockOff(int x, int y)
Borra un bloque.
void DrawBlock(int x, int y, bool value)
Dibuja un bloque.
void DrawPointToggle(int x, int y)
Alterna un punto braille. Uno relleno será borrado, y el otro será dibujado.
void DrawPixel(int x, int y, const Pixel &)
Dibuja directamente un píxel predefinido en la coordenada dada.
Canvas es un búfer dibujable asociado con operaciones de dibujo.
Color es una clase que representa un color en la interfaz de usuario de la terminal.
Una cuadrícula rectangular de píxeles.
Un carácter Unicode y su estilo asociado.
El espacio de nombres ftxui:: de FTXUI.