Commit Graph

154 Commits (125ab361e6213367d111c80ed0e8d9fdbaabb1c2)

Author SHA1 Message Date
nick black fa76f5a432
v1.6.11 4 years ago
nick black 8cfd1677c4
v1.6.10 4 years ago
nick black d126c71dd6
v1.6.9 4 years ago
nick black f8c16ceb79
v1.6.8 4 years ago
nick black 4f8673b0e9
v1.6.7 4 years ago
nick black 28be87a849
ncblitter_e: improve documentation 4 years ago
nick black 17f1323c20
v1.6.6 4 years ago
nick black 104bbfef50
add notcurses_lex_blitter() 4 years ago
nick black 308b49da5a
v1.6.5 4 years ago
nick black b2e924319b
v1.6.4 4 years ago
nick black 37ceb753bf
notcurses-view: print blitter name #805 4 years ago
nick black a4ee5bd9c7
v1.6.3 4 years ago
nick black 3f544a4ed1
v1.6.2 4 years ago
nick black 1cc0371373
v1.6.1 4 years ago
nick black 284dfc4fad
v1.6.0 4 years ago
nick black 6ab11e679f
v1.5.3 4 years ago
nick black 64d42212a3
v1.5.2 4 years ago
nick black 0657267274
v1.5.1 4 years ago
nick black af46077775
ncvisual_geom: take degradation into account #697
In order to properly determine the scaling of an ncvisual to
be rendered, ncvisual_geom() needs know the blitting method.
For this reason, it took an ncblitter_e argument. It also,
however, needs handle degradation, which means knowing whether
NCVISUAL_OPTIONS_NODEGRADE is in use. It thus really wants the
struct ncvisual_options. Pass and accept it. Closes #697, and
fixes the "yield" demo in ASCII mode (#696).
4 years ago
nick black 7fc38d8fdd
v1.5.0 4 years ago
nick black d863220e23
add pixels PoC 4 years ago
nick black b9628ca21a
sync definitions of ncvisual_from_plane() 4 years ago
nick black 2c417ddb0c
yield demo: punch up with polyfills 4 years ago
nick black b172d2b97e
NCVISUAL_OPTION_MAYDEGRADE -> NCVISUAL_OPTION_NODEGRADE, doc 'em 4 years ago
nick black 3bc9a4cfa2
v1.4.5 4 years ago
nick black c0f820db94
notcurses-view: select blitter with numbers #671 4 years ago
nick black 2b31d6ce4d
ncvisual/ncreel: update some documentation 4 years ago
nick black 354ece5826
v1.4.4.1 4 years ago
nick black 230f3af8e1
v1.4.4 4 years ago
nick black 0331ae4c4c
introduce NCVISUAL_OPTION_BLEND #652 4 years ago
nick black 33318254b2
absorb first ncvisual_decode into ncvisual_from_file() #655 4 years ago
nick black 899adf873d
ncvisual.3: update man page 4 years ago
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.
4 years ago
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.
4 years ago
nick black c08c9b7f7f
v1.4.3 4 years ago
nick black 07e894c40c
v1.4.2.4 4 years ago
nick black 32d3ae91c8
v1.4.2.3 4 years ago
nick black e132c6bb24
v1.4.2.2 4 years ago
nick black 49fb03655e
v1.4.2.1 4 years ago
nick black 38e67abd9d
v1.4.2 4 years ago
nick black 8b5b44cf36
v1.4.1 4 years ago
nick black 6a22040584
v1.4.0 4 years ago
nick black 16376f872c fix notcurses_ncplane(3) -> notcurses_plane(3) 4 years ago
nick black e2b610506f
v1.3.4 4 years ago
nick black 90dacae213
python/docs: declare ncvisual_from_plane() 4 years ago
nick black 94fcada67c
ncvisual_rotate: unify _cw/_ccw, take radians 4 years ago
nick black f63325db60 Lots of ncvisual work
Unify ffmpeg/oiio/null implementations, where possible. This effectively
required placing all three in the same file, which meant they're all now
C++. Update FFmpeg implemenation to be C++-usable. Implement
ncvisual_rotate_cw() and ncvisual_rotate_ccw() #515. Move most of tetris
over to Visual from Plane #558. Add bgra_to_rgba(), necessary for
creating ncvisual from BGRA memory. Implement ncvisual_from_rgba()
and ncvisual_from_bgra() #557. Add unit tests on ncvisual rotation.
4 years ago
nick black 39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 4 years ago
nick black 2ec3a8a5ca visual.3: add ncvisual_subtitle() to man page 4 years ago
nick black 0135a6b54d rotation: ncvisual, not ncplane #515 4 years ago
nick black 05753bd91a
v1.3.3 4 years ago
Nick Black 9a075ae5d0
Support image decoding with OpenImageIO #453 (#534)
* fedora: dep on OpenImageIO, and use it
* fedora: dep on libqrcodegen-devel
* fedora: BuildRequires OpenEXR-devel
* tight check on USE_MULTIMEDIA
* CMake: enable notcurses-view for ffmpeg OR oiio
* notcurses-view: don't reach into libav
* oiio: ncvisual_render() #453
* oiio: need our own properly-offset ncvisual_plane()
* `visual` poc: accept optional command line argument
* oiio: work for 3-channel images #453
* oiio: destroy ncvisual's plane if we own it #453
* notcurses_visual.3: s/FFmpeg/multimedia/g
4 years ago
nick black 86a95eb4ea man: update ncvisual_decode() 4 years ago
nick black 69ef83a777 man pages: update ncvisual_decode 4 years ago