Open dankamongmen opened 3 years ago
so what exactly do we do here? do we need explicitly draw zero-alpha pixels? does that work? does it retain underlying glyphs?
or is it like sixel, where we print over it? blitting transparence would probably be faster, actually...but does it work?
yes, it does appear to work! i made a quick tgrid
which just writes all 0s, and it cleared grid
while leaving everything else up.
hrmm or maybe not. if i write a 0xffffffff, we get white annihilating, but if i write 0x00000000 at the same place, nothing is cleared.
if we write 0xff000000, it clears properly! yay!
ahhh but it does blow away text =[ of course, because this is opaque black
if that's true, the only way to get this done is to zap all cells and then redraw, or blit all black, redraw occupied cells, and then redraw. the former is better if there's little text in the area; the latter is better if it's relatively full. that sucks, ugh. i don't understand how sixel is working if it's not scrubbing either, though? we hit scrub whenever we come through clean_sprixels()
with SPRIXEL_HIDE
. which we're not, we're SPRIXEL_INVALIDATED
. so how does sixel work?!!?!
so with ncplayer
and sixel we're doing 3/4/0, aka draw-clean-draw. and we do indeed have flicker. but that's not what's happening with notcurses-input
.
lol can we do whatever we're doing for plots for ncplayer
?
hrmmm no we flicker ever without the hide. weird, what's going on?
this is really hard. punting past 3.0.0.
See #2133 for the xterm side of this long struggle.