FTXUI  5.0.0
C++ functional terminal UI.
Canvas Struct Reference

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...
 

Detailed Description

Definition at line 23 of file canvas.hpp.

Member Typedef Documentation

◆ Stylizer

using Stylizer = std::function<void(Pixel&)>

Definition at line 33 of file canvas.hpp.

Constructor & Destructor Documentation

◆ Canvas() [1/2]

Canvas ( )
default

◆ Canvas() [2/2]

Canvas ( int  width,
int  height 
)

Constructor.

Parameters
widththe width of the canvas. A cell is a 2x4 braille dot.
heightthe height of the canvas. A cell is a 2x4 braille dot.

Definition at line 90 of file canvas.cpp.

Member Function Documentation

◆ width()

int width ( ) const
inline

Definition at line 29 of file canvas.hpp.

◆ height()

int height ( ) const
inline

Definition at line 30 of file canvas.hpp.

◆ GetPixel()

Pixel GetPixel ( int  x,
int  y 
) const

Get the content of a cell.

Parameters
xthe x coordinate of the cell.
ythe y coordinate of the cell.

Definition at line 98 of file canvas.cpp.

◆ DrawPointOn()

void DrawPointOn ( int  x,
int  y 
)

Draw a braille dot.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.

Definition at line 137 of file canvas.cpp.

◆ DrawPointOff()

void DrawPointOff ( int  x,
int  y 
)

Erase a braille dot.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.

Definition at line 154 of file canvas.cpp.

◆ DrawPointToggle()

void DrawPointToggle ( int  x,
int  y 
)

Toggle a braille dot. A filled one will be erased, and the other will be drawn.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.

Definition at line 172 of file canvas.cpp.

◆ DrawPoint() [1/3]

void DrawPoint ( int  x,
int  y,
bool  value 
)

Draw a braille dot.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.
valuewhether the dot is filled or not.

Definition at line 107 of file canvas.cpp.

◆ DrawPoint() [2/3]

void DrawPoint ( int  x,
int  y,
bool  value,
const Stylizer style 
)

Draw a braille dot.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.
valuewhether the dot is filled or not.
stylethe style of the cell.

Definition at line 125 of file canvas.cpp.

◆ DrawPoint() [3/3]

void DrawPoint ( int  x,
int  y,
bool  value,
const Color color 
)

Draw a braille dot.

Parameters
xthe x coordinate of the dot.
ythe y coordinate of the dot.
valuewhether the dot is filled or not.
colorthe color of the dot.

Definition at line 116 of file canvas.cpp.

◆ DrawPointLine() [1/3]

void DrawPointLine ( int  x1,
int  y1,
int  x2,
int  y2 
)

Draw a line made of braille dots.

Parameters
x1the x coordinate of the first dot.
y1the y coordinate of the first dot.
x2the x coordinate of the second dot.
y2the y coordinate of the second dot.

Definition at line 191 of file canvas.cpp.

◆ DrawPointLine() [2/3]

void DrawPointLine ( int  x1,
int  y1,
int  x2,
int  y2,
const Stylizer style 
)

Draw a line made of braille dots.

Parameters
x1the x coordinate of the first dot.
y1the y coordinate of the first dot.o
x2the x coordinate of the second dot.
y2the y coordinate of the second dot.
stylethe style of the line.

Definition at line 212 of file canvas.cpp.

◆ DrawPointLine() [3/3]

void DrawPointLine ( int  x1,
int  y1,
int  x2,
int  y2,
const Color color 
)

Draw a line made of braille dots.

Parameters
x1the x coordinate of the first dot.
y1the y coordinate of the first dot.
x2the x coordinate of the second dot.
y2the y coordinate of the second dot.
colorthe color of the line.

Definition at line 201 of file canvas.cpp.

◆ DrawPointCircle() [1/3]

void DrawPointCircle ( int  x,
int  y,
int  radius 
)

Draw a circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.

Definition at line 249 of file canvas.cpp.

◆ DrawPointCircle() [2/3]

void DrawPointCircle ( int  x,
int  y,
int  radius,
const Stylizer style 
)

Draw a circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
stylethe style of the circle.

Definition at line 268 of file canvas.cpp.

◆ DrawPointCircle() [3/3]

void DrawPointCircle ( int  x,
int  y,
int  radius,
const Color color 
)

Draw a circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
colorthe color of the circle.

Definition at line 258 of file canvas.cpp.

◆ DrawPointCircleFilled() [1/3]

void DrawPointCircleFilled ( int  x,
int  y,
int  radius 
)

Draw a filled circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.

Definition at line 276 of file canvas.cpp.

◆ DrawPointCircleFilled() [2/3]

void DrawPointCircleFilled ( int  x,
int  y,
int  radius,
const Stylizer style 
)

Draw a filled circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
stylethe style of the circle.

