Commit Graph

313 Commits (master)

Author SHA1 Message Date
nick black 6e2ab83a08
[utils] declare notcurses_osversion #2293 3 years ago
nick black 2c8286c099 stacking tests: ncvisual_render() -> ncvisual_blit() #1462 3 years ago
nick black bb2004e589 ncvisual_render -> ncvisual_blit (docs) 3 years ago
nick black 2148bcc4f2
Revert "[nckeys] move from PUA-B to 'plane 18' #2247"
This reverts commit e83f1f5ba3.
3 years ago
nick black e83f1f5ba3
[nckeys] move from PUA-B to 'plane 18' #2247 3 years ago
nick black a8b3634ca7 [ncvisual] add pxoffy+pxoffx fields to ncvisual_options #1682 3 years ago
nick black 6d3c64a5c1
[ncvisual_pixelgeom] document that results are invalidated by terminal resize #2141 3 years ago
nick black 9185ea000c
add ncplane_set_name()/ncplane_name() + documentation 3 years ago
nick black 518eca2f60
move_family_{below,above}() need return int #2232 3 years ago
nick black 43fc6afaa3
ncplane_move_family_{above, below}() #2232 3 years ago
nick black e42a76a2d2
Remove and replace ncplane_boundlist()
The function ncplane_boundlist() was poorly-considered,
and ought never have existed. Remove all traces of it.
Add the new functions ncplane_move_family_top() and
ncplane_move_family_bottom(). Replace the
ncplane_boundlist() code in notcurses-demo with a call
to ncplane_move_family_top(). We'll also want
ncplane_move_family_above() and ncplane_move_family_below(),
but they're not yet here. Document all z-axis movement
functions; they were lacking documentation before #2232.
3 years ago
nick black 436f24c770
Remove libreadline support, implement low-level ncdirect_readline #2211 (#2212)
It was realized that our libreadline wrapper was incompatible with the new input method, indeed fundamentally so. Rip out all libreadline support. Implement a minimal ncdirect_readline() -- quite minimal, but enough to get by. We'll want to fill this out later.

So no ABI/API breakage, though perhaps some visible behavioral change.
3 years ago
nick black 72757044da [ncplane_erase_region] generalize #2181 3 years ago
nick black 3faf8ee3fb
[input] introduce NCKEY_EOF #2185 3 years ago
nick black ea5da346f0
Add keytype indicator to notcurses-input #2182 3 years ago
nick black 99007e128c
[input] add evtype to ncinput, for press/repeat/release #2182 3 years ago
nick black 5eed1abe8e notcurses_get: restore old delaybound behavior #2169 3 years ago
joseLuís 17133fb4f9 remove old reference to sigmask in notcurses_get
and update description for the same function in USAGE.md
3 years ago
nick black 3cf5a67b84
input thread #2136 3 years ago
nick black 4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 3 years ago
nick black 54cf38b076
add ncstrwidth_valid() and documentation #2153 3 years ago
nick black 1571bfee72 pixelplots: paint only through egcidx #1382 3 years ago
nick black ed557257d9 add notcurses_{enter,leave}_alternate_screen #2082 3 years ago
nick black b978f58985 stop supporting/advertising renderfp #2081 3 years ago
nick black e35c49889d
ncchannel: make some unsigneds explicit uint32_ts 3 years ago
nick black 4d6526a61d ncneofetch rewritten in CLI mode
ncneofetch was previously direct mode followed by rendered mode with
margins, a Frankenstein application if one ever existed. Rewrite it
using CLI mode, extending the latter as necessary to accomplish this
task. We now have one fewer dependency on direct mode, we have better
proven out CLI mode, and we get a ~30% reduction in ncneofetch runtime.
Good stuff! Closes #2030.

Add ncplane_scrollup() and ncplane_scrollup_child()
Cleans up ncport.h
Eliminates some inconsequential memory leaks in ncneofetch
Add SPRIXEL_UNSEEN to avoid invalid moves on
 not-yet-displayed sprixels
