Commit Graph

207 Commits

Author SHA1 Message Date
Robin Lindén
0a9a72cbaa
Workaround Windows.h breaking the Color::RGB function (#70)
wingdi.h (included via Windows.h) defines an RGB macro that breaks
things. If a user really wants that macro in the same file as FTXUI they
can move the Windows.h include to after the inclusion of FTXUI's
headers.
2021-02-09 14:18:29 +01:00
robobuggy
d0eab41344
Fixed infinite loop in Screen::ToString() for non-printable chars (#69) 2021-02-04 09:32:05 +01:00
Arthur Sonzogni
92ec5ab4ca
Support for color fallback. (#66)
On terminal not supporting some color palette, fallback toward the
closest one.
2020-12-23 14:45:57 +01:00
Arthur Sonzogni
305346542a
Fix terminal color detection support. (#65)
There was many obvious bugs, discovered here:
ad2a085469/Open-Source-Project-Anatomy/FTXUI.md
2020-12-23 12:20:01 +01:00
ArthurSonzogni
3a3ec13eb0
Add nxxm suport. 2020-12-21 15:36:04 +01:00
Arthur Sonzogni
977f13967f
Fix CMake when git is not found. (#64)
Fix: https://github.com/ArthurSonzogni/FTXUI/issues/62
2020-11-22 13:23:01 +01:00
Vedant Paranjape
afd53e0508
Compilation failed if ftxui was used in projects that were not git repositories. Since, in CMakeLists.txt working directory to execute command was (#61)
set as the parent directory and not the FTXUI project directory.

* Changed the working directory variable to ${CMAKE_CURRENT_SOURCE_DIR}, so as to get the version of FTXUI and not that of parent project
2020-11-14 15:00:38 +01:00
Arthur Sonzogni
406355df8c
Fix parsing of keys that are prefix of others. (#58)
The ESC key generates sequences that are prefix of others. For instance:
- ESC => [27]
- F1 =>  [27, 79, 8]

As a result, we can't generate the ESC event when receiving [27],
because it might be the start of the [27, 79, 8] sequence (or not).

Application usually applies a timeout to help detecting the ESC key.
This patch introduce a timeout. It is set to 50ms.

Bug: https://github.com/ArthurSonzogni/FTXUI/issues/55
2020-10-25 01:57:56 +02:00
Mike Wallio
c13621d1f9
Make cursor position public state (#57) 2020-10-24 16:48:59 +02:00
Mike Wallio
1cb08fd606
Fix event const correctness (#56) 2020-10-24 16:47:03 +02:00
Arthur Sonzogni
d969c74341
Improve color handling. (#49) 2020-10-16 22:31:24 +02:00
Stephan Roslen
6a35efa3b7
add dependency to Threads into generated cmake config (#52)
* add dependency to Threads into generated cmake config

* fix formatting
2020-10-16 22:07:30 +02:00
Stephan Roslen
cfd0981a58
reset pixel style for newline (#54) 2020-10-16 21:26:59 +02:00
Stephan Roslen
5d140845ee
Fix indices for screen code example and create call (#53)
PixelAt(10,10) was outside of the Screen and there is no c'tor for
Dimensions but a static Create method.
2020-10-16 18:37:52 +02:00
Stephan Roslen
e34dc1606e Fix crash on unset environment variable. 2020-10-15 21:57:14 +02:00
ArthurSonzogni
606e0efdfe Implement Input::on_change. 2020-09-20 11:47:06 +02:00
ArthurSonzogni
5291f660ca Automatically fix style. 2020-09-07 11:25:50 +02:00
ArthurSonzogni
d09996a6c7 Add more example for colors. 2020-09-07 11:25:50 +02:00
Damien D
dc8c090753 Add support for full RGB colors.
FTXUI supported only the 16 colors palette.
This patch adds support for the 256 palette and the TrueColor(8×8×8)
mode.

This was made by kerdelos@ and fixes issue:
https://github.com/ArthurSonzogni/FTXUI/issues/45

Co-authored-by: Damien D <kerdelos@gmail.com>
Co-authored-by: Arthur Sonzogni <sonzogniarthur@gmail.com>
2020-09-07 11:25:50 +02:00
Arthur Sonzogni
49941b6403
Update README.md 2020-09-06 13:53:33 +02:00
ArthurSonzogni
6b70967c6d Add <algorithm> to border.cpp.
This fies an issue with Windows.
2020-08-28 23:54:25 +02:00
ArthurSonzogni
4ad4946de3 Add the modal dialog example.
New component: clear_under.
2020-08-28 23:54:25 +02:00
ArthurSonzogni
5a8ed208da Add the Button component. 2020-08-28 23:54:25 +02:00
ArthurSonzogni
81d79d311d Add TakeFocus and SetActiveChild.
This allows developers to set child children component must be the
currently active/focused one.

This can be used to "control" where the focus is, without user
interactions.
2020-08-28 23:54:25 +02:00
ArthurSonzogni
114ab4ae2a Add more documentation. 2020-08-28 23:54:25 +02:00
ArthurSonzogni
f2dc080a35 Variou details:
- Put the MIT copyright at the end.
- Move the directory /other -> tools
- Various improvements.
2020-08-28 23:54:25 +02:00
ArthurSonzogni
5a4afba66f Improve the documentation. 2020-08-28 23:54:25 +02:00
Arthur Sonzogni
37ddb1eceb
Update README.md 2020-08-19 11:20:55 +02:00
Arthur Sonzogni
4f25510beb
Update README.md 2020-08-19 11:19:10 +02:00
Arthur Sonzogni
720838ad74
Update README.md 2020-08-19 11:19:02 +02:00
ArthurSonzogni
20b9a0f0f5 Add a doxygen documentation. 2020-08-15 10:38:14 +02:00
Arthur Sonzogni
5f15b2881e
Update README.md 2020-08-12 22:18:59 +02:00
Arthur Sonzogni
ebd569734e
Update README.md 2020-08-12 16:23:39 +02:00
Arthur Sonzogni
9f8bd4cb32
Update README.md 2020-08-10 18:26:28 +02:00
Arthur Sonzogni
236dfe481b
Update README.md - Add link to the documentation. 2020-08-09 17:14:31 +02:00
ArthurSonzogni
75c424cea9 Update document WIP. 2020-08-09 10:49:06 +02:00
vedantparanjape
177df31d41 Added tests for toggle component, OnEnter event 2020-08-05 01:34:46 +02:00
vedantparanjape
33a970530b Added on_enter() method to toggle
component
2020-08-05 01:34:46 +02:00
ArthurSonzogni
a4d72c4d50 Fix on_change() not called for Toggle.
Fix bug 35 and add some tests for the toggle component.

Bug:https://github.com/ArthurSonzogni/FTXUI/issues/35
2020-08-02 22:22:27 +02:00
ArthurSonzogni
8f87fc96ac Add regression test for issue 31.
See https://github.com/ArthurSonzogni/FTXUI/issues/31

Due to a bug fixed by:
https://github.com/ArthurSonzogni/FTXUI/pull/32
the character 'P' was not correctly converted into event.
2020-07-23 21:05:21 +02:00
Giuseppe Cesarano
d1d7a73b2d Fixed P conversion 2020-07-23 20:41:44 +02:00
ArthurSonzogni
5f624431f1 Set the correct key for "return" on Window.
This is related to:
https://github.com/ArthurSonzogni/FTXUI/issues/27
2020-07-21 21:50:03 +02:00
ArthurSonzogni
e3ca437a48 Introduce xflex and yflex. 2020-07-21 01:22:42 +02:00
ArthurSonzogni
13e4f97c35 Remove CODEOWNERS 2020-07-21 01:22:42 +02:00
ArthurSonzogni
61ca97840b Fix default char for checkbox and radiobox on Windows.
This addresses:
https://github.com/ArthurSonzogni/FTXUI/issues/27
2020-07-21 01:22:42 +02:00
ArthurSonzogni
22afacc28b Request Windows to emulate VT100.
This was previously supported on ScreenInteractive, this is now
universally supported.

This partially address:
https://github.com/ArthurSonzogni/FTXUI/issues/27
2020-07-16 23:40:15 +02:00
ArthurSonzogni
454b14c5c6 Improve support to mingw 2020-07-16 23:40:15 +02:00
ArthurSonzogni
dbfc5d0503 Add FUNDING.yml 2020-06-28 16:07:08 +02:00
ArthurSonzogni
d2b991d5a3 Split frame into {x,y}frame 2020-06-07 15:59:09 +02:00
ArthurSonzogni
08ee49f3e6 Add flex_grow and flex_shrink.
Two new elements:
- flex_grow  : Expand the element to occupy free space.
- flex_shrink: Minimize the element leave away missing space.

flex = flex_grow | flex_shrink.

Other changes:
- hbox and vbox are now non flexible by default.
- the vtext element has been added to help writting tests.
- Many new tests.
2020-06-07 02:30:45 +02:00