Definition at line 298 of file canvas.cpp.

◆ DrawPointCircleFilled() [3/3]

void DrawPointCircleFilled ( int  x,
int  y,
int  radius,
const Color color 
)

Draw a filled circle made of braille dots.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
colorthe color of the circle.

Definition at line 285 of file canvas.cpp.

◆ DrawPointEllipse() [1/3]

void DrawPointEllipse ( int  x,
int  y,
int  r1,
int  r2 
)

Draw an ellipse made of braille dots.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.

Definition at line 310 of file canvas.cpp.

◆ DrawPointEllipse() [2/3]

void DrawPointEllipse ( int  x,
int  y,
int  r1,
int  r2,
const Color color 
)

Draw an ellipse made of braille dots.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
colorthe color of the ellipse.

Definition at line 320 of file canvas.cpp.

◆ DrawPointEllipse() [3/3]

void DrawPointEllipse ( int  x1,
int  y1,
int  r1,
int  r2,
const Stylizer s 
)

Draw an ellipse made of braille dots.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
sthe style of the ellipse.

Definition at line 335 of file canvas.cpp.

◆ DrawPointEllipseFilled() [1/3]

void DrawPointEllipseFilled ( int  x1,
int  y1,
int  r1,
int  r2 
)

Draw a filled ellipse made of braille dots.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.

Definition at line 374 of file canvas.cpp.

◆ DrawPointEllipseFilled() [2/3]

void DrawPointEllipseFilled ( int  x1,
int  y1,
int  r1,
int  r2,
const Color color 
)

Draw a filled ellipse made of braille dots.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
colorthe color of the ellipse.

Definition at line 384 of file canvas.cpp.

◆ DrawPointEllipseFilled() [3/3]

void DrawPointEllipseFilled ( int  x1,
int  y1,
int  r1,
int  r2,
const Stylizer s 
)

Draw a filled ellipse made of braille dots.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
sthe style of the ellipse.

Definition at line 399 of file canvas.cpp.

◆ DrawBlockOn()

void DrawBlockOn ( int  x,
int  y 
)

Draw a block.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.

Definition at line 468 of file canvas.cpp.

◆ DrawBlockOff()

void DrawBlockOff ( int  x,
int  y 
)

Erase a block.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.

Definition at line 488 of file canvas.cpp.

◆ DrawBlockToggle()

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.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.

Definition at line 509 of file canvas.cpp.

◆ DrawBlock() [1/3]

void DrawBlock ( int  x,
int  y,
bool  value 
)

Draw a block.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.
valuewhether the block is filled or not.

Definition at line 438 of file canvas.cpp.

◆ DrawBlock() [2/3]

void DrawBlock ( int  x,
int  y,
bool  value,
const Stylizer style 
)

Draw a block.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.
valuewhether the block is filled or not.
stylethe style of the block.

Definition at line 456 of file canvas.cpp.

◆ DrawBlock() [3/3]

void DrawBlock ( int  x,
int  y,
bool  value,
const Color color 
)

Draw a block.

Parameters
xthe x coordinate of the block.
ythe y coordinate of the block.
valuewhether the block is filled or not.
colorthe color of the block.

Definition at line 447 of file canvas.cpp.

◆ DrawBlockLine() [1/3]

void DrawBlockLine ( int  x1,
int  y1,
int  x2,
int  y2 
)

Draw a line made of block characters.

Parameters
x1the x coordinate of the first point of the line.
y1the y coordinate of the first point of the line.
x2the x coordinate of the second point of the line.
y2the y coordinate of the second point of the line.

Definition at line 531 of file canvas.cpp.

◆ DrawBlockLine() [2/3]

void DrawBlockLine ( int  x1,
int  y1,
int  x2,
int  y2,
const Stylizer style 
)

Draw a line made of block characters.

Parameters
x1the x coordinate of the first point of the line.
y1the y coordinate of the first point of the line.
x2the x coordinate of the second point of the line.
y2the y coordinate of the second point of the line.
stylethe style of the line.

Definition at line 552 of file canvas.cpp.

◆ DrawBlockLine() [3/3]

void DrawBlockLine ( int  x1,
int  y1,
int  x2,
int  y2,
const Color color 
)

Draw a line made of block characters.

Parameters
x1the x coordinate of the first point of the line.
y1the y coordinate of the first point of the line.
x2the x coordinate of the second point of the line.
y2the y coordinate of the second point of the line.
colorthe color of the line.

Definition at line 541 of file canvas.cpp.

◆ DrawBlockCircle() [1/3]

void DrawBlockCircle ( int  x,
int  y,
int  radius 
)

Draw a circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.

Definition at line 592 of file canvas.cpp.

◆ DrawBlockCircle() [2/3]

void DrawBlockCircle ( int  x,
int  y,
int  radius,
const Stylizer style 
)

Draw a circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
stylethe style of the circle.

