FTXUI 6.1.9 C++ functional terminal UI.

Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions
ftxui/screen

## Detailed Description

Please check the tutorial of the `ftxui/screen` module.

## Namespaces
namespace | ftxui::Dimension
| Define how the Screen's dimensions should look like.

## Classes
struct | Box
| Box is a structure that represents a rectangular area in a 2D space. More...
class | Color
| Color is a class that represents a color in the terminal user interface. More...
struct | ColorInfo
| ColorInfo is a structure that contains information about the terminal color palette. More...
class | Image
| A rectangular grid of Pixel. More...
struct | Pixel
| A Unicode character and its associated style. More...
class | Screen
| A rectangular grid of Pixel. More...
struct | Dimensions
| Dimensions is a structure that represents the size of the terminal. More...

## Enumerations
enum | Color { Palette1 , Palette16 , Palette256 , TrueColor }
| Color is an enumeration that represents the color support of the terminal. More...

## Functions
Dimensions | Size ()
| Get the terminal size.
Color | ColorSupport ()
| Get the color support of the terminal.

## Class Documentation

## ◆ ftxui::Box

struct ftxui::Box

Box is a structure that represents a rectangular area in a 2D space.

It is defined by its minimum and maximum coordinates along the x and y axes. Note that the coordinates are inclusive, meaning that the box includes both the minimum and maximum values.

Definition at line 16 of file box.hpp.

### Public Member Functions
void | Shift (int x, int y)
bool | Contain (int x, int y) const
bool | IsEmpty () const
bool | operator== (const Box &other) const
bool | operator!= (const Box &other) const
### Static Public Member Functions
static auto | Intersection (Box a, Box b) -> Box
static auto | Union (Box a, Box b) -> Box
### Public Attributes
int | x_min = 0
int | x_max = 0
int | y_min = 0
int | y_max = 0

#### Member Function Documentation

## ◆ Intersection()

Box Intersection | ( | Box | a,
|  | Box | b ) -> Box
| static

Returns
  the biggest Box contained in both |a| and |b|.

Definition at line 11 of file box.cpp.

## ◆ Union()

Box Union | ( | Box | a,
|  | Box | b ) -> Box
| static

Returns
  the smallest Box containing both |a| and |b|.

Definition at line 22 of file box.cpp.

## ◆ Shift()

void Shift | ( | int | x,
|  | int | y )

Shift the box by (x,y).

Parameters

  x | horizontal shift.
  y | vertical shift.

Definition at line 34 of file box.cpp.

## ◆ Contain()

bool Contain | ( | int | x,
|  | int | y ) const

Returns
  whether (x,y) is contained inside the box.

Definition at line 42 of file box.cpp.

## ◆ IsEmpty()

bool IsEmpty | ( |  | ) | const

Returns
  whether the box is empty.

Definition at line 50 of file box.cpp.

## ◆ operator==()

bool operator== | ( | const Box & | other | ) | const

Returns
  whether |other| is the same as |this|

Definition at line 55 of file box.cpp.

## ◆ operator!=()

bool operator!= | ( | const Box & | other | ) | const

Returns
  whether |other| and |this| are different.

Definition at line 61 of file box.cpp.

#### Member Data Documentation

## ◆ x_min

int x_min = 0

Definition at line 17 of file box.hpp.

## ◆ x_max

int x_max = 0

Definition at line 18 of file box.hpp.

## ◆ y_min

int y_min = 0

Definition at line 19 of file box.hpp.

## ◆ y_max

int y_max = 0

Definition at line 20 of file box.hpp.

## ◆ ftxui::Color

class ftxui::Color

Color is a class that represents a color in the terminal user interface.

Definition at line 22 of file color.hpp.

