nick black
a34714ca68
implement sixel_reblit() #1440
2021-04-29 07:47:42 -04:00
nick black
fe719a6c39
[sixel] attach the sixelmap to the sprixel post-load
2021-04-29 07:47:42 -04:00
nick black
322ee8309d
ncplayer: use a different plane for each file
2021-04-29 07:47:42 -04:00
nick black
9c472a5d5e
free auxvectors at ncplane free time, not sixel hide time #1440
2021-04-29 07:47:42 -04:00
nick black
6ad7fcc7a9
factor out write_sixel_payload for rematerialization #1440
2021-04-29 07:47:42 -04:00
nick black
5799c92415
Third Idea: raw sixel-based sixelmap #1440
2021-04-29 07:47:42 -04:00
nick black
262550c5ea
[sixel] create sixelmap for rematerialization #1440
2021-04-29 07:47:42 -04:00
nick black
eb5c9185e5
pixel: shrink BYOP to match sprixel ("crop to content")
2021-04-29 07:47:42 -04:00
nick black
03bc0163ac
player: expand on misleading diagnostic
2021-04-29 07:47:42 -04:00
nick black
8cef88b251
properly bound paint_sprixel on sprixel geom #1598
2021-04-29 07:47:42 -04:00
nick black
dd4eb3e5c2
write_sixel_data: allow direct reprodution of palette #1440
2021-04-29 07:47:42 -04:00
nick black
624d6a1390
sixel: start in on sixel_update() to unify wipe+rebuild #1440
2021-04-29 07:47:42 -04:00
nick black
1442e8abd4
move rebuild's free() of auxvec into callback
2021-04-29 07:47:42 -04:00
nick black
37d64d96ec
kill off sprixel_kitty_p(), hurrah
2021-04-29 07:47:42 -04:00
nick black
9c03fdcfb5
sprite_wipe: check for ANNIHILATED_TRANS and return 0
2021-04-29 07:47:42 -04:00
nick black
e05ea90760
introduce ANNIHILATED_TRANS, special-case O(1) conversion from TRANSPARENT #1587
2021-04-29 07:47:42 -04:00
nick black
3eb004b61d
s/channels/ncchannels/g #1570
2021-04-29 01:32:08 -04:00
nick black
decb36a9fd
let that big bitch riiiiiiiiiiiiiiide
2021-04-28 00:11:42 -04:00
nick black
d8cc3569ac
Block some signals while writing
...
Writing a partial escape can easily lock up a terminal. This
is especially relevant when working with bitmaps, as they're
thousands or even millions of times longer than a typical
escape. Immediately before writing, block SIGINT, SIGQUIT, and
SIGTERM in the writing thread, and unblock them upon emerging
(at which point we'll immediately see any queued signal
get delivered). Don't block signals like SIGSEGV that would
seem indicative of actual problems. For this to actually work,
all other threads must also have the signals masked; we thus
now add them to the signal mask of notcurses_getc(), rather
than deleting them. Closes #1416 .
2021-04-27 16:53:44 -04:00
nick black
e43a9955cd
channel_* functions -> ncchannel_* #1570
2021-04-27 14:10:41 -04:00
nick black
25afcbe49d
cherry-pick auxvector release fix #1598
2021-04-26 11:45:21 -04:00
nick black
921311999d
blitter PoC: don't render to standard plane #1595
2021-04-26 11:40:11 -04:00
nick black
7bb23a994b
update cell unit tests for freebsd 13
2021-04-26 07:37:03 -03:00
nick black
b3b47cd81f
don't mix c and c++-style initializers
2021-04-26 07:36:52 -03:00
nick black
e84b6a4378
yield: speed up bitmap solution #1596
2021-04-26 03:50:35 -04:00
nick black
a7ca2be9e6
kitty: special-case O(1) rebuild for SPRIXCELL_TRANSPARENT #1440
2021-04-26 02:43:48 -04:00
nick black
d435d6e083
kitty: set MIXED when appropriate on rebuild #1440
2021-04-26 02:43:48 -04:00
nick black
1d9ae4082f
kitty: fix b64idx(), fixing rebuilding #1440
2021-04-26 02:43:48 -04:00
nick black
20aeccfbb6
kitty_restore: properly restore A in triplet #1440
2021-04-26 02:43:48 -04:00
nick black
f0910ab398
[kitty] first go at kitty_rebuild() #1440
2021-04-26 02:43:48 -04:00
nick black
5eafafa652
kitty: build out auxvec in wipe #1440
2021-04-26 02:43:48 -04:00
nick black
41c5df3336
kitty: set up auxiliary vector #1440
2021-04-26 02:43:48 -04:00
nick black
a19b945ec6
kitty_null: only null out alphas, not RGB #1440
2021-04-26 02:43:48 -04:00
nick black
b075ecd383
add kitty_restore()
2021-04-26 02:43:48 -04:00
nick black
49e94830d2
superstructure for kitty anastasis
2021-04-26 02:43:48 -04:00
nick black
dd85c7042b
add auxiliary vector to TAM #1440
2021-04-26 02:43:48 -04:00
nick black
3e0783593d
add sprixel_rebuild interface, kitty + sixel skeletons #1440
2021-04-26 02:43:48 -04:00
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
bd6a7918f2
kill freebsd ignored-attributes warning
2021-04-25 16:38:57 -03: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