FTXUI
5.0.0
C++ functional terminal UI.
|
Public Types | |
using | Stylizer = std::function< void(Pixel &)> |
Public Member Functions | |
Canvas ()=default | |
Canvas (int width, int height) | |
Constructor. More... | |
int | width () const |
int | height () const |
Pixel | GetPixel (int x, int y) const |
Get the content of a cell. More... | |
void | DrawPointOn (int x, int y) |
Draw a braille dot. More... | |
void | DrawPointOff (int x, int y) |
Erase a braille dot. More... | |
void | DrawPointToggle (int x, int y) |
Toggle a braille dot. A filled one will be erased, and the other will be drawn. More... | |
void | DrawPoint (int x, int y, bool value) |
Draw a braille dot. More... | |
void | DrawPoint (int x, int y, bool value, const Stylizer &s) |
Draw a braille dot. More... | |
void | DrawPoint (int x, int y, bool value, const Color &color) |
Draw a braille dot. More... | |
void | DrawPointLine (int x1, int y1, int x2, int y2) |
Draw a line made of braille dots. More... | |
void | DrawPointLine (int x1, int y1, int x2, int y2, const Stylizer &s) |
Draw a line made of braille dots. More... | |
void | DrawPointLine (int x1, int y1, int x2, int y2, const Color &color) |
Draw a line made of braille dots. More... | |
void | DrawPointCircle (int x, int y, int radius) |
Draw a circle made of braille dots. More... | |
void | DrawPointCircle (int x, int y, int radius, const Stylizer &s) |
Draw a circle made of braille dots. More... | |
void | DrawPointCircle (int x, int y, int radius, const Color &color) |
Draw a circle made of braille dots. More... | |
void | DrawPointCircleFilled (int x, int y, int radius) |
Draw a filled circle made of braille dots. More... | |
void | DrawPointCircleFilled (int x, int y, int radius, const Stylizer &s) |
Draw a filled circle made of braille dots. More... | |
void | DrawPointCircleFilled (int x, int y, int radius, const Color &color) |
Draw a filled circle made of braille dots. More... | |
void | DrawPointEllipse (int x, int y, int r1, int r2) |
Draw an ellipse made of braille dots. More... | |
void | DrawPointEllipse (int x, int y, int r1, int r2, const Color &color) |
Draw an ellipse made of braille dots. More... | |
void | DrawPointEllipse (int x, int y, int r1, int r2, const Stylizer &s) |
Draw an ellipse made of braille dots. More... | |
void | DrawPointEllipseFilled (int x, int y, int r1, int r2) |
Draw a filled ellipse made of braille dots. More... | |
void | DrawPointEllipseFilled (int x, int y, int r1, int r2, const Color &color) |
Draw a filled ellipse made of braille dots. More... | |
void | DrawPointEllipseFilled (int x, int y, int r1, int r2, const Stylizer &s) |
Draw a filled ellipse made of braille dots. More... | |
void | DrawBlockOn (int x, int y) |
Draw a block. More... | |
void | DrawBlockOff (int x, int y) |
Erase a block. More... | |
void | DrawBlockToggle (int x, int y) |
Toggle a block. If it is filled, it will be erased. If it is empty, it will be filled. More... | |
void | DrawBlock (int x, int y, bool value) |
Draw a block. More... | |
void | DrawBlock (int x, int y, bool value, const Stylizer &s) |
Draw a block. More... | |
void | DrawBlock (int x, int y, bool value, const Color &color) |
Draw a block. More... | |
void | DrawBlockLine (int x1, int y1, int x2, int y2) |
Draw a line made of block characters. More... | |
void | DrawBlockLine (int x1, int y1, int x2, int y2, const Stylizer &s) |
Draw a line made of block characters. More... | |
void | DrawBlockLine (int x1, int y1, int x2, int y2, const Color &color) |
Draw a line made of block characters. More... | |
void | DrawBlockCircle (int x1, int y1, int radius) |
Draw a circle made of block characters. More... | |
void | DrawBlockCircle (int x1, int y1, int radius, const Stylizer &s) |
Draw a circle made of block characters. More... | |
void | DrawBlockCircle (int x1, int y1, int radius, const Color &color) |
Draw a circle made of block characters. More... | |
void | DrawBlockCircleFilled (int x1, int y1, int radius) |
Draw a filled circle made of block characters. More... | |
void | DrawBlockCircleFilled (int x1, int y1, int radius, const Stylizer &s) |
Draw a filled circle made of block characters. More... | |
void | DrawBlockCircleFilled (int x1, int y1, int radius, const Color &color) |
Draw a filled circle made of block characters. More... | |
void | DrawBlockEllipse (int x1, int y1, int r1, int r2) |
Draw an ellipse made of block characters. More... | |
void | DrawBlockEllipse (int x1, int y1, int r1, int r2, const Stylizer &s) |
Draw an ellipse made of block characters. More... | |
void | DrawBlockEllipse (int x1, int y1, int r1, int r2, const Color &color) |
Draw an ellipse made of block characters. More... | |
void | DrawBlockEllipseFilled (int x1, int y1, int r1, int r2) |
Draw a filled ellipse made of block characters. More... | |
void | DrawBlockEllipseFilled (int x1, int y1, int r1, int r2, const Stylizer &s) |
Draw a filled ellipse made of block characters. More... | |
void | DrawBlockEllipseFilled (int x1, int y1, int r1, int r2, const Color &color) |
Draw a filled ellipse made of block characters. More... | |
void | DrawText (int x, int y, const std::string &value) |
Draw a piece of text. More... | |
void | DrawText (int x, int y, const std::string &value, const Color &color) |
Draw a piece of text. More... | |
void | DrawText (int x, int y, const std::string &value, const Stylizer &style) |
Draw a piece of text. More... | |
void | DrawPixel (int x, int y, const Pixel &) |
Directly draw a predefined pixel at the given coordinate. More... | |
void | DrawImage (int x, int y, const Image &) |
Draw a predefined image, with top-left corner at the given coordinate You can supply negative coordinates to align the image however you like - only the 'visible' portion will be drawn. More... | |
void | Style (int x, int y, const Stylizer &style) |
Modify a pixel at a given location. More... | |
Definition at line 23 of file canvas.hpp.
Definition at line 33 of file canvas.hpp.
|
default |
Canvas | ( | int | width, |
int | height | ||
) |
Constructor.
width | the width of the canvas. A cell is a 2x4 braille dot. |
height | the height of the canvas. A cell is a 2x4 braille dot. |
Definition at line 90 of file canvas.cpp.
|
inline |
Definition at line 29 of file canvas.hpp.
|
inline |
Definition at line 30 of file canvas.hpp.
Pixel GetPixel | ( | int | x, |
int | y | ||
) | const |
Get the content of a cell.
x | the x coordinate of the cell. |
y | the y coordinate of the cell. |
Definition at line 98 of file canvas.cpp.
void DrawPointOn | ( | int | x, |
int | y | ||
) |
Draw a braille dot.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
Definition at line 137 of file canvas.cpp.
void DrawPointOff | ( | int | x, |
int | y | ||
) |
Erase a braille dot.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
Definition at line 154 of file canvas.cpp.
void DrawPointToggle | ( | int | x, |
int | y | ||
) |
Toggle a braille dot. A filled one will be erased, and the other will be drawn.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
Definition at line 172 of file canvas.cpp.
void DrawPoint | ( | int | x, |
int | y, | ||
bool | value | ||
) |
Draw a braille dot.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
value | whether the dot is filled or not. |
Definition at line 107 of file canvas.cpp.
void DrawPoint | ( | int | x, |
int | y, | ||
bool | value, | ||
const Stylizer & | style | ||
) |
Draw a braille dot.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
value | whether the dot is filled or not. |
style | the style of the cell. |
Definition at line 125 of file canvas.cpp.
void DrawPoint | ( | int | x, |
int | y, | ||
bool | value, | ||
const Color & | color | ||
) |
Draw a braille dot.
x | the x coordinate of the dot. |
y | the y coordinate of the dot. |
value | whether the dot is filled or not. |
color | the color of the dot. |
Definition at line 116 of file canvas.cpp.
void DrawPointLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2 | ||
) |
Draw a line made of braille dots.
x1 | the x coordinate of the first dot. |
y1 | the y coordinate of the first dot. |
x2 | the x coordinate of the second dot. |
y2 | the y coordinate of the second dot. |
Definition at line 191 of file canvas.cpp.
void DrawPointLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const Stylizer & | style | ||
) |
Draw a line made of braille dots.
x1 | the x coordinate of the first dot. |
y1 | the y coordinate of the first dot.o |
x2 | the x coordinate of the second dot. |
y2 | the y coordinate of the second dot. |
style | the style of the line. |
Definition at line 212 of file canvas.cpp.
void DrawPointLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const Color & | color | ||
) |
Draw a line made of braille dots.
x1 | the x coordinate of the first dot. |
y1 | the y coordinate of the first dot. |
x2 | the x coordinate of the second dot. |
y2 | the y coordinate of the second dot. |
color | the color of the line. |
Definition at line 201 of file canvas.cpp.
void DrawPointCircle | ( | int | x, |
int | y, | ||
int | radius | ||
) |
Draw a circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
Definition at line 249 of file canvas.cpp.
void DrawPointCircle | ( | int | x, |
int | y, | ||
int | radius, | ||
const Stylizer & | style | ||
) |
Draw a circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
style | the style of the circle. |
Definition at line 268 of file canvas.cpp.
void DrawPointCircle | ( | int | x, |
int | y, | ||
int | radius, | ||
const Color & | color | ||
) |
Draw a circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
color | the color of the circle. |
Definition at line 258 of file canvas.cpp.
void DrawPointCircleFilled | ( | int | x, |
int | y, | ||
int | radius | ||
) |
Draw a filled circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
Definition at line 276 of file canvas.cpp.
void DrawPointCircleFilled | ( | int | x, |
int | y, | ||
int | radius, | ||
const Stylizer & | style | ||
) |
Draw a filled circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
style | the style of the circle. |
Definition at line 298 of file canvas.cpp.
void DrawPointCircleFilled | ( | int | x, |
int | y, | ||
int | radius, | ||
const Color & | color | ||
) |
Draw a filled circle made of braille dots.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
color | the color of the circle. |
Definition at line 285 of file canvas.cpp.
void DrawPointEllipse | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2 | ||
) |
Draw an ellipse made of braille dots.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
Definition at line 310 of file canvas.cpp.
void DrawPointEllipse | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2, | ||
const Color & | color | ||
) |
Draw an ellipse made of braille dots.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
color | the color of the ellipse. |
Definition at line 320 of file canvas.cpp.
void DrawPointEllipse | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2, | ||
const Stylizer & | s | ||
) |
Draw an ellipse made of braille dots.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
s | the style of the ellipse. |
Definition at line 335 of file canvas.cpp.
void DrawPointEllipseFilled | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2 | ||
) |
Draw a filled ellipse made of braille dots.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
Definition at line 374 of file canvas.cpp.
void DrawPointEllipseFilled | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2, | ||
const Color & | color | ||
) |
Draw a filled ellipse made of braille dots.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
color | the color of the ellipse. |
Definition at line 384 of file canvas.cpp.
void DrawPointEllipseFilled | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2, | ||
const Stylizer & | s | ||
) |
Draw a filled ellipse made of braille dots.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
s | the style of the ellipse. |
Definition at line 399 of file canvas.cpp.
void DrawBlockOn | ( | int | x, |
int | y | ||
) |
Draw a block.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
Definition at line 468 of file canvas.cpp.
void DrawBlockOff | ( | int | x, |
int | y | ||
) |
Erase a block.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
Definition at line 488 of file canvas.cpp.
void DrawBlockToggle | ( | int | x, |
int | y | ||
) |
Toggle a block. If it is filled, it will be erased. If it is empty, it will be filled.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
Definition at line 509 of file canvas.cpp.
void DrawBlock | ( | int | x, |
int | y, | ||
bool | value | ||
) |
Draw a block.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
value | whether the block is filled or not. |
Definition at line 438 of file canvas.cpp.
void DrawBlock | ( | int | x, |
int | y, | ||
bool | value, | ||
const Stylizer & | style | ||
) |
Draw a block.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
value | whether the block is filled or not. |
style | the style of the block. |
Definition at line 456 of file canvas.cpp.
void DrawBlock | ( | int | x, |
int | y, | ||
bool | value, | ||
const Color & | color | ||
) |
Draw a block.
x | the x coordinate of the block. |
y | the y coordinate of the block. |
value | whether the block is filled or not. |
color | the color of the block. |
Definition at line 447 of file canvas.cpp.
void DrawBlockLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2 | ||
) |
Draw a line made of block characters.
x1 | the x coordinate of the first point of the line. |
y1 | the y coordinate of the first point of the line. |
x2 | the x coordinate of the second point of the line. |
y2 | the y coordinate of the second point of the line. |
Definition at line 531 of file canvas.cpp.
void DrawBlockLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const Stylizer & | style | ||
) |
Draw a line made of block characters.
x1 | the x coordinate of the first point of the line. |
y1 | the y coordinate of the first point of the line. |
x2 | the x coordinate of the second point of the line. |
y2 | the y coordinate of the second point of the line. |
style | the style of the line. |
Definition at line 552 of file canvas.cpp.
void DrawBlockLine | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const Color & | color | ||
) |
Draw a line made of block characters.
x1 | the x coordinate of the first point of the line. |
y1 | the y coordinate of the first point of the line. |
x2 | the x coordinate of the second point of the line. |
y2 | the y coordinate of the second point of the line. |
color | the color of the line. |
Definition at line 541 of file canvas.cpp.
void DrawBlockCircle | ( | int | x, |
int | y, | ||
int | radius | ||
) |
Draw a circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
Definition at line 592 of file canvas.cpp.
void DrawBlockCircle | ( | int | x, |
int | y, | ||
int | radius, | ||
const Stylizer & | style | ||
) |
Draw a circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
style | the style of the circle. |
Definition at line 611 of file canvas.cpp.
void DrawBlockCircle | ( | int | x, |
int | y, | ||
int | radius, | ||
const Color & | color | ||
) |
Draw a circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
color | the color of the circle. |
Definition at line 601 of file canvas.cpp.
void DrawBlockCircleFilled | ( | int | x, |
int | y, | ||
int | radius | ||
) |
Draw a filled circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
Definition at line 619 of file canvas.cpp.
void DrawBlockCircleFilled | ( | int | x, |
int | y, | ||
int | radius, | ||
const Stylizer & | s | ||
) |
Draw a filled circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
s | the style of the circle. |
Definition at line 641 of file canvas.cpp.
void DrawBlockCircleFilled | ( | int | x, |
int | y, | ||
int | radius, | ||
const Color & | color | ||
) |
Draw a filled circle made of block characters.
x | the x coordinate of the center of the circle. |
y | the y coordinate of the center of the circle. |
radius | the radius of the circle. |
color | the color of the circle. |
Definition at line 628 of file canvas.cpp.
void DrawBlockEllipse | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2 | ||
) |
Draw an ellipse made of block characters.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
Definition at line 653 of file canvas.cpp.
void DrawBlockEllipse | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2, | ||
const Stylizer & | s | ||
) |
Draw an ellipse made of block characters.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
s | the style of the ellipse. |
Definition at line 678 of file canvas.cpp.
void DrawBlockEllipse | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2, | ||
const Color & | color | ||
) |
Draw an ellipse made of block characters.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
color | the color of the ellipse. |
Definition at line 663 of file canvas.cpp.
void DrawBlockEllipseFilled | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2 | ||
) |
Draw a filled ellipse made of block characters.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
Definition at line 719 of file canvas.cpp.
void DrawBlockEllipseFilled | ( | int | x1, |
int | y1, | ||
int | r1, | ||
int | r2, | ||
const Stylizer & | s | ||
) |
Draw a filled ellipse made of block characters.
x1 | the x coordinate of the center of the ellipse. |
y1 | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
s | the style of the ellipse. |
Definition at line 744 of file canvas.cpp.
void DrawBlockEllipseFilled | ( | int | x, |
int | y, | ||
int | r1, | ||
int | r2, | ||
const Color & | color | ||
) |
Draw a filled ellipse made of block characters.
x | the x coordinate of the center of the ellipse. |
y | the y coordinate of the center of the ellipse. |
r1 | the radius of the ellipse along the x axis. |
r2 | the radius of the ellipse along the y axis. |
color | the color of the ellipse. |
Definition at line 729 of file canvas.cpp.
void DrawText | ( | int | x, |
int | y, | ||
const std::string & | value | ||
) |
Draw a piece of text.
x | the x coordinate of the text. |
y | the y coordinate of the text. |
value | the text to draw. |
Definition at line 785 of file canvas.cpp.
void DrawText | ( | int | x, |
int | y, | ||
const std::string & | value, | ||
const Color & | color | ||
) |
Draw a piece of text.
x | the x coordinate of the text. |
y | the y coordinate of the text. |
value | the text to draw. |
color | the color of the text. |
Definition at line 794 of file canvas.cpp.
void DrawText | ( | int | x, |
int | y, | ||
const std::string & | value, | ||
const Stylizer & | style | ||
) |
Draw a piece of text.
x | the x coordinate of the text. |
y | the y coordinate of the text. |
value | the text to draw. |
style | the style of the text. |
Definition at line 806 of file canvas.cpp.
void DrawPixel | ( | int | x, |
int | y, | ||
const Pixel & | p | ||
) |
Directly draw a predefined pixel at the given coordinate.
x | the x coordinate of the pixel. |
y | the y coordinate of the pixel. |
p | the pixel to draw. |
Definition at line 827 of file canvas.cpp.
void DrawImage | ( | int | x, |
int | y, | ||
const Image & | image | ||
) |
Draw a predefined image, with top-left corner at the given coordinate You can supply negative coordinates to align the image however you like - only the 'visible' portion will be drawn.
x | the x coordinate corresponding to the top-left corner of the image. |
y | the y coordinate corresponding to the top-left corner of the image. |
image | the image to draw. |
Definition at line 839 of file canvas.cpp.
void Style | ( | int | x, |
int | y, | ||
const Stylizer & | style | ||
) |
Modify a pixel at a given location.
style | a function that modifies the pixel. |
Definition at line 861 of file canvas.cpp.