### Public Types
enum | Palette1 : uint8_t { Default }
enum | Palette16 : uint8_t { Black = 0 , Red = 1 , Green = 2 , Yellow = 3 , Blue = 4 , Magenta = 5 , Cyan = 6 , GrayLight = 7 , GrayDark = 8 , RedLight = 9 , GreenLight = 10 , YellowLight = 11 , BlueLight = 12 , MagentaLight = 13 , CyanLight = 14 , White = 15 }
enum | Palette256 : uint8_t { Aquamarine1 = 122 , Aquamarine1Bis = 86 , Aquamarine3 = 79 , Blue1 = 21 , Blue3 = 19 , Blue3Bis = 20 , BlueViolet = 57 , CadetBlue = 72 , CadetBlueBis = 73 , Chartreuse1 = 118 , Chartreuse2 = 112 , Chartreuse2Bis = 82 , Chartreuse3 = 70 , Chartreuse3Bis = 76 , Chartreuse4 = 64 , CornflowerBlue = 69 , Cornsilk1 = 230 , Cyan1 = 51 , Cyan2 = 50 , Cyan3 = 43 , DarkBlue = 18 , DarkCyan = 36 , DarkGoldenrod = 136 , DarkGreen = 22 , DarkKhaki = 143 , DarkMagenta = 90 , DarkMagentaBis = 91 , DarkOliveGreen1 = 191 , DarkOliveGreen1Bis = 192 , DarkOliveGreen2 = 155 , DarkOliveGreen3 = 107 , DarkOliveGreen3Bis = 113 , DarkOliveGreen3Ter = 149 , DarkOrange = 208 , DarkOrange3 = 130 , DarkOrange3Bis = 166 , DarkRed = 52 , DarkRedBis = 88 , DarkSeaGreen = 108 , DarkSeaGreen1 = 158 , DarkSeaGreen1Bis = 193 , DarkSeaGreen2 = 151 , DarkSeaGreen2Bis = 157 , DarkSeaGreen3 = 115 , DarkSeaGreen3Bis = 150 , DarkSeaGreen4 = 65 , DarkSeaGreen4Bis = 71 , DarkSlateGray1 = 123 , DarkSlateGray2 = 87 , DarkSlateGray3 = 116 , DarkTurquoise = 44 , DarkViolet = 128 , DarkVioletBis = 92 , DeepPink1 = 198 , DeepPink1Bis = 199 , DeepPink2 = 197 , DeepPink3 = 161 , DeepPink3Bis = 162 , DeepPink4 = 125 , DeepPink4Bis = 89 , DeepPink4Ter = 53 , DeepSkyBlue1 = 39 , DeepSkyBlue2 = 38 , DeepSkyBlue3 = 31 , DeepSkyBlue3Bis = 32 , DeepSkyBlue4 = 23 , DeepSkyBlue4Bis = 24 , DeepSkyBlue4Ter = 25 , DodgerBlue1 = 33 , DodgerBlue2 = 27 , DodgerBlue3 = 26 , Gold1 = 220 , Gold3 = 142 , Gold3Bis = 178 , Green1 = 46 , Green3 = 34 , Green3Bis = 40 , Green4 = 28 , GreenYellow = 154 , Grey0 = 16 , Grey100 = 231 , Grey11 = 234 , Grey15 = 235 , Grey19 = 236 , Grey23 = 237 , Grey27 = 238 , Grey3 = 232 , Grey30 = 239 , Grey35 = 240 , Grey37 = 59 , Grey39 = 241 , Grey42 = 242 , Grey46 = 243 , Grey50 = 244 , Grey53 = 102 , Grey54 = 245 , Grey58 = 246 , Grey62 = 247 , Grey63 = 139 , Grey66 = 248 , Grey69 = 145 , Grey7 = 233 , Grey70 = 249 , Grey74 = 250 , Grey78 = 251 , Grey82 = 252 , Grey84 = 188 , Grey85 = 253 , Grey89 = 254 , Grey93 = 255 , Honeydew2 = 194 , HotPink = 205 , HotPink2 = 169 , HotPink3 = 132 , HotPink3Bis = 168 , HotPinkBis = 206 , IndianRed = 131 , IndianRed1 = 203 , IndianRed1Bis = 204 , IndianRedBis = 167 , Khaki1 = 228 , Khaki3 = 185 , LightCoral = 210 , LightCyan1Bis = 195 , LightCyan3 = 152 , LightGoldenrod1 = 227 , LightGoldenrod2 = 186 , LightGoldenrod2Bis = 221 , LightGoldenrod2Ter = 222 , LightGoldenrod3 = 179 , LightGreen = 119 , LightGreenBis = 120 , LightPink1 = 217 , LightPink3 = 174 , LightPink4 = 95 , LightSalmon1 = 216 , LightSalmon3 = 137 , LightSalmon3Bis = 173 , LightSeaGreen = 37 , LightSkyBlue1 = 153 , LightSkyBlue3 = 109 , LightSkyBlue3Bis = 110 , LightSlateBlue = 105 , LightSlateGrey = 103 , LightSteelBlue = 147 , LightSteelBlue1 = 189 , LightSteelBlue3 = 146 , LightYellow3 = 187 , Magenta1 = 201 , Magenta2 = 165 , Magenta2Bis = 200 , Magenta3 = 127 , Magenta3Bis = 163 , Magenta3Ter = 164 , MediumOrchid = 134 , MediumOrchid1 = 171 , MediumOrchid1Bis = 207 , MediumOrchid3 = 133 , MediumPurple = 104 , MediumPurple1 = 141 , MediumPurple2 = 135 , MediumPurple2Bis = 140 , MediumPurple3 = 97 , MediumPurple3Bis = 98 , MediumPurple4 = 60 , MediumSpringGreen = 49 , MediumTurquoise = 80 , MediumVioletRed = 126 , MistyRose1 = 224 , MistyRose3 = 181 , NavajoWhite1 = 223 , NavajoWhite3 = 144 , NavyBlue = 17 , Orange1 = 214 , Orange3 = 172 , Orange4 = 58 , Orange4Bis = 94 , OrangeRed1 = 202 , Orchid = 170 , Orchid1 = 213 , Orchid2 = 212 , PaleGreen1 = 121 , PaleGreen1Bis = 156 , PaleGreen3 = 114 , PaleGreen3Bis = 77 , PaleTurquoise1 = 159 , PaleTurquoise4 = 66 , PaleVioletRed1 = 211 , Pink1 = 218 , Pink3 = 175 , Plum1 = 219 , Plum2 = 183 , Plum3 = 176 , Plum4 = 96 , Purple = 129 , Purple3 = 56 , Purple4 = 54 , Purple4Bis = 55 , PurpleBis = 93 , Red1 = 196 , Red3 = 124 , Red3Bis = 160 , RosyBrown = 138 , RoyalBlue1 = 63 , Salmon1 = 209 , SandyBrown = 215 , SeaGreen1 = 84 , SeaGreen1Bis = 85 , SeaGreen2 = 83 , SeaGreen3 = 78 , SkyBlue1 = 117 , SkyBlue2 = 111 , SkyBlue3 = 74 , SlateBlue1 = 99 , SlateBlue3 = 61 , SlateBlue3Bis = 62 , SpringGreen1 = 48 , SpringGreen2 = 42 , SpringGreen2Bis = 47 , SpringGreen3 = 35 , SpringGreen3Bis = 41 , SpringGreen4 = 29 , SteelBlue = 67 , SteelBlue1 = 75 , SteelBlue1Bis = 81 , SteelBlue3 = 68 , Tan = 180 , Thistle1 = 225 , Thistle3 = 182 , Turquoise2 = 45 , Turquoise4 = 30 , Violet = 177 , Wheat1 = 229 , Wheat4 = 101 , Yellow1 = 226 , Yellow2 = 190 , Yellow3 = 148 , Yellow3Bis = 184 , Yellow4 = 100 , Yellow4Bis = 106 }
### Public Member Functions
| Color ()
| Build a transparent color.
| Color (Palette1 index)
| Build a transparent color.
| Color (Palette16 index)
| Build a color using the Palette16 colors.
| Color (Palette256 index)
| Build a color using Palette256 colors.
| Color (uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha=255)
| Build a Color from its RGB representation. https://en.wikipedia.org/wiki/RGB_color_model.
bool | operator== (const Color &rhs) const
bool | operator!= (const Color &rhs) const
std::string | Print (bool is_background_color) const
bool | IsOpaque () const
### Static Public Member Functions
static Color | RGB (uint8_t red, uint8_t green, uint8_t blue)
| Build a Color from its RGB representation. https://en.wikipedia.org/wiki/RGB_color_model.
static Color | HSV (uint8_t hue, uint8_t saturation, uint8_t value)
| Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.
static Color | RGBA (uint8_t red, uint8_t green, uint8_t blue, uint8_t alpha)
| Build a Color from its RGBA representation. https://en.wikipedia.org/wiki/RGB_color_model.
static Color | HSVA (uint8_t hue, uint8_t saturation, uint8_t value, uint8_t alpha)
| Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.
static Color | Interpolate (float t, const Color &a, const Color &b)
static Color | Blend (const Color &lhs, const Color &rhs)
| Blend two colors together using the alpha channel.

