4889 Commits

Author SHA1 Message Date
nick black
333b4414d9 note ECMA-48's NUL escape #1416 2021-04-16 07:23:26 -04:00
nick black
0dce453461
[direct] don't print sprixels to the last line 2021-04-16 07:23:12 -04:00
nick black
c975bc85fd ncvisual: or 0x1000000 tp transcolor when NCVISUAL_OPTION_ADDALPHA is used 2021-04-16 02:45:13 -04:00
nick black
d4e2598c9e [ncplayer] direct mode support for chromakey #1515 2021-04-16 02:45:13 -04:00
nick black
feab25bd7d ncdirect_render_visual: account for bitmap overhang #1515 2021-04-16 02:45:13 -04:00
nick black
0de734cb02 ncplayer has 9 log levels, not 10 2021-04-16 02:45:13 -04:00
nick black
2c7034f1e3 [ncplayer] fix margins in direct mode #1515 2021-04-16 02:45:13 -04:00
nick black
9f8d938fad [ncplayer] disable cursor in direct mode #1515 2021-04-16 02:45:13 -04:00
nick black
5507bbbd3e [ncplayer] get margins working with direct mode once more #1515 2021-04-16 02:45:13 -04:00
nick black
ef69abe0fc ncdirect_stream: save and restore cursor position before each frame #1515 2021-04-16 02:45:13 -04:00
nick black
53f92760dd ncplayer: support multiframe in direct mode via streamfile #1515 2021-04-16 02:45:13 -04:00
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.
2021-04-16 01:12:48 -04:00
nick black
4442a9fea9
rgba_trans_p: any non-zero alpha must be displayed #1540 2021-04-16 01:03:46 -04:00
nick black
e1d97bfb62
[rust] cell_ -> nccell_ drudgery #1532 2021-04-15 22:41:48 -04:00
nick black
b070b69eb2
get last remaining cell_ functions -> nccell_ #1532 2021-04-15 22:29:53 -04:00
nick black
7ad5219fa2
convert another crop of cell_ to nccell_ #1532 2021-04-15 22:20:16 -04:00
joseLuís
452b7cd535 [rust] renamed cell_* functions to nccell_* 2021-04-15 20:45:08 +02:00
nick black
89fb48a30b
sprixcells: tense agreement in comment 2021-04-15 01:31:12 -04:00
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.
2021-04-15 01:07:22 -04:00
nick black
93a08edb23
render: extract stats functions to stats.c 2021-04-15 00:13:44 -04:00
nick black
d2394f9c63
c++ wrapper for direct-mode streaming #1515 2021-04-14 18:48:53 -04:00
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.
2021-04-14 16:38:09 -04:00
nick black
9d516d8c8c
summarize_stats: don't divide by 0 writeouts 2021-04-14 11:40:14 -04:00
nick black
32500239ac
cell_extract() -> nccell_extract() 2021-04-14 10:30:22 -04:00
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.
2021-04-14 10:04:28 -04:00
nick black
76bcb8f0af
zaxis test: update to api3 2021-04-14 09:36:00 -04:00
nick black
96ac640733
cell->nccell 2021-04-14 09:31:50 -04:00
nick black
657ed15632
cell_on_styles -> nccell_on_styles() #1532 2021-04-14 09:05:00 -04:00
nick black
15c330c580
[sixel_shutdown] don't disable sixel scrolling on shutdown #1533 2021-04-14 08:26:27 -04:00
nick black
81370ba311
[sixel_delete] don't scribble beyond pile rendering vector #1534 2021-04-14 08:23:17 -04:00
Nick Black
e591ec2e98
cell -> nccell throughout much of remaining API (#1535)
cell -> nccell throughout much of the API #1532
2021-04-14 06:42:14 -04:00
nick black
e9b5388dde
[sixel] clear debugging cruft #1533 2021-04-14 05:21:23 -04:00
nick black
b794dbc848
[sixel] clear sixel scrolling private mode on exit #1533 2021-04-14 05:20:59 -04:00
nick black
89678ed412
[render] only invalidate glyphs when wipe fails 2021-04-14 03:35:31 -04:00
nick black
11f79dfd31
visual_render_pixels: don't use last line of visual area #1479 2021-04-14 03:25:28 -04:00
nick black
f5d16e1e89
sprite_wipe_cell: purge unnecessary fxn check 2021-04-14 00:50:05 -04:00
nick black
282830e31c
define sixel_wipe 2021-04-14 00:48:36 -04:00
nick black
39335bc210
[sixel_wipe] set SIXEL_P2_TRANS #1527 2021-04-14 00:48:16 -04:00
nick black
567c351b8f
[sprixcell] kill unused TAM enums for now 2021-04-13 21:03:58 -04:00
nick black
53485eabc3
[paint] extract paint_sprixel() 2021-04-13 18:47:24 -04:00
nick black
3474134f23
[nctree] eliminate tautological pointer compare 2021-04-13 18:44:52 -04:00
nick black
46d70602c5
always set SIXEL_P2_TRANS on transparent pixels #1527 2021-04-13 16:42:00 -04:00
nick black
c54198a992
Emit P2=0 when sixel is entirely opaque
Some terminals (foot makes this claim explicitly) can draw
sixels more quickly when P2 is 0 than when P2 is 1. Since
we're already detecting transparency for the TAM matrix, do
the same globally, and prepare a sixel_p2_e value-result
parameter based on the results. If there are no transparent
pixels, emit P2=0 #1527.
2021-04-13 15:45:50 -04:00
nick black
2f8efe53a6
[demo] shrink the fps graph horizontally a little 2021-04-13 11:36:16 -04:00
nick black
162248fcaa
[ncplayer] put blitter changes into effect at media's end #1529 2021-04-13 11:30:00 -04:00
nick black
ba059692f9
README: we're no longer necessarily 'svelter' 2021-04-12 09:49:30 -04:00
nick black
20b01e41a8
README: fix zig link 2021-04-12 08:53:55 -04:00
nick black
fe9d877f80
notcurses-demo: add attribution for greatscott.jpg 2021-04-12 08:08:03 -04:00
nick black
77e8697be9
get a richer blue in banner RGB 2021-04-12 08:04:17 -04:00
nick black
4834ec6c1f
doc/man/index.html: link to version described 2021-04-12 07:54:19 -04:00