mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-26 12:37:06 +08:00
Update README.md
This commit is contained in:
parent
7d7be0e9da
commit
c6f0dd60ee
48
README.md
48
README.md
@ -24,11 +24,11 @@
|
|||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## FTXUI
|
# FTXUI
|
||||||
|
|
||||||
<i>Functional Terminal (X) User interface</i>
|
<i>Functional Terminal (X) User interface</i>
|
||||||
|
|
||||||
A simple C++ library for terminal based user interfaces!
|
A simple cross-platform C++ library for terminal based user interfaces!
|
||||||
|
|
||||||
## Feature
|
## Feature
|
||||||
* Functional style. Inspired by
|
* Functional style. Inspired by
|
||||||
@ -40,7 +40,7 @@ A simple C++ library for terminal based user interfaces!
|
|||||||
* Support for animations. [Demo 1](https://arthursonzogni.github.io/FTXUI/examples/?file=component/menu_underline_animated_gallery), [Demo 2](https://arthursonzogni.github.io/FTXUI/examples/?file=component/button_style)
|
* Support for animations. [Demo 1](https://arthursonzogni.github.io/FTXUI/examples/?file=component/menu_underline_animated_gallery), [Demo 2](https://arthursonzogni.github.io/FTXUI/examples/?file=component/button_style)
|
||||||
* Support for drawing. [Demo](https://arthursonzogni.github.io/FTXUI/examples/?file=component/canvas_animated)
|
* Support for drawing. [Demo](https://arthursonzogni.github.io/FTXUI/examples/?file=component/canvas_animated)
|
||||||
* No dependencies
|
* No dependencies
|
||||||
* Cross platform: Linux/MacOS (main target), WebAssembly, Windows (Thanks to contributors!).
|
* **Cross platform**: Linux/MacOS (main target), WebAssembly, Windows (Thanks to contributors!).
|
||||||
* Learn by [examples](#documentation), and [tutorials](#documentation)
|
* Learn by [examples](#documentation), and [tutorials](#documentation)
|
||||||
* Multiple packages: CMake [FetchContent](https://bewagner.net/programming/2020/05/02/cmake-fetchcontent/) (preferred), vcpkg, pkgbuild, conan.
|
* Multiple packages: CMake [FetchContent](https://bewagner.net/programming/2020/05/02/cmake-fetchcontent/) (preferred), vcpkg, pkgbuild, conan.
|
||||||
* Good practises: documentation, tests, fuzzers, performance tests, automated CI, automated packaging, etc...
|
* Good practises: documentation, tests, fuzzers, performance tests, automated CI, automated packaging, etc...
|
||||||
@ -52,34 +52,22 @@ A simple C++ library for terminal based user interfaces!
|
|||||||
- [Examples (WebAssembly)](https://arthursonzogni.github.io/FTXUI/examples/)
|
- [Examples (WebAssembly)](https://arthursonzogni.github.io/FTXUI/examples/)
|
||||||
- [Build using CMake](https://arthursonzogni.github.io/FTXUI/#build-cmake)
|
- [Build using CMake](https://arthursonzogni.github.io/FTXUI/#build-cmake)
|
||||||
|
|
||||||
## Operating systems
|
|
||||||
|
|
||||||
This is expected to be cross platform. This supports / tests:
|
|
||||||
- WebAssembly
|
|
||||||
- Linux
|
|
||||||
- MacOS
|
|
||||||
- Windows
|
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
~~~cpp
|
~~~cpp
|
||||||
vbox({
|
vbox({
|
||||||
hbox({
|
hbox({
|
||||||
text("left") | border,
|
text("one") | border,
|
||||||
text("middle") | border | flex,
|
text("two") | border | flex,
|
||||||
text("right") | border,
|
text("three") | border | flex,
|
||||||
}),
|
}),
|
||||||
gauge(0.5) | border,
|
|
||||||
});
|
gauge(0.25) | color(color::red),
|
||||||
|
gauge(0.50) | color(color::white),
|
||||||
|
gauge(0.75) | color(color::blue),
|
||||||
|
});
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
~~~bash
|
![image](https://github.com/ArthurSonzogni/FTXUI/assets/4759106/569bf043-4e85-4245-aad5-2324572135c4)
|
||||||
┌────┐┌───────────────────────────────────────────────────────────────┐┌─────┐
|
|
||||||
│left││middle ││right│
|
|
||||||
└────┘└───────────────────────────────────────────────────────────────┘└─────┘
|
|
||||||
┌────────────────────────────────────────────────────────────────────────────┐
|
|
||||||
│██████████████████████████████████████ │
|
|
||||||
└────────────────────────────────────────────────────────────────────────────┘
|
|
||||||
~~~
|
|
||||||
|
|
||||||
## Short gallery
|
## Short gallery
|
||||||
|
|
||||||
@ -303,8 +291,8 @@ Prebuilt components are declared in [<ftxui/component/component.hpp>](https://ar
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## Libraries for FTXUI
|
||||||
|
- *Want to share a useful component using FTXUI? Feel free adding yours here*
|
||||||
|
|
||||||
|
|
||||||
## Project using FTXUI
|
## Project using FTXUI
|
||||||
@ -333,7 +321,7 @@ Feel free to add your projects here:
|
|||||||
- [StartUp](https://github.com/StubbornVegeta/StartUp)
|
- [StartUp](https://github.com/StubbornVegeta/StartUp)
|
||||||
- [eCAL monitor](https://github.com/eclipse-ecal/ecal)
|
- [eCAL monitor](https://github.com/eclipse-ecal/ecal)
|
||||||
|
|
||||||
## [cpp-best-practices/game_jam](https://github.com/cpp-best-practices/game_jam)
|
### [cpp-best-practices/game_jam](https://github.com/cpp-best-practices/game_jam)
|
||||||
|
|
||||||
Several games using the FTXUI have been made during the Game Jam:
|
Several games using the FTXUI have been made during the Game Jam:
|
||||||
- [TermBreaker](https://github.com/ArthurSonzogni/termBreaker) [**[Play web version]**](https://arthursonzogni.com/TermBreaker/)
|
- [TermBreaker](https://github.com/ArthurSonzogni/termBreaker) [**[Play web version]**](https://arthursonzogni.com/TermBreaker/)
|
||||||
|
Loading…
Reference in New Issue
Block a user