#### Member Enumeration Documentation

## ◆ Palette1

enum Palette1 : uint8_t

Enumerator
Default |

Definition at line 49 of file color.hpp.

## ◆ Palette16

enum Palette16 : uint8_t

Enumerator
Black |
Red |
Green |
Yellow |
Blue |
Magenta |
Cyan |
GrayLight |
GrayDark |
RedLight |
GreenLight |
YellowLight |
BlueLight |
MagentaLight |
CyanLight |
White |

Definition at line 53 of file color.hpp.

## ◆ Palette256

enum Palette256 : uint8_t

Enumerator
Aquamarine1 |
Aquamarine1Bis |
Aquamarine3 |
Blue1 |
Blue3 |
Blue3Bis |
BlueViolet |
CadetBlue |
CadetBlueBis |
Chartreuse1 |
Chartreuse2 |
Chartreuse2Bis |
Chartreuse3 |
Chartreuse3Bis |
Chartreuse4 |
CornflowerBlue |
Cornsilk1 |
Cyan1 |
Cyan2 |
Cyan3 |
DarkBlue |
DarkCyan |
DarkGoldenrod |
DarkGreen |
DarkKhaki |
DarkMagenta |
DarkMagentaBis |
DarkOliveGreen1 |
DarkOliveGreen1Bis |
DarkOliveGreen2 |
DarkOliveGreen3 |
DarkOliveGreen3Bis |
DarkOliveGreen3Ter |
DarkOrange |
DarkOrange3 |
DarkOrange3Bis |
DarkRed |
DarkRedBis |
DarkSeaGreen |
DarkSeaGreen1 |
DarkSeaGreen1Bis |
DarkSeaGreen2 |
DarkSeaGreen2Bis |
DarkSeaGreen3 |
DarkSeaGreen3Bis |
DarkSeaGreen4 |
DarkSeaGreen4Bis |
DarkSlateGray1 |
DarkSlateGray2 |
DarkSlateGray3 |
DarkTurquoise |
DarkViolet |
DarkVioletBis |
DeepPink1 |
DeepPink1Bis |
DeepPink2 |
DeepPink3 |
DeepPink3Bis |
DeepPink4 |
DeepPink4Bis |
DeepPink4Ter |
DeepSkyBlue1 |
DeepSkyBlue2 |
DeepSkyBlue3 |
DeepSkyBlue3Bis |
DeepSkyBlue4 |
DeepSkyBlue4Bis |
DeepSkyBlue4Ter |
DodgerBlue1 |
DodgerBlue2 |
DodgerBlue3 |
Gold1 |
Gold3 |
Gold3Bis |
Green1 |
Green3 |
Green3Bis |
Green4 |
GreenYellow |
Grey0 |
Grey100 |
Grey11 |
Grey15 |
Grey19 |
Grey23 |
Grey27 |
Grey3 |
Grey30 |
Grey35 |
Grey37 |
Grey39 |
Grey42 |
Grey46 |
Grey50 |
Grey53 |
Grey54 |
Grey58 |
Grey62 |
Grey63 |
Grey66 |
Grey69 |
Grey7 |
Grey70 |
Grey74 |
Grey78 |
Grey82 |
Grey84 |
Grey85 |
Grey89 |
Grey93 |
Honeydew2 |
HotPink |
HotPink2 |
HotPink3 |
HotPink3Bis |
HotPinkBis |
IndianRed |
IndianRed1 |
IndianRed1Bis |
IndianRedBis |
Khaki1 |
Khaki3 |
LightCoral |
LightCyan1Bis |
LightCyan3 |
LightGoldenrod1 |
LightGoldenrod2 |
LightGoldenrod2Bis |
LightGoldenrod2Ter |
LightGoldenrod3 |
LightGreen |
LightGreenBis |
LightPink1 |
LightPink3 |
LightPink4 |
LightSalmon1 |
LightSalmon3 |
LightSalmon3Bis |
LightSeaGreen |
LightSkyBlue1 |
LightSkyBlue3 |
LightSkyBlue3Bis |
LightSlateBlue |
LightSlateGrey |
LightSteelBlue |
LightSteelBlue1 |
LightSteelBlue3 |
LightYellow3 |
Magenta1 |
Magenta2 |
Magenta2Bis |
Magenta3 |
Magenta3Bis |
Magenta3Ter |
MediumOrchid |
MediumOrchid1 |
MediumOrchid1Bis |
MediumOrchid3 |
MediumPurple |
MediumPurple1 |
MediumPurple2 |
MediumPurple2Bis |
MediumPurple3 |
MediumPurple3Bis |
MediumPurple4 |
MediumSpringGreen |
MediumTurquoise |
MediumVioletRed |
MistyRose1 |
MistyRose3 |
NavajoWhite1 |
NavajoWhite3 |
NavyBlue |
Orange1 |
Orange3 |
Orange4 |
Orange4Bis |
OrangeRed1 |
Orchid |
Orchid1 |
Orchid2 |
PaleGreen1 |
PaleGreen1Bis |
PaleGreen3 |
PaleGreen3Bis |
PaleTurquoise1 |
PaleTurquoise4 |
PaleVioletRed1 |
Pink1 |
Pink3 |
Plum1 |
Plum2 |
Plum3 |
Plum4 |
Purple |
Purple3 |
Purple4 |
Purple4Bis |
PurpleBis |
Red1 |
Red3 |
Red3Bis |
RosyBrown |
RoyalBlue1 |
Salmon1 |
SandyBrown |
SeaGreen1 |
SeaGreen1Bis |
SeaGreen2 |
SeaGreen3 |
SkyBlue1 |
SkyBlue2 |
SkyBlue3 |
SlateBlue1 |
SlateBlue3 |
SlateBlue3Bis |
SpringGreen1 |
SpringGreen2 |
SpringGreen2Bis |
SpringGreen3 |
SpringGreen3Bis |
SpringGreen4 |
SteelBlue |
SteelBlue1 |
SteelBlue1Bis |
SteelBlue3 |
Tan |
Thistle1 |
Thistle3 |
Turquoise2 |
Turquoise4 |
Violet |
Wheat1 |
Wheat4 |
Yellow1 |
Yellow2 |
Yellow3 |
Yellow3Bis |
Yellow4 |
Yellow4Bis |

