Don't bias the nccell width by 1, or 0-length EGCs become
255 columns. We weren't actually using the width to drive
much anything until now, so this wasn't a problem, but it
is exposed as an error once we got rid of CELL_WIDE_ASIAN
and start looping through the actual egc column width.
Closes#1278, closes#1277
postpaint_cell sometimes needs to skip over the following
cells, due to a multicolumn EGC. postpaint() was only
passing x as a value parameter, though, and thus any
changes made weren't escaping out to postpaint(). replace
it with a value-result parameter. might fix#1276.
* Use NCBLIT_DEFAULT rather than explicit 2x2, so that we use
NCBLIT_3x2 on terminals which support it.
* Use NCSCALE_SCALE_HIRES rather than NCSCALE_SCALE.
* Support LOGO in /etc/os-release, with or without quotes.
Closes#1246.
- raw field of new wrapping structs is now public just to the crate.
- NcNotcurses.stdplane method now doesn't return an NcResult since it can't fail.
- rename NcNotcurses to Notcurses and NcNotcursesOptions to NotcursesOptions.
- rename NcPlane::new_termsize constructor to with_termsize.
- bump MSV to 1.48 for the doc links.
- improve lib documentation.
- minor fixes.
Create new wrapping types that can safely encapsulate the mutable references,
and implement Drop and automatic (de)referencing.
- Notcurses
- rename Notcurses* to NcNotcurses*.
- rename NotcursesOptions to NcNotcursesOptions.
- new Notcurses struct.
- implement Drop, AsRef, AsMut, Deref & DerefMut.
- override stop method to be no-op.
- reimplement constructors and associated methods.
- remove without_altscreen_with_banners constructor.
- update examples and tests.
- rustfmt.
Improve the documentation for ncplane_set_base_cell() and
ncplane_set_base(). Go by render.c's authority (all three
channels are independently checked for transparency, and
replaced with the base cell if so--egc, fg, and bg). Add a
BASE CELL section to notcurses_plane.3. Check for, and reject,
an nccell which is secondary among a multicolumn EGC.
Closes#1238.
- add more string messages to error! macro invocations for NcPlane & NcCell methods.
- refactor NcPlane.base() to return the NcCell.
- fix cell_prime & NcCell.prime to accept gcluster as &str, as well as cells_load_box.
- fix several return types (u32 instead of NcDimension for counting).
- add NcMenuSection::new_separator() constructor.
- rename constructor method for an empty NcInput to new();
- fix notcurses_getc_blocking() function name and error logic.
- improve comments.
- change type of NCMENU_OPTION_* to u64 (like in C API)
- fix error_str![] macro.
- improve error messages.