Functions `channel_set()`, `channels_set_fg()`, `channels_set_bg()`
don't return an error anymore. Instead of failing when the rgb value
has any of the last 8 bits set, now it just ignores those bits.
Eliminate scan-build false positive about garbage value
in conditional by replacing a malloc+manual init with a
calloc() #624. The other error it has been reporting goes
away with -maxloop=1000, so I think we're fine now.
Also, simplify paint() by dumping the lfdimx parameter, which
is always the same thing as dstlenx (we originally wrote this
with different resizing semantics). Update callers.
New reel layout algorithm based on trimming and sifting. Fixes the original issue of #818, though I'm not marking that bug fixed until I've resolved the little issues remaining with this one.
Back off CMake version dependency, see if we can get by with 3.11.4 for EPEL8 #851
Simplify tablet drawing tremendously by separating tablet border and data planes. Callbacks no longer need worry about the borders; they can simply fill the plane they're handed. #833
Improve notcurses_debug() a bit
Add ncplane_new_named() and friends to expose plane naming to the user.
Add internal ncplane_genocide() to kill a plane and all its bound descendents
New industrial-strength ncreel unit testing
notcurses-ncreel now accepts -ln for log level n
Add ncplane_parent() and ncplane_parent_const()
- move types functions out of lib.rs into their own modules
- add modules types, and for cell & plane functions
- change error handling for consistency with the underlying lib
- reformat the code
In principle it would be better to write the comments intented
for documentation as `///` (or `/** */` for multi-line), but
this way it works mostly, without having to change them all.
There are two comments that are not valid Rust doc-comments,
and arerendered badly: The are the ones in:
`ncmultiselector_options` and `ncselector_item`.