Definition at line 611 of file canvas.cpp.

◆ DrawBlockCircle() [3/3]

void DrawBlockCircle ( int  x,
int  y,
int  radius,
const Color color 
)

Draw a circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
colorthe color of the circle.

Definition at line 601 of file canvas.cpp.

◆ DrawBlockCircleFilled() [1/3]

void DrawBlockCircleFilled ( int  x,
int  y,
int  radius 
)

Draw a filled circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.

Definition at line 619 of file canvas.cpp.

◆ DrawBlockCircleFilled() [2/3]

void DrawBlockCircleFilled ( int  x,
int  y,
int  radius,
const Stylizer s 
)

Draw a filled circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
sthe style of the circle.

Definition at line 641 of file canvas.cpp.

◆ DrawBlockCircleFilled() [3/3]

void DrawBlockCircleFilled ( int  x,
int  y,
int  radius,
const Color color 
)

Draw a filled circle made of block characters.

Parameters
xthe x coordinate of the center of the circle.
ythe y coordinate of the center of the circle.
radiusthe radius of the circle.
colorthe color of the circle.

Definition at line 628 of file canvas.cpp.

◆ DrawBlockEllipse() [1/3]

void DrawBlockEllipse ( int  x,
int  y,
int  r1,
int  r2 
)

Draw an ellipse made of block characters.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.

Definition at line 653 of file canvas.cpp.

◆ DrawBlockEllipse() [2/3]

void DrawBlockEllipse ( int  x1,
int  y1,
int  r1,
int  r2,
const Stylizer s 
)

Draw an ellipse made of block characters.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
sthe style of the ellipse.

Definition at line 678 of file canvas.cpp.

◆ DrawBlockEllipse() [3/3]

void DrawBlockEllipse ( int  x,
int  y,
int  r1,
int  r2,
const Color color 
)

Draw an ellipse made of block characters.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
colorthe color of the ellipse.

Definition at line 663 of file canvas.cpp.

◆ DrawBlockEllipseFilled() [1/3]

void DrawBlockEllipseFilled ( int  x,
int  y,
int  r1,
int  r2 
)

Draw a filled ellipse made of block characters.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.

Definition at line 719 of file canvas.cpp.

◆ DrawBlockEllipseFilled() [2/3]

void DrawBlockEllipseFilled ( int  x1,
int  y1,
int  r1,
int  r2,
const Stylizer s 
)

Draw a filled ellipse made of block characters.

Parameters
x1the x coordinate of the center of the ellipse.
y1the y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
sthe style of the ellipse.

Definition at line 744 of file canvas.cpp.

◆ DrawBlockEllipseFilled() [3/3]

void DrawBlockEllipseFilled ( int  x,
int  y,
int  r1,
int  r2,
const Color color 
)

Draw a filled ellipse made of block characters.

Parameters
xthe x coordinate of the center of the ellipse.
ythe y coordinate of the center of the ellipse.
r1the radius of the ellipse along the x axis.
r2the radius of the ellipse along the y axis.
colorthe color of the ellipse.

Definition at line 729 of file canvas.cpp.

◆ DrawText() [1/3]

void DrawText ( int  x,
int  y,
const std::string &  value 
)

Draw a piece of text.

Parameters
xthe x coordinate of the text.
ythe y coordinate of the text.
valuethe text to draw.

Definition at line 785 of file canvas.cpp.

◆ DrawText() [2/3]

void DrawText ( int  x,
int  y,
const std::string &  value,
const Color color 
)

Draw a piece of text.

Parameters
xthe x coordinate of the text.
ythe y coordinate of the text.
valuethe text to draw.
colorthe color of the text.

Definition at line 794 of file canvas.cpp.

◆ DrawText() [3/3]

void DrawText ( int  x,
int  y,
const std::string &  value,
const Stylizer style 
)

Draw a piece of text.

Parameters
xthe x coordinate of the text.
ythe y coordinate of the text.
valuethe text to draw.
stylethe style of the text.

Definition at line 806 of file canvas.cpp.

◆ DrawPixel()

void DrawPixel ( int  x,
int  y,
const Pixel p 
)

Directly draw a predefined pixel at the given coordinate.

Parameters
xthe x coordinate of the pixel.
ythe y coordinate of the pixel.
pthe pixel to draw.

Definition at line 827 of file canvas.cpp.

◆ DrawImage()

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.

Parameters
xthe x coordinate corresponding to the top-left corner of the image.
ythe y coordinate corresponding to the top-left corner of the image.
imagethe image to draw.

Definition at line 839 of file canvas.cpp.

◆ Style()

void Style ( int  x,
int  y,
const Stylizer style 
)

Modify a pixel at a given location.

Parameters
stylea function that modifies the pixel.

Definition at line 861 of file canvas.cpp.


The documentation for this struct was generated from the following files: