Commit Graph

2093 Commits

Author SHA1 Message Date
nick black
2abe8ca5a8 lerp: toss one into the prediv 2020-06-02 18:33:04 -04:00
nick black
efa51e9cf2 quadrant blitter #648
Novel blitter using Unicode quadrant glyphs. 2:1 cell aspect ratio, but
double the horizonal resolution of the half block blitter.
2020-06-02 18:33:04 -04:00
nick black
e462ea2bef
ncvisual_rotate: check result of ncvisual_resize() 2020-06-01 23:53:35 -04:00
nick black
15bd5cfd56
notcurses-view: properly handle resize
Since notcurses-view is now rendering to the standard plane, and
ncvisual is no longer bound to a plane, there's no need to call
ncplane_resize() (and doing so fails, since you can't resize the
standard plane). Remove the call, leave the check. Fixes resizing.
2020-06-01 22:34:12 -04:00
nick black
3a4dc02d0f
freebsd release notes 2020-06-01 17:26:56 -04:00
nick black
6cadea3138
outro: keep riser on top 2020-06-01 17:00:50 -04:00
nick black
354ece5826
v1.4.4.1 2020-06-01 16:18:56 -04:00
nick black
23001ab792
geomdata -> notcurses_blitters if it must be public 2020-06-01 16:18:06 -04:00
nick black
c8e7ad641c
not to self regarding pbuilder 2020-06-01 16:07:00 -04:00
nick black
230f3af8e1
v1.4.4 2020-06-01 15:32:23 -04:00
nick black
2d0ca67fc5
scan-build fix -- assign r on all paths (ncvisual_stream) 2020-06-01 15:22:46 -04:00
nick black
cc46571a43
Restore raise(SIGKILL) to execv error paths #636 2020-06-01 11:53:26 -04:00
nick black
aef66efb4e
ncvisual_stream: honor first ncvisual_decode() 2020-06-01 10:34:03 -04:00
nick black
4fb012a12d
ncreel_destroy(): use ncreel_del() directly #664 2020-06-01 10:03:04 -04:00
nick black
38c0509d86
notcurses_init: properly initialize rstate cursor
When we first begin operations, we need emit a cursor homing, which
we were not doing for the first line. As a result, the first row
didn't show up until you rendered something else, and even then
didn't show up unless you changed it (as it was otherwise undamaged).
This explains a lot of mystery behavior in notcurses-demo that I've
long told myself I'd hallucinated or imagined. Hurrah! but also
supershittytothemax! Thanks Marek Habersack for pointing out something
which led to an experiment which led to chasing this down once and
forever. Closes #619, w00t!
2020-06-01 09:42:22 -04:00
nick black
002f65fb54
init_lang(): properly invoke setlocale() for LANG 2020-06-01 09:16:05 -04:00
nick black
e3c14ed569
plot: color labels correctly 2020-06-01 09:00:46 -04:00
nick black
0cda775900
metric: use FE_TONEAREST instead of TOWARDZERO #615 2020-06-01 08:25:59 -04:00
nick black
343b4d144e
demo: purge use_oiio/use_nomm 2020-06-01 06:21:38 -04:00
nick black
ec1af2d090 oiio: fix image rendering 2020-06-01 04:44:02 -04:00
nick black
4f5c8ef3d7 eagle/outro support for non-multimedia builds 2020-06-01 04:44:02 -04:00
nick black
2d3fef115e ncfadectx_setup(): remove timespec param #659 2020-06-01 04:44:02 -04:00
nick black
fd2bb53f83 fade: more unit tests, verify abort on callback #659 2020-06-01 04:44:02 -04:00
nick black
3deeecdf2e fade: finish out proposed API, basic unit tests #659 2020-06-01 04:44:02 -04:00
nick black
74e8e9c3d9 fade: move more reproduced code into common area #659 2020-06-01 04:44:02 -04:00
nick black
0766dd08e7 fade: factor out duplicated maxsteps determination #659 2020-06-01 04:44:02 -04:00
nick black
3ff083b73f Fade API: move control of delays into callback 2020-06-01 04:44:02 -04:00
nick black
be35dee206 reuse and destroy new plane in OIIO streamer #660 2020-06-01 04:44:02 -04:00
nick black
607353d96c reuse and destroy newly-created plane in ncvisual_stream() #660 2020-06-01 04:44:02 -04:00
nick black
a617598f13 notcurses_drop_planes(): fix up links #661 2020-06-01 00:33:24 -04:00
nick black
e879bf8f93
let outro demo run on no-multimedia builds 2020-05-31 23:15:43 -04:00
nick black
8709387590 Implement CELL_ALPHA_BLEND for all blitters #652 2020-05-31 21:56:09 -04:00
nick black
8793fcd876 c++ Visual: add from_plane constructor, test #654 2020-05-31 21:56:09 -04:00
nick black
6a9bbad91e
Visual C++ constructor test #538 2020-05-29 19:59:46 -04:00
nick black
0331ae4c4c
introduce NCVISUAL_OPTION_BLEND #652 2020-05-29 14:53:53 -04:00
nick black
acd956393b
subproc: remove debugging cruft 2020-05-29 09:03:20 -04:00
nick black
33318254b2
absorb first ncvisual_decode into ncvisual_from_file() #655 2020-05-29 08:39:11 -04:00
nick black
10b134b596
outro: render the first frame of samoa along with changes #652 2020-05-29 08:15:47 -04:00
nick black
8da22e4425
zaxis: reset links in the direction of travel 2020-05-29 08:14:36 -04:00
nick black
89ffb6658e
CMake: improvements to testing usability
Replace USE_TESTS with BUILD_TESTING variable already exported by CTest.
Use the CMake 3.17 CMAKE_CTEST_ARGUMENTS to pass "-V" to ctest. #651
2020-05-29 02:47:29 -04:00
nick black
0766007a77
tester: kill off inhibit_alternate_screen #651 2020-05-29 02:30:57 -04:00
nick black
e88bc5c04b
Metric tests: observe local customs #650 2020-05-29 02:24:41 -04:00
nick black
899adf873d
ncvisual.3: update man page 2020-05-29 01:47:53 -04:00
nick black
f47bde1c4e
Graceful fallback among blitters #637
If we're in ASCII mode, no blitter except for NCBLIT_1x1 is going to
work. Whenever NCBLIT_DEFAULT is provided, select NCBLIT_1x1 if we're
in ASCII mode. Add NCVISUAL_OPTIONS_MAYDEGRADE and
NCPLOT_OPTIONS_MAYDEGRADE. Both serve to allow smooth degradation when a
blitter other than NCBLIT_DEFAULT has been provided. Closes #637.

