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)


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