display

Layout and Rendering TUI library
git clone git://git.dimitrijedobrota.com/display.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

README.md (1481B)


0 # display
2 Simple TUI library
4 ## Description
6 This project is my latest attempt to create a modular end extensible TUI
7 library that takes care of the positioning of the elements on the screen and
8 their nesting.
10 As of know it has all of the necessary features for me to start building some
11 staff with it, and figure out the rest as I go.
13 ## Dependencies
15 * CMake 3.14 or latter
16 * Compiler with C++20 support (tested on clang version 19.1.7)
17 * [`Stamen 1.3.0`](https://github.com/DimitrijeDobrota/stamen) (for running examples)
20 ## Building and installing
22 See the [`BUILDING`](BUILDING.md) document.
25 ## Usage
27 > Please reference example folder for relevant usage examples.
29 The library provides the following classes:
30 * `Element`: Base class that takes care of the absolute positioning
31 * `Display`: Main entry point to the terminal screen
32 * `Layout`: Container for one element
33 * `LayoutMulti`: Container for multiple elements
34 * `LayoutRigid`: Divide a screen into custom rectangles
35 * `Window`: Bass class for drawing to the screen
36 * `WindowPivot`: Window that can be placed in the corners or center of the layout
39 ## Version History
41 * 0.2
42 * Proof of concept class hierarchy
43 * Chained rendering and input propagation
44 * Responsive redrawing
46 * 0.1
47 * Initial development phase
50 ## Contributing
52 See the [`CONTRIBUTING`](CONTRIBUTING.md) document.
55 ## License
57 This project is licensed under the MIT License - see the [`LICENSE`](LICENSE.md) file for details