FTXUI
5.0.0
C++ functional terminal UI.
|
Data Structures | |
class | Private |
Public Member Functions | |
void | TrackMouse (bool enable=true) |
Set whether mouse is tracked and events reported. called outside of the main loop. E.g ScreenInteractive::Loop(...) . More... | |
void | Loop (Component) |
Execute the main loop. More... | |
void | Exit () |
Exit the main loop. More... | |
Closure | ExitLoopClosure () |
Return a function to exit the main loop. More... | |
void | Post (Task task) |
Add a task to the main loop. It will be executed later, after every other scheduled tasks. More... | |
void | PostEvent (Event event) |
Add an event to the main loop. It will be executed later, after every other scheduled events. More... | |
void | RequestAnimationFrame () |
Add a task to draw the screen one more time, until all the animations are done. More... | |
CapturedMouse | CaptureMouse () |
Try to get the unique lock about behing able to capture the mouse. More... | |
Closure | WithRestoredIO (Closure) |
Decorate a function. It executes the same way, but with the currently active screen terminal hooks temporarilly uninstalled during its execution. More... | |
std::string & | at (int x, int y) |
Access a character in a cell at a given position. More... | |
const std::string & | at (int x, int y) const |
Access a character in a cell at a given position. More... | |
Pixel & | PixelAt (int x, int y) |
Access a cell (Pixel) at a given position. More... | |
const Pixel & | PixelAt (int x, int y) const |
Access a cell (Pixel) at a given position. More... | |
std::string | ToString () const |
void | Print () const |
int | dimx () const |
int | dimy () const |
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. More... | |
void | Clear () |
Clear all the pixel from the screen. More... | |
void | ApplyShader () |
Cursor | cursor () const |
void | SetCursor (Cursor cursor) |
uint8_t | RegisterHyperlink (const std::string &link) |
const std::string & | Hyperlink (uint8_t id) const |
Static Public Member Functions | |
static ScreenInteractive | FixedSize (int dimx, int dimy) |
static ScreenInteractive | Fullscreen () |
static ScreenInteractive | FullscreenPrimaryScreen () |
static ScreenInteractive | FullscreenAlternateScreen () |
static ScreenInteractive | FitComponent () |
static ScreenInteractive | TerminalOutput () |
static ScreenInteractive * | Active () |
Return the currently active screen, or null if none. More... | |
static Screen | Create (Dimensions dimension) |
Create a screen with the given dimension. More... | |
static Screen | Create (Dimensions width, Dimensions height) |
Create a screen with the given dimension along the x-axis and y-axis. More... | |
Data Fields | |
friend | Private |
Box | stencil |
Protected Attributes | |
int | dimx_ |
int | dimy_ |
std::vector< std::vector< Pixel > > | pixels_ |
Cursor | cursor_ |
std::vector< std::string > | hyperlinks_ = {""} |
Definition at line 29 of file screen_interactive.hpp.
|
static |
Definition at line 356 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. This is using the alternate screen buffer to avoid messing with the terminal content.
ScreenInteractive::FullscreenAlternateScreen()
Definition at line 370 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. The primary screen buffer is being used. It means if the terminal is resized, the previous content might mess up with the terminal content.
Definition at line 379 of file screen_interactive.cpp.
|
static |
Create a ScreenInteractive taking the full terminal size. This is using the alternate screen buffer to avoid messing with the terminal content.
Definition at line 392 of file screen_interactive.cpp.
|
static |
Definition at line 412 of file screen_interactive.cpp.
|
static |
Definition at line 402 of file screen_interactive.cpp.
void TrackMouse | ( | bool | enable = true | ) |
Set whether mouse is tracked and events reported. called outside of the main loop. E.g ScreenInteractive::Loop(...)
.
enable | Whether to enable mouse event tracking. |
ScreenInteractive::Loop
. Definition at line 437 of file screen_interactive.cpp.
|
static |
Return the currently active screen, or null if none.
Definition at line 565 of file screen_interactive.cpp.
Execute the main loop.
component | The component to draw. |
Definition at line 491 of file screen_interactive.cpp.
void Exit | ( | ) |
Exit the main loop.
Definition at line 881 of file screen_interactive.cpp.
Closure ExitLoopClosure | ( | ) |
Return a function to exit the main loop.
Definition at line 875 of file screen_interactive.cpp.
void Post | ( | Task | task | ) |
Add a task to the main loop. It will be executed later, after every other scheduled tasks.
Definition at line 444 of file screen_interactive.cpp.
void PostEvent | ( | Event | event | ) |
Add an event to the main loop. It will be executed later, after every other scheduled events.
Definition at line 457 of file screen_interactive.cpp.
void RequestAnimationFrame | ( | ) |
Add a task to draw the screen one more time, until all the animations are done.
Definition at line 463 of file screen_interactive.cpp.
CapturedMouse CaptureMouse | ( | ) |
Try to get the unique lock about behing able to capture the mouse.
Definition at line 479 of file screen_interactive.cpp.
Decorate a function. It executes the same way, but with the currently active screen terminal hooks temporarilly uninstalled during its execution.
fn | The function to decorate. |
Definition at line 555 of file screen_interactive.cpp.
|
staticinherited |
Create a screen with the given dimension.
Definition at line 391 of file screen.cpp.
|
staticinherited |
Create a screen with the given dimension along the x-axis and y-axis.
Definition at line 385 of file screen.cpp.
|
inherited |
Access a character in a cell at a given position.
x | The cell position along the x-axis. |
y | The cell position along the y-axis. |
Definition at line 456 of file screen.cpp.
|
inherited |
Access a character in a cell at a given position.
x | The cell position along the x-axis. |
y | The cell position along the y-axis. |
Definition at line 463 of file screen.cpp.
|
inherited |
Access a cell (Pixel) at a given position.
x | The cell position along the x-axis. |
y | The cell position along the y-axis. |
Definition at line 470 of file screen.cpp.
|
inherited |
Access a cell (Pixel) at a given position.
x | The cell position along the x-axis. |
y | The cell position along the y-axis. |
Definition at line 477 of file screen.cpp.
|
inherited |
Produce a std::string that can be used to print the Screen on the terminal.
Definition at line 416 of file screen.cpp.
|
inherited |
Definition at line 449 of file screen.cpp.
|
inlineinherited |
Definition at line 84 of file screen.hpp.
|
inlineinherited |
Definition at line 85 of file screen.hpp.
|
inherited |
Return a string to be printed in order to reset the cursor position to the beginning of the screen.
Definition at line 500 of file screen.cpp.
|
inherited |
Clear all the pixel from the screen.
Definition at line 519 of file screen.cpp.
|
inherited |
Definition at line 534 of file screen.cpp.
|
inlineinherited |
Definition at line 110 of file screen.hpp.
|
inlineinherited |
Definition at line 111 of file screen.hpp.
|
inherited |
Definition at line 561 of file screen.cpp.
|
inherited |
Definition at line 574 of file screen.cpp.
friend Private |
Definition at line 127 of file screen_interactive.hpp.
|
inherited |
Definition at line 118 of file screen.hpp.
|
protectedinherited |
Definition at line 121 of file screen.hpp.
|
protectedinherited |
Definition at line 122 of file screen.hpp.
|
protectedinherited |
Definition at line 123 of file screen.hpp.
|
protectedinherited |
Definition at line 124 of file screen.hpp.
|
protectedinherited |
Definition at line 125 of file screen.hpp.