Commit Graph

3094 Commits

Author SHA1 Message Date
nick black
7c69a17752 identify annihilation recovery #1440 2021-04-26 02:43:48 -04:00
nick black
ba64d36543 don't warn on bsd about unused sprixel_debug() 2021-04-25 17:11:19 -03:00
Nick Black
da6b8281d5 [OIIO] seed details, synthesize RGB spec #1593 2021-04-25 16:10:11 -04:00
Nick Black
6f07ecb556 bitmap unit tests: use SCALE to work ona ll geoms 2021-04-25 16:10:11 -04:00
nick black
725ca9a040
textplay: make the textplane transparent by default #1425 2021-04-25 05:18:17 -04:00
nick black
e9ef4d50f4 break up opaque/mixed into sixel and kitty states 2021-04-25 04:57:27 -04:00
nick black
8eafcaee5b textplay: add video border 2021-04-25 04:57:27 -04:00
nick black
2978a5194d textplay: better colorization 2021-04-25 04:57:27 -04:00
nick black
2695addd5f textplay: colorize 2021-04-25 04:57:27 -04:00
nick black
0d81fb25c7 textplay: read stdin, play to plane with ncplane_puttext() 2021-04-25 04:57:27 -04:00
Nick Black
2c5d938cbd
Paint sprixels bottom-to-top (#1589)
* Paint sprixels in order, bottom-to-top

We don't want to have to track sprixel order whenever someone
moves an ncplane, so just keep a list growing backwards as we
pass top-to-bottom in notcurses_render_internal(). Each time
we hit a sprixel plane, splice it out of the sprixel list, and
add it to the front of our temporary list. When we hit the
bottom, stick this temporary list on the end of our existing
list (any such planes are to be deleted, which comes before
drawing). Closes #1575.

* reorder collected sprixellist; solves kitty but breaks sixel =/ #1575

* remove debugging cruft

* [rust] fix up mergedown mutability
2021-04-24 13:08:09 -04:00
nick black
0c2749707c
sprixel stacking unit test #1575 2021-04-24 10:10:20 -04:00
nick black
787b180fa9
ncvisual_blitset_geom: deliver on y/x contract #1588 2021-04-24 09:35:40 -04:00
nick black
da2db080c9
[yield] work for all blitters/geometries #1588 2021-04-24 09:33:54 -04:00
nick black
375a51b55b
keller: check ncvisual_blitter_geom() return value #1588 2021-04-24 09:02:58 -04:00
nick black
1a16d34b5c
view: move pic-in-pic to row 1 from top #1577 2021-04-24 07:38:44 -04:00
nick black
5fd6177c17
ncplane_resize_internal(): no work necessary when old pos+size are the same #1588 2021-04-24 06:59:17 -04:00
nick black
96981c8e75
extract paint_sprixel() as single loop #1587 2021-04-24 06:36:06 -04:00
nick black
d8e94429c2
rename sixel/kitty_delete -> destroy to match sprixel_destroy() 2021-04-24 06:17:03 -04:00
nick black
e29701cac3
notcurses-tester: accept -l to enable all logging 2021-04-24 05:18:04 -04:00
nick black
dc87bd7c79
ncvisual_blitset_geom: no pixel size checks for scale/stretch #1572 2021-04-24 05:16:18 -04:00
nick black
311fbfa8e8
ncblit_pixel plane size checks: scale geom #1572 2021-04-24 04:55:04 -04:00
nick black
95072d0f5c
No glyph emission on sprixelated planes
Guard against attempts to output glyphs to a sprixelated
plane in ncplane_putc_yx(), the lowest-level common end
of all ncplane_put*() functions. Add unit test #1572.
2021-04-24 04:47:05 -04:00
nick black
5a72383cb0
reject sprixels larger than plane, add unit test #1572 2021-04-24 04:41:23 -04:00
nick black
dc347c99d7
no resizing of sprixelated planes #1572 2021-04-24 03:26:53 -04:00
nick black
a926fe70f8
intro: render the orce only after our first frame 2021-04-24 03:23:47 -04:00
nick black
d3877cbe44
NCBLIT_PIXEL restrictions for planes
Go ahead and allow the standard plane to be used with
NCBLIT_PIXEL, but enforce placement at the origin with
any provided plane. Implement this in ncvisual_blitter_geom()
so that it applies everywhere #1572.
2021-04-24 03:22:23 -04:00
nick black
ea809345e3
kill tacachey/tacachex in ncplane #1572 2021-04-24 03:10:12 -04:00
Nick Black
ba6088578d
Sixel unit tests #1580 (#1586)
Two unit tests on Sixel round trips, one with wipes #1580.
2021-04-24 01:51:26 -04:00
nick black
4cceb01acf
fix inputs to sws_getCachedContext for ffmpeg #1559 2021-04-23 19:41:55 -04:00
nick black
b58919f145
[sixel] correct deepclean #1580 2021-04-23 14:57:45 -04:00
nick black
b54ab84b5b yield: properly size legend plane for final 100% 2021-04-22 23:58:48 -04:00
nick black
6dcb3229e4
unit test for sixel deepclean #1580 2021-04-22 19:54:24 -04:00
Nick Black
c8680255be
palette256 -> ncpalette #1570 (#1573)
everything prefixed with palette256 is now prefixed with ncpalette
2021-04-22 04:11:06 -04:00
nick black
5e6862f34c
per-ncpile sprixel list #1462 2021-04-22 03:26:15 -04:00
nick black
d1a01e8fe8
bitmaps: never allow the last row to be used #1571 2021-04-22 01:18:33 -04:00
nick black
41d129c1d2
[view] name all planes for debug 2021-04-22 00:41:18 -04:00
nick black
c7d284a9af
demo: make debug plane 81 wide, with transparent last column 2021-04-22 00:38:05 -04:00
nick black
f4aa419a31
add notcurses_canhalfblock()/notcurses_canquadrant() #1575 2021-04-22 00:10:55 -04:00
nick black
9b38fe515c
ncdirect_stream: need to call new pixel_remove #1537 2021-04-21 20:31:33 -04:00
nick black
f665828712
sixel: deepclean on any draw
Whether a draw is due to a move or a simple invalidation,
we need to go ahead and apply any outstanding deepclean to
the sixel beforehand. This eliminates the last bit of
flicker in the intro demo, at the orca's first location.
Also, never emit a '-$' sequence when deepcleaning a sixel.
Closes #1574. Closes #1568.
2021-04-21 19:25:49 -04:00
nick black
1b7ea2037a
kitty_delete: always damage if s->n link is broken on hide #1562 2021-04-21 18:47:50 -04:00
nick black
0cddfdde7b
sprixel_debug: print plane location 2021-04-21 17:22:48 -04:00
nick black
d8004ef508
kitty: return -1 on failed fprintf in kitty_delete 2021-04-21 17:22:48 -04:00
nick black
4d0ea5e6b5
notcurses_debug: emit no more than 79 columns per line 2021-04-21 17:22:48 -04:00
nick black
31ee680ea8
demo: destroy debug window at end #1569 2021-04-21 17:22:47 -04:00
nick black
ee6c3579db
stats: catch sprixel emission in rasterize_sprixels() #1566 2021-04-21 12:01:16 -04:00
nick black
ac72c982d7
stats: count up sprixel elisions/emissions #1566 2021-04-21 11:51:46 -04:00
nick black
6c7b40debf
add stats for sprixel emissions/elisions #1563 2021-04-21 11:43:10 -04:00
nick black
71c7432e46
[intro] manually resize greatscott to always hit cell boundary 2021-04-20 06:11:12 -04:00