Rather than checking to see if there is enough space
for the crender vec following a geometry change, stash
the previous allocation, and realloc() whenever it
changes (i.e. whenever we get a resize). This brings
the crender vec back down in size if the screen gets
smaller, and seems to eliminate the problem in #1302.
Without defining a null implementation for the
USE_MULTIMEDIA=none case, we print a warning in programs
which linked against notcurses-core about not being built
with multimedia support. This warning is both (a) inaccurate
and (b) irrelevant. We can now distinguish between "no support"
(implementation != NULL) and "linked against notcurses-core"
(implementation == NULL). Move the warning to the shim.
'dragon' looks much cooler when it has residue from the
prior demo still on the screen. 'yield' won't do, though,
as it's a graphic (which, devoid of color, looks like
nothing). move it after 'highcontrast'. move 'normal' up
after 'trans' so as never to present too much reading
to the user at once. users hate reading =[. this also
makes 'mojibake' look cooler while we're at it.
Signed-off-by: nick black <dankamongmen@gmail.com>
Rather than trying to force things in via library constructors
and weak symbols and --whole-archive and pkg-config tricks, just
add new functions ncdirect_core_init() and notcurses_core_init().
libnotcurses has ncdirect_init() and notcurses_init(), which pass
through to these. apps linking against notcurses-core ought use
the _core_ variants directly. This gets exactly the linkage we
want, everywhere. Convert many PoCs to _core_ variants. #1301
Signed-off-by: nick black <dankamongmen@gmail.com>