Commit Graph

575 Commits

Author SHA1 Message Date
nick black
56cad83a4b
widecolor-demo: improve background colors 2019-12-05 03:53:51 -05:00
nick black
64543919ef
preserve default background color during interpolation #115 2019-12-05 03:53:26 -05:00
nick black
774f8e5a23
summary: fix minima trackers 2019-12-05 02:01:49 -05:00
nick black
6e73e3b72f
widecolor-demo: friendly snake 🐍 #110 2019-12-05 01:16:02 -05:00
nick black
be6aa8a3fc
notcurses_render(): guard critical section with pthread_cancel_push() 2019-12-05 01:09:45 -05:00
nick black
7e5e6bc545
slider-demo: force more squarish appearance 2019-12-05 00:43:09 -05:00
nick black
0d0eafa8cf
add multimedia/panelreels to README #21 2019-12-05 00:34:16 -05:00
nick black
f1ab657c39
update ncpanel documentation 2019-12-05 00:28:42 -05:00
nick black
93e586c58b
update input documentation 2019-12-05 00:26:33 -05:00
nick black
ac845b28a4
handle function keys, insert, end/home, etc #78 2019-12-05 00:24:08 -05:00
nick black
af7ca02f36 Decode input escape sequences to special keys #78
Add the necessary input buffer, non-blocking reads, escape trie,
and unit tests to support extended keys, including arrow keys.
Update notcurses-input to print Unicode Control Glyphs instead of
a blank space for control chars.
2019-12-04 23:46:24 -05:00
nick black
cbbc18c3a3 build and destroy input sequence trie #78 2019-12-04 23:46:24 -05:00
nick black
37b0e416c0 get everything prepped for reliable keyboard escapes #78 2019-12-04 23:46:24 -05:00
nick black
04e067c202 Add all handled signals to ppoll() set
This addresses an issue where callers of notcurses_getc_blocking()
wouldn't exit on SIGINT etc. until another keystroke was received.
The exit is now immediate, and the proper exit code is propagated.
2019-12-04 23:46:24 -05:00
nick black
6f2c45a0ef extract input layer into its own file 2019-12-04 23:46:24 -05:00
nick black
29f55049f4 input buffer 2019-12-04 23:46:24 -05:00
Nick Black
c0a1ee0f31
Spruce up slider demo, fix up uniblock demo #66 #72 (#112)
Slider demo: paint chunks in a pattern, then shuffle them up #72
Right-to-left unit tests #66
Fix up damage to uniblock demo using cup explicit cursor move #66
2019-12-04 10:00:23 -05:00
nick black
f6b422f668
widecolor demo: bottom handle with stats 2019-12-04 05:35:21 -05:00
nick black
c5db91e247
widecolor-demo: fix up summary box 2019-12-04 05:10:48 -05:00
nick black
01a03424f9 box gradients #42 2019-12-04 04:50:26 -05:00
nick black
1bb114dbdc box unit tests: enlarge pattern #42 2019-12-04 04:50:26 -05:00
nick black
f40f8cfb15 use background in fade unit tests 2019-12-04 04:50:26 -05:00
nick black
ae711b7e75 h/vline gradient unit tests #42 2019-12-04 04:50:26 -05:00
nick black
1b714e16d8 update docs for ncplane_box() #42 2019-12-04 04:50:26 -05:00
nick black
b711eaeedd box gradient unit tests #42 2019-12-04 04:50:26 -05:00
nick black
bdc841e46e ncplane_box: support box mask ctlword #42 2019-12-04 04:50:26 -05:00
nick black
a55e02836b ncplane_box: accept ctlword (#42) 2019-12-04 04:50:26 -05:00
nick black
eb53f420b1 handle resizes gracefully when rendering/fading #105 2019-12-04 00:13:42 -05:00
nick black
c5ecc28ca1 remove resize check from demo core #105 2019-12-04 00:13:42 -05:00
Nick Black
6f9b1e0379
Locking #82 (#106)
* remove unused simple_gcluster_p()
* detail statistics
* add byte statistics on rendering
* lock around notcurses_render() #82
* lock nc in notcurses_putc() #82
* lock ncplane_styles() and friends #82
2019-12-03 23:34:08 -05:00
nick black
82c5b96f92
remove obsolete assert from panelreels #91 2019-12-03 21:56:50 -05:00
nick black
d8e3cc9675
lol, whoops, don't render twice each call :D 2019-12-03 21:39:45 -05:00
nick black
08d4765dc4
enforce utf-8 encoding via nl_langinfo check #89 2019-12-03 20:26:54 -05:00
nick black
f0e81ea814
widecolors: make everything a bit more visible on small screens 2019-12-03 19:16:05 -05:00
Nick Black
8e8cb92c54
Improved cell API #97 (#103)
* cell/ncplane: simplify box API (#97)
* widecolor: use new box api (#97)
* uniblock: use new box API #97
* intro: use new box api #97
* panelreel: use new box api
* boxdemo: use new box API #97
* sliding: use new box API #97
* maxcolor: use new box api #97
* factor out notcurses_channel_prep() #97
* maxcolor: use new channel API #97
* sliding: use new channel API #97
* intro: use new channel API #97
* new output functions with no need for a cell
* add ncplane_putegc() and ncplane_putsimple(). the former takes an EGC, the latter a simple char less than 0x80. (#97)
* cell_prime: directly load all parts of a cell with immediates
* widecolor: use new output API #97
* boxdemo: properly initialize cells
* slider: total time cap of 5 * delaydemo
* maxcolor: use new output API #97
2019-12-03 18:40:41 -05:00
nick black
e21594b4e9
ncplane_*_box_cells() -> cells_*_box() #97 2019-12-03 14:29:48 -05:00
nick black
ccbdfcd499
summarize emission/elision rates on exit 2019-12-03 14:19:46 -05:00
nick black
5554b3fccb
persist elision/emission stats, expose them in API 2019-12-03 14:08:26 -05:00
nick black
d09029f7f4
use -std=c11 not -std=gnu11 2019-12-03 13:31:04 -05:00
nick black
1ebfb2c9e3
enable -DFORTIFY_SOURCE=2 for all code 2019-12-03 13:26:49 -05:00
nick black
f83987711c
silence -Wmaybe-uninitialized through ...whitespace? :/ 2019-12-03 12:26:45 -05:00
nick black
35badf8ae7
panelreel: fix some NULL dereferences
ncurses getbegy() and friends, as it turns out, check for
a NULL input and return -1. we've been blindly passing
NULL in a few places on the ncurses side--with its own
problems--but that rapidly led to crashes here.
2019-12-03 03:21:51 -05:00
nick black
f7437d2e68
avast, scurvy dog 2019-12-02 10:39:48 -05:00
nick black
c70bc7b2a4
slider-demo: work atop a background 2019-12-02 07:20:47 -05:00
nick black
f6b70fd839
prep for 0.4.0 2019-12-02 06:02:03 -05:00
nick black
a17ed83be8
v0.3.0 2019-12-02 05:52:53 -05:00
nick black
415e238b3d transparent planes #10 2019-12-02 05:49:13 -05:00
nick black
2aadd096c0 lookin' good atl 2019-12-02 05:49:13 -05:00
nick black
738c590bfd
fix up outro 2019-12-02 05:48:46 -05:00
nick black
be5ce9051d
outro 2019-12-02 05:42:10 -05:00