Arthur Sonzogni
1fc86d31db
Add benchmark. ( #127 )
2021-06-26 00:08:21 +02:00
Arthur Sonzogni
ba5826eab7
Fix bug with std::raise(0) ( #124 )
...
A bug has been introduced in:
478d7e8bca
I purposefully allowed raising the signal zero, because I thought this
was doing nothing. See the response:
https://stackoverflow.com/a/32260528/5112390
but this is different on Windows.
See:
https://github.com/ArthurSonzogni/FTXUI/issues/117
2021-06-22 09:43:15 +02:00
ArthurSonzogni
478d7e8bca
On SIGINT, raise signal again.
...
When SIGINT is intercepted, quit the run loop and raise the signal
again.
I am not sure this addresses:
https://github.com/ArthurSonzogni/FTXUI/issues/117
Maybe?
2021-06-19 18:57:48 +02:00
Arthur Sonzogni
30a85c4c5b
Clear terminal on resize. ( #99 )
2021-05-17 00:44:37 +02:00
Arthur Sonzogni
ca0d74ac01
Warn for deprecated. ( #94 )
2021-05-16 09:57:55 +02:00
ArthurSonzogni
fcc49fdce7
Format using iwyu.
2021-05-15 00:19:19 +02:00
ArthurSonzogni
6d75cb2748
Make component more functionnal
2021-05-09 22:35:34 +02:00
ArthurSonzogni
be219633e3
Merge remote-tracking branch 'origin' into feature/mouse-support
2021-05-01 23:45:13 +02:00
ArthurSonzogni
155758c073
Use IWYU.
2021-05-01 23:19:07 +02:00
ArthurSonzogni
eb399d20c5
Capture mouse for the slider component.
2021-05-01 18:13:56 +02:00
ArthurSonzogni
a27c878a3f
Mouse support. Fix & verify Webassembly support.
...
There was some undefined behavior to be fixed in the terminal input
parser.
The behavior of flush seems to have change. The fix was to invert '\0'
and std::flush.
2021-04-25 16:58:16 +02:00
ArthurSonzogni
0b9b6c692a
Improve mouse support
2021-04-25 15:22:38 +02:00
ArthurSonzogni
8037a5fa5f
Improve mouse support for menu and toggle.
2021-04-24 18:16:13 +02:00
ArthurSonzogni
890a41a64c
Add mouse implementation of most components.
2021-04-18 22:33:41 +02:00
ArthurSonzogni
cbd13499ae
Parse mouse events.
2021-04-18 18:32:38 +02:00
ArthurSonzogni
476b9deaf8
Enable mouse tracking.
...
Request terminal to send mouse position.
See:
https://github.com/ArthurSonzogni/FTXUI/issues/7
2021-04-05 22:03:37 +02:00
Arthur Sonzogni
373b016ca9
Add webassembly support ( #79 )
2021-03-22 00:26:52 +01:00
ArthurSonzogni
cac94439ff
Add webassembly support
2021-03-21 23:30:46 +01:00
Arthur Sonzogni
a6a7f0a354
Add CI on github action. ( #76 )
2021-03-20 22:45:21 +01:00
jdfa
af4bf379bc
Swapped order of hidding cursor and setting alternative screen ( #75 )
...
On some terminal, going to the alternative screen disable cursor hiding.
Swap of those commands fixed that issue.
Co-authored-by: d <d>
2021-03-16 09:46:02 +01:00
jdfa
9cc3779145
[Win] Fixed usage of ReadConsoleInput ( #74 )
...
ReadConsoleInput params: |nLength| is the size in array elements, not in byte.
Co-authored-by: d <d>
2021-03-13 21:02:01 +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
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
20b9a0f0f5
Add a doxygen documentation.
2020-08-15 10:38:14 +02:00
ArthurSonzogni
75c424cea9
Update document WIP.
2020-08-09 10:49:06 +02:00
ArthurSonzogni
454b14c5c6
Improve support to mingw
2020-07-16 23:40:15 +02:00
ArthurSonzogni
7f7775ba62
Simplify the requirement struct.
2020-06-01 16:24:22 +02:00
ArthurSonzogni
3490d56662
Improve performance.
...
Read all the input before drawing anything on the screen.
2020-06-01 16:16:08 +02:00
ArthurSonzogni
e34f051f7a
Simplify the Render(screen, document) function.
2020-05-20 21:23:59 +02:00
ArthurSonzogni
957387adaa
Format.
2020-05-20 20:51:20 +02:00
ArthurSonzogni
76fc52441f
Implement "alternative screen".
...
Apply this option automatically for "fullscreen" screen. Keep it
disabled for the other modes.
This fixes issue:
https://github.com/GiuseppeCesarano/just-fast/issues/2
2020-05-02 20:39:56 +02:00
ArthurSonzogni
ac3db36de8
Stop using fcntl
...
This fixes issue 16
https://github.com/ArthurSonzogni/FTXUI/issues/16
Some terminal like gnome-terminal seems not to support it correctly. It
turns out it wasn't totally useful using it.
2020-05-02 20:11:36 +02:00
ArthurSonzogni
cccbe5baa9
Fix non blocking I/O on POSIX.
2020-05-02 02:02:04 +02:00
ArthurSonzogni
2d292b5382
Make catching SIGNAL SIGINT to work also on windows.
2020-05-01 23:48:22 +02:00
ArthurSonzogni
898cd842e2
Catch SIGINT event.
...
This was an old features, but it has been removed mistakenly when
merging some patches.
This allow the terminal to be restored when the user kill the
application.
2020-05-01 23:45:17 +02:00
ArthurSonzogni
d8e0504ad0
Add timeout for getchar() in POSIX.
...
Previously, the thread pooling new characters being typed was waiting
for "one more char" being typed before being able to exit.
This patch adds a timeout for getchar(). This way, event if the user do
not press his/her keyboard, the program is still able to exit.
This fixes issue:
https://github.com/GiuseppeCesarano/just-fast/issues/2
2020-05-01 23:36:02 +02:00
ArthurSonzogni
f506be941d
Add automatic formatting and license.
2020-04-19 21:01:09 +02:00
ArthurSonzogni
13d1cc1684
Fix missing include.
2020-03-25 18:31:27 +01:00
Mikael Olenfalk
a55baa1e9c
Use the correct macro check if we are compiling for windows
2020-03-25 08:54:03 +01:00
ArthurSonzogni
5fc5766f1e
Add Windows input.
...
Co-authored-by: Mikael Olenfalk <mikael@olenfalk.se>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2020-03-25 02:24:43 +01:00
ArthurSonzogni
ff59c7bafa
Fix compile on Windows.
2020-03-25 02:18:48 +01:00
ArthurSonzogni
508b2ef048
Improve thread usages.
2020-03-25 01:15:46 +01:00
ArthurSonzogni
0a7b556a12
Switch name Producer/Consumer -> Sender/Receiver
...
The producer/consumer was created for:
https://github.com/ArthurSonzogni/FTXUI/pull/11
This patch makes rename everything from Producer/Consumer toward
Sender/Receiver.
2020-03-25 00:07:41 +01:00
ArthurSonzogni
09a1b16613
Add a Producer/Consumer system.
...
It allow you to create the two end of a pipe: A producer and consumer.
The producer can be moved into another thread.
Several producer can be created if necessary.
This will ease merging:
https://github.com/ArthurSonzogni/FTXUI/pull/11
2020-03-24 23:42:17 +01:00
ArthurSonzogni
6de8c63907
Readd 'resize' handling. It was mistakenly removed.
2020-03-24 01:26:06 +01:00
Mikael Olenfalk
f927d3d712
Win32: Switch codepage to UTF8 in Screen constructor
...
Co-authored-by: Mikael Olenfalk <mikael@olenfalk.se>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2020-03-24 00:37:06 +01:00
Mikael Olenfalk
40800ac019
Use Console API to set and restore terminal mode on Windows
2020-03-23 21:42:33 +01:00
ArthurSonzogni
493e734680
Set clang-format macro indent.
...
1) Set clang-format macro indent.
2) Run clang-format on every files.
2020-03-23 21:26:00 +01:00
ArthurSonzogni
9ca8d41afc
Improve ScreenInteractive.
2020-03-23 09:23:57 +01:00
ArthurSonzogni
a402cb4fbb
Fix format. Try compile on Windows.
2020-03-22 22:32:44 +01:00