Definition at line 72 of file color.hpp.

#### Constructor & Destructor Documentation

## ◆ Color() [1/5]

Color | ( |  | ) |
| default

Build a transparent color.

## ◆ Color() [2/5]

Color | ( | Palette1 | index | ) |

Build a transparent color.

Definition at line 80 of file screen/color.cpp.

## ◆ Color() [3/5]

Color | ( | Palette16 | index | ) |

Build a color using the Palette16 colors.

Definition at line 83 of file screen/color.cpp.

## ◆ Color() [4/5]

Color | ( | Palette256 | index | ) |

Build a color using Palette256 colors.

Definition at line 87 of file screen/color.cpp.

## ◆ Color() [5/5]

Color | ( | uint8_t | red,
|  | uint8_t | green,
|  | uint8_t | blue,
|  | uint8_t | alpha = 255 )

Build a Color from its RGB representation. https://en.wikipedia.org/wiki/RGB_color_model.

Parameters

  red | The quantity of red [0,255]
  green | The quantity of green [0,255]
  blue | The quantity of blue [0,255]
  alpha | The quantity of alpha [0,255]

Definition at line 103 of file screen/color.cpp.

#### Member Function Documentation

## ◆ RGB()

Color RGB | ( | uint8_t | red,
|  | uint8_t | green,
|  | uint8_t | blue )
| static

