Commit Graph

4900 Commits (2b5b62c11070473784d22cdaa19218799675953b)
 

Author SHA1 Message Date
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 6b7195a387 document new function ncvisual_inflate() #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
joseLuís eaee89c99f [rust] renamed FullMode & DirectMode to Nc & NcD
- improve pixel-cell example.
- rustfmt
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
nick black 5a702512c5 [bitmaps] be less aggressive about third phase
When we scribble underneath a TRANSPARENT or ANNIHILATED
sprixcell, or even an OPAQUE or MIXED one in Kitty, we
needn't invalidate the sprixel. Perform these checks for
less aggressive invalidation, eliminating the flicker we
were seeing in xray using Kitty. Closes #1522.
3 years ago
nick black 333b4414d9 note ECMA-48's NUL escape #1416 3 years ago
nick black 0dce453461
[direct] don't print sprixels to the last line 3 years ago
nick black c975bc85fd ncvisual: or 0x1000000 tp transcolor when NCVISUAL_OPTION_ADDALPHA is used 3 years ago
nick black d4e2598c9e [ncplayer] direct mode support for chromakey #1515 3 years ago
nick black feab25bd7d ncdirect_render_visual: account for bitmap overhang #1515 3 years ago
nick black 0de734cb02 ncplayer has 9 log levels, not 10 3 years ago
nick black 2c7034f1e3 [ncplayer] fix margins in direct mode #1515 3 years ago
nick black 9f8d938fad [ncplayer] disable cursor in direct mode #1515 3 years ago
nick black 5507bbbd3e [ncplayer] get margins working with direct mode once more #1515 3 years ago
nick black ef69abe0fc ncdirect_stream: save and restore cursor position before each frame #1515 3 years ago
nick black 53f92760dd ncplayer: support multiframe in direct mode via streamfile #1515 3 years ago
nick black 3555257afb
kitty: use supplied alpha value directly
In Sixel, we map the alpha value to either 0 or 255, as
it has no alpha concept. Kitty can freely reproduce eight
bits of alpha, so go ahead and use them. Improves image
quality of translucent bitmaps in Kitty at the expense of
some behavioral divergence depending on bitmap backend.
3 years ago
nick black 4442a9fea9
rgba_trans_p: any non-zero alpha must be displayed #1540 3 years ago
nick black e1d97bfb62
[rust] cell_ -> nccell_ drudgery #1532 3 years ago
nick black b070b69eb2
get last remaining cell_ functions -> nccell_ #1532 3 years ago
nick black 7ad5219fa2
convert another crop of cell_ to nccell_ #1532 3 years ago
joseLuís 452b7cd535 [rust] renamed cell_* functions to nccell_* 3 years ago
nick black 89fb48a30b
sprixcells: tense agreement in comment 3 years ago
nick black 30cb74428f
work on the sprixel state machine
Sixel: detect SPRIXCELL_TRANSPARENT cells and mark them as such.
sprixel_invalidate: fix copy-and-paste, want both TRANSPARENT and
ANNIHILATED to block progression to INVALIDATED. add gigantic
comment detailing the state machine. #1537, #1522, #1527, #1483.
3 years ago
nick black 93a08edb23
render: extract stats functions to stats.c 3 years ago
nick black d2394f9c63
c++ wrapper for direct-mode streaming #1515 3 years ago
nick black 529972d16b Elide unnecessary sprixel invalidations
When the damaged cell of a sprixel is actually entirely
transparent (or annihilated), there's no need to invalidate
it. Check for this in the TAM in sprixel_invalidate(). Good
optimization, and eliminates a lot of the flicker in `xray`
on Kitty described in #1522.
3 years ago
nick black 9d516d8c8c
summarize_stats: don't divide by 0 writeouts 3 years ago
nick black 32500239ac
cell_extract() -> nccell_extract() 3 years ago
nick black da2a897544
fix unintended cell abi breakage #1532
cell_release() and cell_duplicate() were deprecated in 2.2.6,
but replaced with static inlines. this breaks the abi, forcing
recompiles from client programs. restore them as exported
functions.
3 years ago
nick black 76bcb8f0af
zaxis test: update to api3 3 years ago
nick black 96ac640733
cell->nccell 3 years ago
nick black 657ed15632
cell_on_styles -> nccell_on_styles() #1532 3 years ago
nick black 15c330c580
[sixel_shutdown] don't disable sixel scrolling on shutdown #1533 3 years ago
nick black 81370ba311
[sixel_delete] don't scribble beyond pile rendering vector #1534 3 years ago
Nick Black e591ec2e98
cell -> nccell throughout much of remaining API (#1535)
cell -> nccell throughout much of the API #1532
3 years ago
nick black e9b5388dde
[sixel] clear debugging cruft #1533 3 years ago
nick black b794dbc848
[sixel] clear sixel scrolling private mode on exit #1533 3 years ago
nick black 89678ed412
[render] only invalidate glyphs when wipe fails 3 years ago
nick black 11f79dfd31
visual_render_pixels: don't use last line of visual area #1479 3 years ago
nick black f5d16e1e89
sprite_wipe_cell: purge unnecessary fxn check 3 years ago
nick black 282830e31c
define sixel_wipe 3 years ago
nick black 39335bc210
[sixel_wipe] set SIXEL_P2_TRANS #1527 3 years ago
nick black 567c351b8f
[sprixcell] kill unused TAM enums for now 3 years ago