Commit Graph

164 Commits

Author SHA1 Message Date
nick black
b2dcc50606
notcurses_options: fold bools into flags 2020-06-07 05:08:46 -04:00
nick black
990f401427
ncvisual_set_yx() 2020-06-06 21:39:24 -04:00
nick black
b9628ca21a
sync definitions of ncvisual_from_plane() 2020-06-06 19:49:23 -04:00
nick black
2c417ddb0c
yield demo: punch up with polyfills 2020-06-06 05:11:45 -04:00
nick black
3bc9a4cfa2
v1.4.5 2020-06-05 06:09:17 -04:00
nick black
deda0ff681
mention notcurses_reader.3 in notcurses.3 2020-06-05 05:56:29 -04:00
nick black
9a0f0c66fe
ncblit: accept an ncvisual_options #680 2020-06-05 03:47:13 -04:00
Nick Black
de23139111
Open some whoopass on ncvisual rotation (#677)
Whip the ol' llama's ass (fix ncvisual rotation)

* notcurses: flush cursor change requests #673
* rotator: verify ncplane_rgba and ncblit_rgba
* ncblit: rename, accept ncblitter_e #674
* rotator: render from rgba
* rotator: get to rotation
* rotator: add a pi/4 turn at the end
* normal: reuse incoming plane for rendering #672
* rotator poc: rotate a fullplane gradient #672
* normal demo: place visual correctly
* rotator: verify ncplane_rgba and ncblit_rgba
* ncblit: rename, accept ncblitter_e #674
* rotator: render from rgba
* rotator: add a pi/4 turn at the end
* normal: reuse incoming plane for rendering #672
* rotator poc: rotate a fullplane gradient #672
* normal demo: place visual correctly
* rotator poc: throw some red into gradient
* rotator poc: done #662
* oiio: ncvisual_resize() needs set ibuf pointer #662
* normal: only need erase at top of loop
* visual poc: shorter delay
* normal demo: center rendered visual
* comment ncvisual_resize() call
* ncvisual_rotate: call ncvisual_details_seed()
* ffmpeg ncvisual: fix rotation #662
2020-06-04 22:47:38 -04:00
nick black
cb048c9796
python: update streamcb definition 2020-06-04 16:56:08 -04:00
nick black
354ece5826
v1.4.4.1 2020-06-01 16:18:56 -04:00
nick black
230f3af8e1
v1.4.4 2020-06-01 15:32:23 -04:00
nick black
3ff083b73f Fade API: move control of delays into callback 2020-06-01 04:44:02 -04:00
nick black
0331ae4c4c
introduce NCVISUAL_OPTION_BLEND #652 2020-05-29 14:53:53 -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
c08c9b7f7f
v1.4.3 2020-05-22 09:18:39 -04:00
nick black
07e894c40c
v1.4.2.4 2020-05-20 15:38:23 -04:00
nick black
37a4114f42
O(1) z-axis moves #623
Replace the singly-linked z-axis with a doubly-linked list,
and reimplement all z-axis moves as O(1) functions.
Eliminate ncplane_move_{above/below}_unsafe(), as there are no
longer unsafe moves.
2020-05-20 15:32:27 -04:00
nick black
32d3ae91c8
v1.4.2.3 2020-05-17 09:01:53 -04:00
nick black
e132c6bb24
v1.4.2.2 2020-05-17 08:11:48 -04:00
nick black
49fb03655e
v1.4.2.1 2020-05-17 07:59:04 -04:00
nick black
38e67abd9d
v1.4.2 2020-05-17 07:29:10 -04:00
nick black
d1b5a39135 ncvisual_stream(): update python streamcb typedef 2020-05-16 19:42:07 -04:00
nick black
9ce9d8f35b
python: wrapper for notcurses_canopen_videos() 2020-05-12 20:13:00 -04:00
nick black
ad22661560
python: update cffi signatures 2020-05-11 13:57:15 -04:00
nick black
8b5b44cf36
v1.4.1 2020-05-10 22:21:48 -04:00
nick black
6a22040584
v1.4.0 2020-05-10 21:36:48 -04:00
nick black
720dd7c845
python: update ncreel_options definition #590 2020-05-09 09:22:37 -04:00
nick black
fbed12cd80
ncreel_options: add flag field #590 2020-05-09 09:19:34 -04:00
nick black
66bafd59b3
subproc, fdplane, plot, selector, mselector: flag words #590 2020-05-09 09:06:06 -04:00
nick black
bfdf6ef190
python: update for ncreader/ncmenu changes #590 2020-05-09 08:46:51 -04:00
nick black
eaaa36f0c8
ncreader: ncplane as first arg #590 2020-05-09 08:41:19 -04:00
nick black
fec423264f
selector: undo switch to notcurses from ncplane 2020-05-09 07:51:23 -04:00
nick black
fcc73856cb
notcurses_init(): call setlocale unless INHIBIT_SETLOCALE #579 2020-05-09 04:46:28 -04:00
nick black
05408f918c
python: remove raw notcurses_getc() wrapper #584 2020-05-08 22:06:51 -04:00
nick black
989ca7ff9a selector->ncselector, multiselector -> ncmultiselector #580 2020-05-08 21:42:04 -04:00
nick black
f0357ef6cb ncplane_contents(): declarations #582 2020-05-08 21:42:04 -04:00
nick black
4819c0e1c3 selector/multiselect: accept notcurses 2020-05-08 21:42:04 -04:00
nick black
e2b610506f
v1.3.4 2020-05-07 01:38:35 -04:00
nick black
7337280e17
ncplane_at_yx(): const ncplane argument 2020-05-06 22:21:22 -04:00
nick black
5bdfc0183f
ncvisual_from_plane() #559 2020-05-06 21:40:24 -04:00
nick black
90dacae213
python/docs: declare ncvisual_from_plane() 2020-05-06 20:10:01 -04:00
nick black
94fcada67c
ncvisual_rotate: unify _cw/_ccw, take radians 2020-05-06 05:49:22 -04:00
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.
2020-05-06 01:02:46 -04:00
nick black
39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 2020-05-06 01:02:46 -04:00
nick black
0135a6b54d rotation: ncvisual, not ncplane #515 2020-05-06 01:02:46 -04:00
nick black
d95bbb7c61
python: add input functions 2020-05-02 12:55:09 -04:00
nick black
c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 2020-05-02 11:57:38 -04:00
nick black
b34fa9be41
python: proper ncfdplane/ncsubproc decls 2020-05-02 11:01:43 -04:00
nick black
6d0fb39458
python: add ncfdplane/ncsubproc decls 2020-05-02 03:49:43 -04:00
nick black
84107c547d
view: support -m argument for margins #551 2020-04-29 03:24:11 -04:00