Build a Color from its RGB representation. https://en.wikipedia.org/wiki/RGB_color_model.

Parameters

  red | The quantity of red [0,255]
  green | The quantity of green [0,255]
  blue | The quantity of blue [0,255]

Definition at line 147 of file screen/color.cpp.

## ◆ HSV()

Color HSV | ( | uint8_t | h,
|  | uint8_t | s,
|  | uint8_t | v )
| static

Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.

Parameters

  h | The hue of the color [0,255]
  s | The "colorfulness" [0,255].
  v | The "Lightness" [0,255]

Definition at line 198 of file screen/color.cpp.

## ◆ RGBA()

Color RGBA | ( | uint8_t | red,
|  | uint8_t | green,
|  | uint8_t | blue,
|  | uint8_t | alpha )
| static

Build a Color from its RGBA representation. https://en.wikipedia.org/wiki/RGB_color_model.

Parameters

  red | The quantity of red [0,255]
  green | The quantity of green [0,255]
  blue | The quantity of blue [0,255]
  alpha | The quantity of alpha [0,255]

See also
  Color::RGB

Definition at line 159 of file screen/color.cpp.

## ◆ HSVA()

Color HSVA | ( | uint8_t | h,
|  | uint8_t | s,
|  | uint8_t | v,
|  | uint8_t | alpha )
| static

Build a Color from its HSV representation. https://en.wikipedia.org/wiki/HSL_and_HSV.

Parameters

  h | The hue of the color [0,255]
  s | The "colorfulness" [0,255].
  v | The "Lightness" [0,255]
  alpha | The quantity of alpha [0,255]

Definition at line 171 of file screen/color.cpp.

## ◆ Interpolate()

Color Interpolate | ( | float | t,
|  | const Color & | a,
|  | const Color & | b )
| static

Definition at line 203 of file screen/color.cpp.

## ◆ Blend()

Color Blend | ( | const Color & | lhs,
|  | const Color & | rhs )
| static

Blend two colors together using the alpha channel.

Definition at line 272 of file screen/color.cpp.

## ◆ operator==()

bool operator== | ( | const Color & | rhs | ) | const

Definition at line 37 of file screen/color.cpp.

## ◆ operator!=()

bool operator!= | ( | const Color & | rhs | ) | const

Definition at line 42 of file screen/color.cpp.

## ◆ Print()

