Commit Graph

288 Commits

Author SHA1 Message Date
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
20a05e99ca Execute IWYU and format. 2021-06-21 23:10:51 +02:00
ArthurSonzogni
91c5954fe2 Fix component ownership.
When switching from raw pointers toward shared_ptr, the destructor
wasn't updated correctly.

This patch:
- Fixes the issue.
- Add two regression tests.
- Use address sanitizer for the tests.

This fixes: https://github.com/ArthurSonzogni/FTXUI/issues/115
2021-06-21 22:58:49 +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
ArthurSonzogni
18d1b04b7a terminal_input_parser: validate UTF8.
Make sure code points parsed are always valid UTF8. Don't assume stdin
is filled with valid data. Check for overlong UTF8 and add some tests.

The fuzzer has reached the following coverage:
- cov    : 204
- ft     : 754
- corp   : 62/12257b
- lim    : 2798
- exec/s : 1748
- rss    : 445Mb
- L      : 155/1946
- MS     : 3

Fixed:https://github.com/ArthurSonzogni/FTXUI/issues/118
2021-06-19 11:09:52 +02:00
ArthurSonzogni
986ea2b37e Add fuzzer for termin_input_parser
Current state: the fuzzer find interesting input immediately...
```
terminate called after throwing an instance of 'std::range_error'
  what():  wstring_convert::from_bytes
```

See: https://github.com/ArthurSonzogni/FTXUI/issues/118
2021-06-19 11:09:52 +02:00
myd7349
3d5e4eb6ca Set git_version when .git folder is missing (#116)
If we download the FTXUI source archive from the GitHub website, then the `.git` folder will be missing.
In such case, CMake configuration will fail:
> git found
> fatal: not a git repository (or any of the parent directories): .git
> CMake Error at CMakeLists.txt:21 (project):
>   VERSION "0.6." format invalid.
2021-06-17 12:54:26 +02:00
Arthur Sonzogni
2406e20f36 Update README.md 2021-06-16 11:08:30 +02:00
Arthur Sonzogni
be8e09feea Update README.md 2021-06-13 23:04:32 +02:00
ArthurSonzogni
7ca4f9bbe3 Add informations about external packages. 2021-06-13 23:03:12 +02:00
Arthur Sonzogni
6f87740801 Compatify the Screen memory.
Instead of storing all the booleans with 5 bytes, use a bit field.
The size of a Pixel has been reduced by 25%, from 20 byte to 15 bytes.
2021-06-12 21:45:55 +02:00
Arthur Sonzogni
4d29dccb06 Update README.md
Add a note about:
https://github.com/ArthurSonzogni/FTXUI/issues/109
2021-06-10 08:45:39 +02:00
Nathan Lanza
e9eab32b2f Fix compiler output argument in homescreen 2021-06-07 10:11:32 +02:00
Nathan Lanza
a24abdae19 Include utility header in autoreset.hpp for std::move 2021-06-07 10:10:34 +02:00
ArthurSonzogni
2445dc03d3 Add "long" to slider. 2021-06-02 21:13:23 +02:00
ArthurSonzogni
462664520a Increase version to 0.6
Two new compoents:
- CatchEvent
- ResizableSplit{Left,Top,Right,Bottom}
2021-05-28 15:07:08 +02:00
ArthurSonzogni
2504a24ee0 Add documentation for ResizableSplit 2021-05-28 15:07:08 +02:00
ArthurSonzogni
bba2abbb60 Introduce ResizableSplit 2021-05-28 15:07:08 +02:00
Arthur Sonzogni
aacb677e84 Introduce CatchEvent (#104) 2021-05-23 12:53:20 +02:00
Arthur Sonzogni
ffb6dcef9a Update README.md 2021-05-23 12:52:59 +02:00
Arthur Sonzogni
392614ad25 Create codeql-analysis.yml 2021-05-23 12:51:28 +02:00
Arthur Sonzogni
87a1d75bf1 Fix unsigned/signed comparison issues. (#103)
Seen here:
https://github.com/VedantParanjape/simpPRU/runs/2613171696
2021-05-18 21:48:32 +02:00
Arthur Sonzogni
84debba10c Fix button example. (#102) 2021-05-18 17:53:58 +02:00
Arthur Sonzogni
7b88656e25 Add option to have button without border. (#101) 2021-05-18 17:49:53 +02:00
Arthur Sonzogni
ab9d6feaa5 Fix separator() (#100)
separator() should modify only the character, not the background color.
2021-05-17 01:34:53 +02:00
Arthur Sonzogni
30a85c4c5b Clear terminal on resize. (#99) 2021-05-17 00:44:37 +02:00
Arthur Sonzogni
e520ac59f9 Switch to -Wshadow (#98) 2021-05-16 22:42:22 +02:00
Arthur Sonzogni
a574a6c3ee Pass -Wshadow (#97)
Requested from:
https://github.com/robinlinden/hastur/pull/12
2021-05-16 17:18:11 +02:00
Arthur Sonzogni
cf4fdf257e Build the libraries statically. (#96)
This may resolve:
https://github.com/ArthurSonzogni/FTXUI/issues/89
2021-05-16 11:59:20 +02:00
Arthur Sonzogni
01f5d9f7bc Remove flickering. (#95)
For some reason, ResetPosition() was also clearing the content. On very
slow terminal emulator like the one on Windows, flickering was visible.

This fixes:
https://github.com/ArthurSonzogni/FTXUI/issues/86
2021-05-16 10:59:19 +02:00
Arthur Sonzogni
ca0d74ac01 Warn for deprecated. (#94) 2021-05-16 09:57:55 +02:00
Arthur Sonzogni
69047ac1e4 Add warning for sign comparison. (#93) 2021-05-16 09:38:24 +02:00
Arthur Sonzogni
7daeac25c0 Modify signature of Container::Tab(...) (#92)
Take selector at the end to get more pleasing results with clang-format.
2021-05-15 02:32:42 +02:00
Arthur Sonzogni
2723616dc8 Make StringRef borrow reference only when taking a pointer. (#91) 2021-05-15 01:34:37 +02:00
Arthur Sonzogni
900ed256ae Merge pull request #90 from ArthurSonzogni/functionnal_component
Functional component
2021-05-15 00:39:22 +02:00
ArthurSonzogni
7e4720b471 Fix typo in Doxyfile.in 2021-05-15 00:36:21 +02:00
ArthurSonzogni
8b67e722b4 Increase version. 2021-05-15 00:29:39 +02:00
ArthurSonzogni
fcc49fdce7 Format using iwyu. 2021-05-15 00:19:19 +02:00
ArthurSonzogni
048efb6912 Add {Const,}StringRef to simplify components. 2021-05-14 21:47:51 +02:00
ArthurSonzogni
9fdf235836 Improve the documentation. 2021-05-14 20:56:37 +02:00
ArthurSonzogni
58287c147a Update every component examples.
Use the functional style instead of classes.
2021-05-14 00:45:03 +02:00
ArthurSonzogni
c9aa1805eb Add the Renderer component. 2021-05-13 11:44:47 +02:00
ArthurSonzogni
6d75cb2748 Make component more functionnal 2021-05-09 22:35:34 +02:00
Arthur Sonzogni
322b628158 Reference rgb-tui 2021-05-02 15:45:52 +02:00
Arthur Sonzogni
9d15d1c275 Update README.md 2021-05-01 23:54:51 +02:00
Arthur Sonzogni
1f050e3fa5 Merge pull request #85 from ArthurSonzogni/feature/mouse-support
Add mouse support.
2021-05-01 23:52:22 +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
0af8201023 Add the slider component. 2021-04-29 00:18:58 +02:00