Commit Graph

740 Commits (90a2ff6fcaad4df653e0b4957b0846b4d47d8991)

Author SHA1 Message Date
nick black 923bc40516
v2.2.9 3 years ago
nick black 55837bcb55
add nccell_width() to avoid calling utf8_egc_len externally 3 years ago
nick black 5947f3d4d2 experimental threaded xray #1607 3 years ago
nick black 3eb004b61d s/channels/ncchannels/g #1570 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 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 e29701cac3
notcurses-tester: accept -l to enable all logging 3 years ago
nick black 5a72383cb0
reject sprixels larger than plane, add unit test #1572 3 years ago
nick black cc73811dd4
sprixelated planes may be resized after all #1572 3 years ago
nick black cc657bbe35
notcurses_plane(3): document sprixelated effects #1585 3 years ago
nick black 23ef5313e3
document pixel blitting vis-a-vis planes #1585 #1572 3 years ago
nick black 68db5d5df6
notcurses(3) add paragraph on visuals #1585 3 years ago
Nick Black c8680255be
palette256 -> ncpalette #1570 (#1573)
everything prefixed with palette256 is now prefixed with ncpalette
3 years ago
nick black f4aa419a31
add notcurses_canhalfblock()/notcurses_canquadrant() #1575 3 years ago
nick black 6c7b40debf
add stats for sprixel emissions/elisions #1563 3 years ago
nick black df8ff1f947
update index page 2.2.6 -> 2.2.8 3 years ago
nick black d5b58d9f58
v2.2.8 3 years ago
nick black eefc4fb91f
v2.2.7 3 years ago
nick black 6b7195a387 document new function ncvisual_inflate() #1546 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 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 53f92760dd ncplayer: support multiframe in direct mode via streamfile #1515 3 years ago
nick black 7ad5219fa2
convert another crop of cell_ to nccell_ #1532 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 fe9d877f80
notcurses-demo: add attribution for greatscott.jpg 3 years ago
nick black 4834ec6c1f
doc/man/index.html: link to version described 3 years ago
nick black e017dcba89
v2.2.6 3 years ago
nick black fada4148b5 [ncplayer] add -a option for alpha channel #1518 3 years ago
nick black 0c566cd74a [ncvisual] pipe transcolor through #1518 3 years ago
nick black ff76dba6ed
cell_strdup -> nccell_strdup 3 years ago
nick black 0fc5f7835d
[docs] cell_release -> nccell_release 3 years ago
nick black cf3a6317aa export ncdirect_stream() 3 years ago
nick black f294c6bb0b
add ncplane_pixelgeom() #1507 3 years ago
nick black 05082fc277
ncplane_as_rgba(), returns pixel geometry along with bitmap #1508 3 years ago
nick black 9546b7e914
move logo to doc/ from data/ to keep install simple 3 years ago
nick black b6a9b59f9d notcurses_plane.3: add BUGS about bitmap graphics and ncplane_at_yx() 3 years ago
nick black b92991e57b
[visual] allow NCBLIT_PIXEL in ascii mode 3 years ago
nick black 57114c8005
[bitmaps] remove redundant PixelWipeBlocks test 3 years ago
nick black c87992c452
[ncvisual] fix NCVISUAL_OPTION_VERALIGNED definition 3 years ago
nick black 50df69ab31 [planes] implement MARGINALIZED in ncplane_create() #1472 3 years ago
nick black 78c8e70933 [planes] add NCPLANE_OPTION_MARGINALIZED #1472 3 years ago
nick black 86de98c5d2 Fix cell blit / plane vertical alignment
Deprecate ncplane_align(), after rewriting it as a passthrough
to new function ncplane_halign(). Add ncplane_valign(). Update
all callers. Closes #1468.
3 years ago
nick black 6105913d06 [planes] add NCPLANE_OPTION_VERALIGNED #1465 3 years ago
nick black f714337fe1 [visual] NCVISUAL_OPTION_HORALIGNED for cell blitters #1443 3 years ago
nick black 033ae7f93e [capabilities] eradicate notcurses_canpixel() 3 years ago
nick black 828cce634a [capabilites] remove redundant notcurses_canpixel() 3 years ago
MasFlam c677a4fd8a
Add the nctabbed widget (#1431)
Tabs for the people!

fixes #986
3 years ago
nick black a27fc0e3f7 notcurses_fade.3: break up typedef across lines 4 years ago
nick black 2cf0f06562 [visual] add OPTION_HORALIGNED #1443 4 years ago
nick black 3c0a765599
notcurses_render.3: render a pile, not planes 4 years ago
nick black 33d408b4a3
[sixel] call sprite_sixel_init at proper time #1436 4 years ago
nick black 7b61822a7e
notcurses.3.md: add notcurses_tree reference 4 years ago
nick black a6548fbcc8 [ncvisual] refuse to blit bitmaps to standard plane 4 years ago
nick black 66e545f160
[pixel] fill out only through the plane #1391 4 years ago
nick black 70059297c0
notcurses_direct.3: add image render+raster to docs 4 years ago
nick black ede7594971
[ncls] accept -s for scaling mode #1411 4 years ago
nick black 9728e79396 [ncplayer] obey margins in direct mode #1411 4 years ago
nick black 7bc3800e27 [direct] accept limits for prep_image() #1411 4 years ago
nick black 0fdb3bd401
ncplayer.1: specify 0..6 for runtime blitter controls #1406 4 years ago
nick black 04ad933a4b
ncplayer: don't try to drive four/eight #1406 4 years ago
nick black b97af99fa0 man1: normalize notcurses case 4 years ago
nick black b117f26df3 ncplayer.1: document default blitters, plus hires and scalehi 4 years ago
nick black 7dfb366cbc
notcurses-demo: drop 'i' argument 4 years ago
nick black 6672590996
index.html: properly sort notcurses_reel.3 4 years ago
nick black 1dabe17d84
notcurses_tree.3: update version to 2.2.3 4 years ago
nick black 5e74070c77
index.html: add notcurses_tree.3 4 years ago
nick black f35e2eb982
notcurses_visual.3: link to sixel/kitty 4 years ago
nick black bc84987af5
v2.2.3 4 years ago
nick black 91b83ea2d9
ncls: accept -b param to specify blitter 4 years ago
nick black 49ce0d1c57
mention SIGCONT along with SIGWINCH 4 years ago
nick black d4e87b4a35 rename notcurses-direct-pydemo ncdirect-pydemo 4 years ago
nick black 100a89291b hide cell_{b,f}channel(), cell_set_{b,f}channel() 4 years ago
nick black bdc726349f ncplayer.1: update blitter names 4 years ago
nick black cd0aaf58a2 normalize blitter names 4 years ago
nick black 5b4d920646 pixel documentation 4 years ago
nick black 6c7c9be6d2 require explicit check for pixel support
Add `notcurses_check_pixel_support()` and
`ncdirect_check_pixel_support()` per #1367. Removes
NCOPTION_VERIFY_SIXEL, again per #1367. Adds
`free_terminfo_cache()`, and calls it from both
`notcurses_stop_minimal()` and `ncdirect_stop()`.
Update all documentation. Closes #1371 and #1367.
4 years ago
nick black 40746e76e6 s/nonehi/hires/g 4 years ago
nick black 036d0a8697 s/NCBLIT_SIXEL/NCBLIT_PIXEL/g #1095 4 years ago
nick black aa4da3f335
nctree: drop bchannels from options 4 years ago
Nick Black e30b12a480
nctree (#1361)
The nctree widget, PoC, and unitt rs #1164.
4 years ago
nick black 11dbf7701e
link to markdown from index.html 4 years ago
nick black 2221120543 add SIGILL to documented fatal signals #1357 4 years ago
nick black c10f5a40ce
v2.2.2 4 years ago
nick black 2741b049cb
don't expose nctree in 2.2.2 4 years ago
nick black bb14694000 add nctree movement api #1164 4 years ago
nick black 3eb42d6c0c implment nctree_create()/free() #1164 4 years ago
nick black 7a698310b6 ncinput is not opaque 4 years ago
nick black 14ce0ace73 man pages: relate nctree and ncreel #1164 4 years ago
nick black 2ae618c06b add new man page notcurses_tree.3 #1164 4 years ago
nick black 1b1e0b88be
ncplane_qrcode: drop blitter argument, update docs 4 years ago
nick black 0e7bf80ee9 hack up direct_mode_player #1342 4 years ago
nick black 2e6b07081e ncplayer: -k will use direct mode #1342 4 years ago
nick black be4a9154a8
v2.2.1 4 years ago
nick black c6c137d688
ncplayer.1: describe -q option completely 4 years ago
nick black 898f34f924
ncplayer: suppress banners when given 'q' #1342 4 years ago
joeyt aa02cf855a fix some dank typos
Looks like the release process used a regex(?) to replace that included some
unintended targets.  Microsoft link broke in 2.2.0; CELL_ALPHA_TRANSPARENT
continually replaced since 2.0.1.
4 years ago
nick black 3cdf7160de
v2.2.0 4 years ago
nick black cff8767de7
notcurses_visual.3: fix up markdown syntax 4 years ago