std::string Print | ( | bool | is_background_color | ) | const

Definition at line 46 of file screen/color.cpp.

## ◆ IsOpaque()

bool IsOpaque | ( |  | ) | const
| inline

Definition at line 321 of file color.hpp.

## ◆ ftxui::ColorInfo

struct ftxui::ColorInfo

ColorInfo is a structure that contains information about the terminal color palette.

Definition at line 16 of file color_info.hpp.

### Public Attributes
const char * | name
uint8_t | index_256
uint8_t | index_16
uint8_t | red
uint8_t | green
uint8_t | blue
uint8_t | hue
uint8_t | saturation
uint8_t | value

#### Member Data Documentation

## ◆ name

const char* name

Definition at line 17 of file color_info.hpp.

## ◆ index_256

uint8_t index_256

Definition at line 18 of file color_info.hpp.

## ◆ index_16

uint8_t index_16

Definition at line 19 of file color_info.hpp.

## ◆ red

uint8_t red

Definition at line 20 of file color_info.hpp.

## ◆ green

uint8_t green

Definition at line 21 of file color_info.hpp.

## ◆ blue

uint8_t blue

Definition at line 22 of file color_info.hpp.

## ◆ hue

uint8_t hue

Definition at line 23 of file color_info.hpp.

## ◆ saturation

uint8_t saturation

Definition at line 24 of file color_info.hpp.

## ◆ value

uint8_t value

Definition at line 25 of file color_info.hpp.

## ◆ ftxui::Image

class ftxui::Image

A rectangular grid of Pixel.

Definition at line 17 of file image.hpp.

Inheritance diagram for Image:
[legend]

### Public Member Functions
| Image ()=delete
| Image (int dimx, int dimy)
std::string & | at (int x, int y)
| Access a character in a cell at a given position.
const std::string & | at (int x, int y) const
| Access a character in a cell at a given position.
Pixel & | PixelAt (int x, int y)
| Access a cell (Pixel) at a given position.
const Pixel & | PixelAt (int x, int y) const
| Access a cell (Pixel) at a given position.
int | dimx () const
int | dimy () const
void | Clear ()
| Clear all the pixel from the screen.
### Public Attributes
Box | stencil
### Protected Attributes
int | dimx_
int | dimy_
std::vector< std::vector< Pixel > > | pixels_

#### Constructor & Destructor Documentation

## ◆ Image() [1/2]

Image | ( |  | ) |
| delete

## ◆ Image() [2/2]

Image | ( | int | dimx,
|  | int | dimy )

Definition at line 20 of file image.cpp.

#### Member Function Documentation

## ◆ at() [1/2]

std::string & at | ( | int | x,
|  | int | y )

Access a character in a cell at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 29 of file image.cpp.

## ◆ at() [2/2]

const std::string & at | ( | int | x,
|  | int | y ) const

Access a character in a cell at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 36 of file image.cpp.

## ◆ PixelAt() [1/2]

Pixel & PixelAt | ( | int | x,
|  | int | y )

Access a cell (Pixel) at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 43 of file image.cpp.

## ◆ PixelAt() [2/2]

const Pixel & PixelAt | ( | int | x,
|  | int | y ) const

Access a cell (Pixel) at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 50 of file image.cpp.

## ◆ dimx()

int dimx | ( |  | ) | const
| inline

Definition at line 32 of file image.hpp.

## ◆ dimy()

int dimy | ( |  | ) | const
| inline

Definition at line 33 of file image.hpp.

## ◆ Clear()

void Clear | ( |  | ) |

Clear all the pixel from the screen.

Definition at line 55 of file image.cpp.

#### Member Data Documentation

## ◆ stencil

Box stencil

Definition at line 38 of file image.hpp.

## ◆ dimx_

int dimx_
| protected

Definition at line 41 of file image.hpp.

## ◆ dimy_

int dimy_
| protected

Definition at line 42 of file image.hpp.

## ◆ pixels_

std::vector<std::vector<Pixel> > pixels_
| protected

Definition at line 43 of file image.hpp.

## ◆ ftxui::Pixel

struct ftxui::Pixel

A Unicode character and its associated style.

Definition at line 15 of file pixel.hpp.

### Public Member Functions
| Pixel ()
### Public Attributes
bool | blink: 1
bool | bold: 1
bool | dim: 1
bool | italic: 1
bool | inverted: 1
bool | underlined: 1
bool | underlined_double: 1
bool | strikethrough: 1
bool | automerge: 1
uint8_t | hyperlink = 0
std::string | character = ""
Color | background_color = Color::Default
Color | foreground_color = Color::Default