3 years ago
nick black b0b5e49383 ncvisual_from_palidex 3 years ago
nick black 1448960cd5 start handling type-1 DVB subtitles #1311 3 years ago
nick black 7b5f4175eb
add nccell_cols(), deprecate nccell_width() 3 years ago
nick black 0a6fd661b4 set_rgb: unsigned unless we're clipping 3 years ago
nick black 0d289958f9
death to sigset_t #1967 3 years ago
nick black 1fae68d9c6
add NCPLANE_OPTION_FIXED #1909 3 years ago
nick black 12000dea27
throw some nonnull love into notcurses.h 3 years ago
Tomek Szczęsny 0baf4ea1b5
Relative cursor move (#1885)
Relative cursor move by @tomek-szczesny
3 years ago
nick black 92293dd402
adapt new python to NCCHANNEL 3 years ago
nick black 83d8724e63
updating CELL_ -> NC_ references 3 years ago
nick black 14a50cfa3f
add ncchannels_reverse, use it in ncmenu, add unit test #1878 3 years ago
nick black 8846e3cee2
ncdirect_putegc(), get true width in ncwidth #1899 3 years ago
nick black 00e28cc569
complete ncplane_cursor_move_yx() documentation 3 years ago
nick black 43f0a2e5c8
remove false comments on ncplane_move_yx() 3 years ago
nick black cd80b70594
add ncplane_moverel(), no unit tests though =[ #1881 3 years ago
nick black f1202df541
document ncplane_cursor_move_yx better #1882 3 years ago
nick black a749ede622
USAGE: elaborate on ncplane_set_*_palindex #1554 3 years ago
nick black aa716d6814
add NCSTYLE_BLINK back to documentation #1818 3 years ago
nick black 9f92986a6b always send DSRCPR at init, use it to verify u7
for NCOPTION_PRESERVE_CURSOR, we want to know the location
of the cursor at startup. go ahead and always send a DSRCPR
in terminal interrogation. if we get a reply to it, hey, we
just verified that the terminal knows DSRCPR.

if we find a u7 value in terminfo that's different from the
standard DSRCPR, we ought send that in addition. #1816
3 years ago
nick black 9d7f07771b
GTFO NCSTYLE_DIM, NCSTYLE_REVERSE #1818 3 years ago
nick black 8fc2a32990
remove NCSTYLE_{INVIS,BLINK,STANDOUT} #1818 3 years ago
nick black 041f97371f add stat for ASUs and send them #1582 3 years ago
nick black 379453c8ea
render piles to file/buffer
Replace notcurses_render_to_file() and
notcurses_render_to_buffer() with variants that work
on arbitrary piles (the former only worked on the standard
pile). Rewrite the former as trivial wrappers around the
latter, and deprecate the former. Closes #1770.
3 years ago
nick black e5662ac506 add and document sprixelbytes stat #1801 3 years ago
nick black d360cc1d1e ncvisual_from_rgb_{packed, loose}() #1767 3 years ago
nick black 3cb537c3fc
only list sgr styles as supported if we have sgr #1791 3 years ago
nick black 9ee120dfa2
elaborate documentation for notcurses_refresh #1769 3 years ago
nick black 0d7a5a5ef8 remove the majority of notcurses_check_pixel_support() calls #1469 3 years ago
nick black cadd4aefee s/CELL_ALPHA_/NCCELL_ALPHA_/g 3 years ago
nick black 608943bb95 reference nc->margin when we want margins, not stdplane #1615 3 years ago
nick black 6fcaad3c5d
generalize ncvisual_inflate() to ncvisual_resize_noninterpolative() #1738 3 years ago
nick black a6433caeaa add NCVISUAL_OPTION_NOINTERPOLATE #1576 3 years ago
Nick Black cd2b5de5fa
Panblitter ncplane_as_rgba() (#1697)
ncplane_as_rgba: genericize across blitters

ncplane_as_rgba() previously was implemented explicitly
in terms of NCBLIT_2x1. it now uses the `egcs` field of the
`blitset`. this supports NCBLIT_2x2 and NCBLIT_3x2 in
ncplane_rgba(). Closes #1490.
3 years ago
nick black d20a4d8104
ncdirect: restore colors properly following sgr #1703 3 years ago
nick black de502655c2
USAGE: indicate c syntax 3 years ago
nick black 50693fb812
add a section on hardware cursor to notcurses_init.3 #1681 3 years ago
nick black f2b26723c9
document notcurses_cursor_yx() #1681 3 years ago
nick black 6969652031
add ncinput_nomod_p() 3 years ago
nick black 42f26fcb1e ncls: update to prep_image() maxy/maxx #1661 3 years ago
nick black 6fd7a4cd52
convert a few 'cell' instances to 'nccell' in docs 3 years ago
nick black 346512ccdf
eliminate type-2 gclusters, sprixels no longer interact with fb #1656 3 years ago
nick black 8bd73378cf
add NCSCALE_INFLATE 3 years ago
nick black f080e1502b add ncplane_erase_region() 3 years ago
nick black 84c7aca04e
add ncblit_rgb_packed(), ncblit_rgb_loose() #1634 3 years ago
nick black 4f5a8480c0 document new option NCVISUAL_OPTION_CHILDPLANE #1603 3 years ago
nick black 55837bcb55
add nccell_width() to avoid calling utf8_egc_len externally 3 years ago
nick black 3eb004b61d s/channels/ncchannels/g #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 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 c3c5b397a3
run ncvisual_resize() in bitmap tests #1559 3 years ago
nick black c875eb4544
clamp Sixel to max supported size #1550 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 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 ff76dba6ed
cell_strdup -> nccell_strdup 3 years ago
nick black 0fc5f7835d
[docs] cell_release -> nccell_release 3 years ago
Nick Black 04b1ba8ed2
Dankamongmen/unify geom (#1514)
deprecate ncvisual_geom() in favor of new ncvisual_blitter_geom(), which allows caller to get the blitter used. replace the checks and calculations in ncvisual_render() with a call to ncvisual_blitter_geom(), unifying the two paths (and eliminating several bugs in the unloved ncvisual_geom()).
3 years ago
nick black 1f33ada62e
[cffi] update for ncplane_as_rgba() 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 3b169dfa31
[notcurses.h] improve ncvisual_from_rgba() docs #1488 3 years ago
nick black 8e61429789
[notcurses.h] remove bogus restriction for ncvisual_render #1488 3 years ago
nick black b92991e57b
[visual] allow NCBLIT_PIXEL in ascii mode 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 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 2cf0f06562 [visual] add OPTION_HORALIGNED #1443 3 years ago
nick black 33d408b4a3
[sixel] call sprite_sixel_init at proper time #1436 3 years ago