Commit Graph

5041 Commits (5799c92415f9fc0f19136aeb8c67c4933991ffb5)
 

Author SHA1 Message Date
nick black 5799c92415 Third Idea: raw sixel-based sixelmap #1440 3 years ago
nick black 262550c5ea [sixel] create sixelmap for rematerialization #1440 3 years ago
nick black eb5c9185e5 pixel: shrink BYOP to match sprixel ("crop to content") 3 years ago
nick black 03bc0163ac player: expand on misleading diagnostic 3 years ago
nick black 8cef88b251 properly bound paint_sprixel on sprixel geom #1598 3 years ago
nick black dd4eb3e5c2 write_sixel_data: allow direct reprodution of palette #1440 3 years ago
nick black 624d6a1390 sixel: start in on sixel_update() to unify wipe+rebuild #1440 3 years ago
nick black 1442e8abd4 move rebuild's free() of auxvec into callback 3 years ago
nick black 37d64d96ec kill off sprixel_kitty_p(), hurrah 3 years ago
nick black 9c03fdcfb5 sprite_wipe: check for ANNIHILATED_TRANS and return 0 3 years ago
nick black e05ea90760 introduce ANNIHILATED_TRANS, special-case O(1) conversion from TRANSPARENT #1587 3 years ago
nick black 3eb004b61d s/channels/ncchannels/g #1570 3 years ago
nick black decb36a9fd
let that big bitch riiiiiiiiiiiiiiide 3 years ago
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.
3 years ago
nick black e43a9955cd
channel_* functions -> ncchannel_* #1570 3 years ago
nick black 25afcbe49d
cherry-pick auxvector release fix #1598 3 years ago
nick black 921311999d
blitter PoC: don't render to standard plane #1595 3 years ago
nick black 7bb23a994b update cell unit tests for freebsd 13 3 years ago
nick black b3b47cd81f don't mix c and c++-style initializers 3 years ago
nick black e84b6a4378
yield: speed up bitmap solution #1596 3 years ago
nick black a7ca2be9e6 kitty: special-case O(1) rebuild for SPRIXCELL_TRANSPARENT #1440 3 years ago
nick black d435d6e083 kitty: set MIXED when appropriate on rebuild #1440 3 years ago
nick black 1d9ae4082f kitty: fix b64idx(), fixing rebuilding #1440 3 years ago
nick black 20aeccfbb6 kitty_restore: properly restore A in triplet #1440 3 years ago
nick black f0910ab398 [kitty] first go at kitty_rebuild() #1440 3 years ago
nick black 5eafafa652 kitty: build out auxvec in wipe #1440 3 years ago
nick black 41c5df3336 kitty: set up auxiliary vector #1440 3 years ago
nick black a19b945ec6 kitty_null: only null out alphas, not RGB #1440 3 years ago
nick black b075ecd383 add kitty_restore() 3 years ago
nick black 49e94830d2 superstructure for kitty anastasis 3 years ago
nick black dd85c7042b add auxiliary vector to TAM #1440 3 years ago
nick black 3e0783593d add sprixel_rebuild interface, kitty + sixel skeletons #1440 3 years ago
nick black 7c69a17752 identify annihilation recovery #1440 3 years ago
nick black ba64d36543 don't warn on bsd about unused sprixel_debug() 3 years ago
Nick Black da6b8281d5 [OIIO] seed details, synthesize RGB spec #1593 3 years ago
Nick Black 6f07ecb556 bitmap unit tests: use SCALE to work ona ll geoms 3 years ago
nick black bd6a7918f2 kill freebsd ignored-attributes warning 3 years ago
nick black 725ca9a040
textplay: make the textplane transparent by default #1425 3 years ago
nick black e9ef4d50f4 break up opaque/mixed into sixel and kitty states 3 years ago
nick black 8eafcaee5b textplay: add video border 3 years ago
nick black 2978a5194d textplay: better colorization 3 years ago
nick black 2695addd5f textplay: colorize 3 years ago
nick black 0d81fb25c7 textplay: read stdin, play to plane with ncplane_puttext() 3 years ago
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
3 years ago
nick black 0c2749707c
sprixel stacking unit test #1575 3 years ago
nick black 787b180fa9
ncvisual_blitset_geom: deliver on y/x contract #1588 3 years ago
nick black da2db080c9
[yield] work for all blitters/geometries #1588 3 years ago
nick black 375a51b55b
keller: check ncvisual_blitter_geom() return value #1588 3 years ago
nick black 1a16d34b5c
view: move pic-in-pic to row 1 from top #1577 3 years ago
nick black 5fd6177c17
ncplane_resize_internal(): no work necessary when old pos+size are the same #1588 3 years ago