#### Constructor & Destructor Documentation

## ◆ Pixel()

Pixel | ( |  | ) |
| inline

Definition at line 16 of file pixel.hpp.

#### Member Data Documentation

## ◆ blink

bool blink

Definition at line 28 of file pixel.hpp.

## ◆ bold

bool bold

Definition at line 29 of file pixel.hpp.

## ◆ dim

bool dim

Definition at line 30 of file pixel.hpp.

## ◆ italic

bool italic

Definition at line 31 of file pixel.hpp.

## ◆ inverted

bool inverted

Definition at line 32 of file pixel.hpp.

## ◆ underlined

bool underlined

Definition at line 33 of file pixel.hpp.

## ◆ underlined_double

bool underlined_double

Definition at line 34 of file pixel.hpp.

## ◆ strikethrough

bool strikethrough

Definition at line 35 of file pixel.hpp.

## ◆ automerge

bool automerge

Definition at line 36 of file pixel.hpp.

## ◆ hyperlink

uint8_t hyperlink = 0

Definition at line 41 of file pixel.hpp.

## ◆ character

std::string character = ""

Definition at line 45 of file pixel.hpp.

## ◆ background_color

Color background_color = Color::Default

Definition at line 48 of file pixel.hpp.

## ◆ foreground_color

Color foreground_color = Color::Default

Definition at line 49 of file pixel.hpp.

## ◆ ftxui::Screen

class ftxui::Screen

A rectangular grid of Pixel.

Definition at line 27 of file screen.hpp.

Inheritance diagram for Screen:
[legend]

### Public Types
using | SelectionStyle = std::function<void(Pixel&)>
### Public Member Functions
| Screen (int dimx, int dimy)
std::string | ToString () const
void | Print () const
void | Clear ()
| Clear all the pixel from the screen.
std::string | ResetPosition (bool clear=false) const
| Return a string to be printed in order to reset the cursor position to the beginning of the screen.
void | ApplyShader ()
Cursor | cursor () const
void | SetCursor (Cursor cursor)
uint8_t | RegisterHyperlink (const std::string &link)
const std::string & | Hyperlink (uint8_t id) const
const SelectionStyle & | GetSelectionStyle () const
| Return the current selection style.
void | SetSelectionStyle (SelectionStyle decorator)
| Set the current selection style.
std::string & | at (int x, int y)
| Access a character in a cell at a given position.
const std::string & | at (int x, int y) const
| Access a character in a cell at a given position.
Pixel & | PixelAt (int x, int y)
| Access a cell (Pixel) at a given position.
const Pixel & | PixelAt (int x, int y) const
| Access a cell (Pixel) at a given position.
int | dimx () const
int | dimy () const
### Static Public Member Functions
static Screen | Create (Dimensions dimension)
| Create a screen with the given dimension.
static Screen | Create (Dimensions width, Dimensions height)
| Create a screen with the given dimension along the x-axis and y-axis.
### Public Attributes
Box | stencil
### Protected Attributes
Cursor | cursor_
std::vector< std::string > | hyperlinks_ = {""}
SelectionStyle | selection_style_
int | dimx_
int | dimy_
std::vector< std::vector< Pixel > > | pixels_

#### Member Typedef Documentation

## ◆ SelectionStyle

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

Definition at line 72 of file screen.hpp.

#### Constructor & Destructor Documentation

## ◆ Screen()

Screen | ( | int | dimx,
|  | int | dimy )

Definition at line 398 of file screen.cpp.

#### Member Function Documentation

## ◆ Create() [1/2]

Screen Create | ( | Dimensions | dimension | ) |
| static

Create a screen with the given dimension.

Definition at line 394 of file screen.cpp.

## ◆ Create() [2/2]

Screen Create | ( | Dimensions | width,
|  | Dimensions | height )
| static

Create a screen with the given dimension along the x-axis and y-axis.

Definition at line 388 of file screen.cpp.

## ◆ ToString()

std::string ToString | ( |  | ) | const

Produce a std::string that can be used to print the Screen on the terminal.

Note
  Don't forget to flush stdout. Alternatively, you can use Screen::Print();

Definition at line 415 of file screen.cpp.

## ◆ Print()

void Print | ( |  | ) | const

Definition at line 452 of file screen.cpp.

## ◆ Clear()

void Clear | ( |  | ) |

Clear all the pixel from the screen.

Definition at line 494 of file screen.cpp.

## ◆ ResetPosition()

std::string ResetPosition | ( | bool | clear = false | ) | const

Return a string to be printed in order to reset the cursor position to the beginning of the screen.

