Commit Graph

316 Commits (ac845b28a4d2c4e0086aa62d45bed2205aa13d9e)
 

Author SHA1 Message Date
nick black ac845b28a4
handle function keys, insert, end/home, etc #78 5 years ago
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.
5 years ago
nick black cbbc18c3a3 build and destroy input sequence trie #78 5 years ago
nick black 37b0e416c0 get everything prepped for reliable keyboard escapes #78 5 years ago
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.
5 years ago
nick black 6f2c45a0ef extract input layer into its own file 5 years ago
nick black 29f55049f4 input buffer 5 years ago
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
5 years ago
nick black f6b422f668
widecolor demo: bottom handle with stats 5 years ago
nick black c5db91e247
widecolor-demo: fix up summary box 5 years ago
nick black 01a03424f9 box gradients #42 5 years ago
nick black 1bb114dbdc box unit tests: enlarge pattern #42 5 years ago
nick black f40f8cfb15 use background in fade unit tests 5 years ago
nick black ae711b7e75 h/vline gradient unit tests #42 5 years ago
nick black 1b714e16d8 update docs for ncplane_box() #42 5 years ago
nick black b711eaeedd box gradient unit tests #42 5 years ago
nick black bdc841e46e ncplane_box: support box mask ctlword #42 5 years ago
nick black a55e02836b ncplane_box: accept ctlword (#42) 5 years ago
nick black eb53f420b1 handle resizes gracefully when rendering/fading #105 5 years ago
nick black c5ecc28ca1 remove resize check from demo core #105 5 years ago
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
5 years ago
nick black 82c5b96f92
remove obsolete assert from panelreels #91 5 years ago
nick black d8e3cc9675
lol, whoops, don't render twice each call :D 5 years ago
nick black 08d4765dc4
enforce utf-8 encoding via nl_langinfo check #89 5 years ago
nick black f0e81ea814
widecolors: make everything a bit more visible on small screens 5 years ago
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
5 years ago
nick black e21594b4e9
ncplane_*_box_cells() -> cells_*_box() #97 5 years ago
nick black ccbdfcd499
summarize emission/elision rates on exit 5 years ago
nick black 5554b3fccb
persist elision/emission stats, expose them in API 5 years ago
nick black d09029f7f4
use -std=c11 not -std=gnu11 5 years ago
nick black 1ebfb2c9e3
enable -DFORTIFY_SOURCE=2 for all code 5 years ago
nick black f83987711c
silence -Wmaybe-uninitialized through ...whitespace? :/ 5 years ago
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.
5 years ago
nick black f7437d2e68
avast, scurvy dog 5 years ago
nick black c70bc7b2a4
slider-demo: work atop a background 5 years ago
nick black f6b70fd839
prep for 0.4.0 5 years ago
nick black a17ed83be8
v0.3.0 5 years ago
nick black 415e238b3d transparent planes #10 5 years ago
nick black 2aadd096c0 lookin' good atl 5 years ago
nick black 738c590bfd
fix up outro 5 years ago
nick black be5ce9051d
outro 5 years ago
nick black 957af8151e view-demo: add video element 5 years ago
nick black 94e52d4acc respect default mode in fadein #40 5 years ago
nick black 0e4080456c fade unit tests #40 5 years ago
nick black 966239747c add ncplane_fadein() #40 5 years ago
nick black 02b30c822e fix cel_rgb_get[bf]b() #40 5 years ago
nick black 4426ef0574 first go at ncplane_fadeout() #40 5 years ago
nick black 055f49b5fd sliding-demo: animate moves #72 5 years ago
nick black 570b42b78b sliders-demo: factor out move_square() #72 5 years ago
Nick Black 9f4fa94209
Use halfblocks to double vertical resolution of media (#98)
halfblocks vertical, w00t #88
5 years ago