Commit Graph

3057 Commits (c7d284a9afe3f3d4f07545889fb36febc2771a3a)

Author SHA1 Message Date
nick black c7d284a9af
demo: make debug plane 81 wide, with transparent last column 3 years ago
nick black f4aa419a31
add notcurses_canhalfblock()/notcurses_canquadrant() #1575 3 years ago
nick black 9b38fe515c
ncdirect_stream: need to call new pixel_remove #1537 3 years ago
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.
3 years ago
nick black 1b7ea2037a
kitty_delete: always damage if s->n link is broken on hide #1562 3 years ago
nick black 0cddfdde7b
sprixel_debug: print plane location 3 years ago
nick black d8004ef508
kitty: return -1 on failed fprintf in kitty_delete 3 years ago
nick black 4d0ea5e6b5
notcurses_debug: emit no more than 79 columns per line 3 years ago
nick black 31ee680ea8
demo: destroy debug window at end #1569 3 years ago
nick black ee6c3579db
stats: catch sprixel emission in rasterize_sprixels() #1566 3 years ago
nick black ac72c982d7
stats: count up sprixel elisions/emissions #1566 3 years ago
nick black 6c7b40debf
add stats for sprixel emissions/elisions #1563 3 years ago
nick black 71c7432e46
[intro] manually resize greatscott to always hit cell boundary 3 years ago
nick black 16c47430d6
[view] add a sweet little picture-in-a-picture when pixel blitting is available 3 years ago
Nick Black 05662e54c2
Deepclean sixel on move (#1567)
Normally, we don't bother to edit Sixels in-place upon annihilation, since you can just print the character over them and be done with it. If we move one, however, we need to cut the annihilated pixels out of the Sixel. Failure to do so was leading to flicker around the base of the orca's Segway in the intro demo. This was a bit of a struggle, but it seems to work beautifully (though a bit slower than I would care for -- we'll do something about that). Closes #1555.
3 years ago
nick black c05b0683ec [sixel] don't emit $ prior to - #1565 3 years ago
nick black 60f5e8a210
stats: don't post failed_renders from update_render_bytes 3 years ago
nick black 3203139ac7
[kitty] damage moved/annihilated cells on delete 3 years ago
nick black 31dfa86725
clamp Sixel at a multiple of 6 #1560 3 years ago
nick black debd9e3578
reinitialize cells to OPAQUE when reloading sprixels 3 years ago
nick black b3c91ca4dd
sprixel_state: deal with margins #1561 3 years ago
nick black 0a4b46a804
account for margins in sixel_state() #1561 3 years ago
nick black c008d50b03
sixel_debug() for #1561 3 years ago
nick black c0af379683
restore deprecated cell_extended_gcluster to ABI 3 years ago
nick black c3c5b397a3
run ncvisual_resize() in bitmap tests #1559 3 years ago
nick black 2f59fc7282
turn on sextants and quadrants for foot terminal emulator 3 years ago
nick black 67bac13f67
kill off-by-one in pixel scaling #1558 3 years ago
nick black 6a509328fa
sprite_wipe_cell -> sprite_wipe 3 years ago
nick black f19c6c88ff
add BitmapStretch unit test #1558 3 years ago
nick black 0ff59e5a95
visual: take placey into account for row calculation 3 years ago
nick black 17bde9ffa4
[kitty] clean all non-opaque on delete #1527 3 years ago
nick black 74744abc89
[sixel] don't damage on delete just because new sprixel is mixed #1553 3 years ago
nick black 7d61457b37
ncvisual_inflate: call ncvisual_seed_details() #1546 3 years ago
nick black 3bdd5ce142
scrub TAM boundaries in sixel+kitty #1553 3 years ago
nick black 74862a32b8
kitty: partial sprixcells cannot be opaque #1553 3 years ago
nick black 8a4bd09d9b
demo: stop input on error path before notcurses_stop() 3 years ago
nick black dd327a381f
[intro] leave greatscott up while fading main 3 years ago
nick black 1f0edcb60f
demo: always move hud/fps off-pile to hide #1552 3 years ago
nick black 317cbb3fdb
sixel_draw: break out of loop faster #1527 3 years ago
nick black c875eb4544
clamp Sixel to max supported size #1550 3 years ago
nick black 266ed71c0b
ncdirect_stream: fix c++ wrapper's error guard 3 years ago
nick black 1722714ee6 tighten up visual unit tests 3 years ago
nick black 2b5b62c110 ncvisual_blitset_geom: tighten tests on len and vertical alignment 3 years ago
nick black 2ebe209c7f implement ncvisual_inflate(), add unit test #1546 3 years ago
nick black 2d73ba79e4
Detach sprixel from ncvisual
The ncvisual can't own the sprixel -- we could very well
blit it twice to two different planes, wipe cells from one
and not the other, and not want those shared. Instead, it's
owned by the plane. This clears up the ownership/lifetime
story quite a bit, and closes #1548, where only the most
recent of several blittings of a sprixel was visible.
3 years ago
Nick Black 8c6cd6a630
Further work on opacity optimizations (#1549)
* [bitmap] on move, clear old OPAQUE cells #1527
* update ncvisual_blitter_geom() documentation #1547
* replace some ncvisual_blitter_geom with NCVISUAL_OPTION_VERALIGNED
* [normal] replace ncvisual_blitter_geom with NCVISUAL_OPTION_VERALIGNED
* [intro] use ncvisual_blitter_geom() correctly #1547
* ncvisual_blitter_geom: only set *blitter on success
3 years ago
nick black b1317ddf7e
Revert "[bitmap] on move, clear old OPAQUE cells #1527"
This reverts commit 416806c42c.
3 years ago
nick black 416806c42c
[bitmap] on move, clear old OPAQUE cells #1527 3 years ago
nick black c9cf30c31a
intro: always let our orca reach the far side 3 years ago
nick black 420c967605
[postpaint_cell] don't damage cells hidden by sprixel #1527 3 years ago