std::string reset_position;
while(true) {
auto document = render();
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition();
using namespace std::chrono_literals;
std::this_thread::sleep_for(0.01s);
}
ftxui::Render
void Render(Screen &screen, const Element &element)
Display an element on a ftxui::Screen.
Definition node.cpp:84
ftxui::Screen::Create
static Screen Create(Dimensions dimension)
Create a screen with the given dimension.
Definition screen.cpp:394

Returns
  The string to print in order to reset the cursor position to the beginning.

Definition at line 475 of file screen.cpp.

## ◆ ApplyShader()

void ApplyShader | ( |  | ) |

Definition at line 506 of file screen.cpp.

## ◆ cursor()

Cursor cursor | ( |  | ) | const
| inline

Definition at line 64 of file screen.hpp.

## ◆ SetCursor()

void SetCursor | ( | Cursor | cursor | ) |
| inline

Definition at line 65 of file screen.hpp.

## ◆ RegisterHyperlink()

std::uint8_t RegisterHyperlink | ( | const std::string & | link | ) |

Definition at line 533 of file screen.cpp.

## ◆ Hyperlink()

const std::string & Hyperlink | ( | uint8_t | id | ) | const

Definition at line 546 of file screen.cpp.

## ◆ GetSelectionStyle()

const Screen::SelectionStyle & GetSelectionStyle | ( |  | ) | const

Return the current selection style.

See also
  SetSelectionStyle

Definition at line 555 of file screen.cpp.

## ◆ SetSelectionStyle()

void SetSelectionStyle | ( | SelectionStyle | decorator | ) |

Set the current selection style.

See also
  GetSelectionStyle

Definition at line 561 of file screen.cpp.

## ◆ at() [1/2]

std::string & at | ( | int | x,
|  | int | y )
| inherited

Access a character in a cell at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 29 of file image.cpp.

## ◆ at() [2/2]

const std::string & at | ( | int | x,
|  | int | y ) const
| inherited

Access a character in a cell at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 36 of file image.cpp.

## ◆ PixelAt() [1/2]

Pixel & PixelAt | ( | int | x,
|  | int | y )
| inherited

Access a cell (Pixel) at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 43 of file image.cpp.

## ◆ PixelAt() [2/2]

const Pixel & PixelAt | ( | int | x,
|  | int | y ) const
| inherited

Access a cell (Pixel) at a given position.

Parameters

  x | The cell position along the x-axis.
  y | The cell position along the y-axis.

Definition at line 50 of file image.cpp.

## ◆ dimx()

int dimx | ( |  | ) | const
| inline inherited

Definition at line 32 of file image.hpp.

## ◆ dimy()

int dimy | ( |  | ) | const
| inline inherited

Definition at line 33 of file image.hpp.

#### Member Data Documentation

## ◆ cursor_

Cursor cursor_
| protected

Definition at line 77 of file screen.hpp.

## ◆ hyperlinks_

std::vector<std::string> hyperlinks_ = {""}
| protected

Definition at line 78 of file screen.hpp.

## ◆ selection_style_

SelectionStyle selection_style_
| protected

Initial value:
= [](Pixel& pixel) {
pixel.inverted ^= true;
}

Definition at line 81 of file screen.hpp.

## ◆ stencil

Box stencil
| inherited

Definition at line 38 of file image.hpp.

## ◆ dimx_

int dimx_
| protected inherited

Definition at line 41 of file image.hpp.

## ◆ dimy_

int dimy_
| protected inherited

Definition at line 42 of file image.hpp.

## ◆ pixels_

std::vector<std::vector<Pixel> > pixels_
| protected inherited

Definition at line 43 of file image.hpp.

## ◆ ftxui::Dimensions

struct ftxui::Dimensions

Dimensions is a structure that represents the size of the terminal.

Definition at line 11 of file terminal.hpp.

### Public Attributes
int | dimx
int | dimy

#### Member Data Documentation

## ◆ dimx

int dimx

Definition at line 12 of file terminal.hpp.

## ◆ dimy

int dimy

Definition at line 13 of file terminal.hpp.

## Enumeration Type Documentation

## ◆ Color

enum Color

Color is an enumeration that represents the color support of the terminal.

Enumerator
Palette1 |
Palette16 |
Palette256 |
TrueColor |

Definition at line 23 of file terminal.hpp.

## Function Documentation

## ◆ Size()

Dimensions Size | ( |  | ) |

Get the terminal size.

Returns
  The terminal size.

Definition at line 94 of file terminal.cpp.

## ◆ ColorSupport()

Color ColorSupport | ( |  | ) |

Get the color support of the terminal.

Definition at line 130 of file terminal.cpp.