Make calc_gradient_cell() static inline so our templated ncppplot
implementation can use it (ugh). When using NCBLIT_1x1 for plots in
ASCII mode, use space rather than full block, and invert colors.

Use NCBLIT_DEFAULT in the demo for the FPS plot.
2020-05-29 01:24:34 -04:00
nick black
33c0e7fa2c
banner: reset stderr after printing any warnings 2020-05-28 23:30:43 -04:00
nick black
cce55f1d4e
ncplot: fix top row calculations #642 2020-05-28 23:23:05 -04:00
Nick Black
ebcba82d4b
Fully general ncvisual layer (#647)
This represents an essentially complete rewrite of ncvisual and associated code. It had two major goals:

Improve the ncvisual API based off lessons learned, pursuant to the upcoming API freeze. In particular, I wanted to:

decouple ncvisuals from ncplanes. It should be possible to render a ncvisual to multiple planes, with different scaling each time. It should be possible to create an ncvisual without a plane, etc.
normalize the various ways of constructing an ncvisual -- file, memory, plane, etc.
Support multiple blitters, from 7-bit ASCII to Sixel. This required writing the blitters in several cases, and they're not yet in their final implementations (but the API is fine)
I have not yet unified Plots and Visuals, and might not, given that the Plot code works fine. We could at this point implement Plots in terms of Visuals, though -- the blitter backend range has been unified. Sixel is not yet implemented, though it is listed.

There is a new POC tool, blitter. It renders its arguments using all possible blitter+scaling combinations. Another new POC, resize, displays its argument, then resizes it to the screen size and displays that, explicitly making use of ncvisual_resize() rather than a scaling parameter to ncvisual_render().

This also eliminates some memory leaks and bugs we were seeing in trunk, and brings in Sixel scaffolding.

The C++ wrapper will also need patching back up; I cut most of it down while wrestling with this crap, urk.

Closes #638, #562, and #622.
2020-05-28 21:16:58 -04:00
Nick Black
478ebadd64 Revert "Change DSO versioning scheme"
This reverts commit 51205551f5.
2020-05-28 17:31:22 -04:00
Marek Habersack
51205551f5 Change DSO versioning scheme
This commit introduces the same shared library versioning scheme as used
by the SDL library.  The advantage is that different versions of
notcurses can be installed alongside each other (which is not an
unlikely scenario, as SDL itself certifies) and that, if the versioning
protocol is followed, any change to ABI will produce a DSO whose name
will not break any applications linked against any previous version.
2020-05-28 15:15:53 -04:00
nick black
b80ac3d241
demo: move HUD/about to top of screen 2020-05-26 05:27:25 -04:00