Commit Graph

339 Commits (b2dcc50606a7ec217cd9e22bd27a22272ffea39e)

Author SHA1 Message Date
nick black 74b9690cf3
ncmenu: remove dumb restrictions/special casing 4 years ago
nick black 71dbfd74f7 ncmenu: step around alignment NULL #332 4 years ago
nick black b7a92e0321
notcurses-tester(1) man page #326 4 years ago
nick black 0a6fddb549
blend test: fix uninitialized var 4 years ago
nick black 01d160f40b
menu test: work with older Clang 4 years ago
nick black 8d7e6482dd
test: use utf-8 rather than unicode literal 4 years ago
nick black 736717f58b
DFSG: unit test using only free multimedia #326 4 years ago
nick black 3cdac5ce28 high-contrast text, simple linear average model #181 4 years ago
nick black 85e377e652
Accept US-ASCII/C encoding, with warning. 4 years ago
nick black 74775b97ec
enmetric->ncmetric #324 4 years ago
nick black 89f516dcaa
tablet->nctablet, add ncreel to python #324 4 years ago
nick black c519c95fff
panelreel -> ncreel #324 4 years ago
nick black b284901d18
prep for 1.1.6 4 years ago
nick black 4d613217b3
ncmenu: only allow one at a time 4 years ago
nick black 10a269c963
ncmenu: reject double menu 4 years ago
nick black 039a390877
ncmenu: print item shortcut aligned right #179 4 years ago
nick black 79a92fcfb1
ncmenu: highlight shortcut keys for menu items 4 years ago
nick black 3821b66bc7
menu: highlight (bold+uline) section shortcuts 4 years ago
nick black 17c21a2c7b
menu unit test for long menu 4 years ago
nick black 5cd4fc9a1f
menu: reject empty sections #179 4 years ago
nick black 5cf1bba5f5
menu: unit test with section #179 4 years ago
nick black 31a07dab33
menu: extend across width of screen #179 4 years ago
nick black 54c57b3487 s/CELL_STYLE/NCSTYLE/ throughout 4 years ago
nick black 8984422f1e basics of menu #179 4 years ago
nick black fad612bd2f
Use column width in selector calculations #302 4 years ago
nick black 5982707f9e
add mbswidth() function, unit tests, docs 4 years ago
nick black be133b0105
unit tests for scrolling selector 4 years ago
nick black 3991b3e53a
selector: implement maxdisplay. unit tests! 4 years ago
nick black ac2b951fa9
ncselector_selected(), unit tests 4 years ago
Nick Black da0283ac25
Selector widget #166, subtitles #95 (#301)
Get rid of annoying empty line in notcurses-view (and ncvisuals at offsets in general)
Implement most of the Selector widget. Need to add styling and scrolling still. #166
Reenable ubuntu focal build
Subtitles! We decode them, and display them in notcurses-view. If ncvisual_simple_streamer() is provided an extra ncplane, it will use it to display subtitles. #95
We now build Python by default, as things are working much better.
ncplane_set_base() now takes channel, attrword, and EGC, so you can usually avoid having to set up and release a cell. ncplane_set_base_cell() takes over duty from ncplane_set_base() for ease of conversion.
notcurses-demo and notcurses-view now both accept a 0 for delay multiplier, meaning 'go as fast as you possibly can'. Very small multipliers (e.g. 0.00001) no longer cause floating point exceptions.
fading routines no longer cause floating point exceptions on very small timescales.
4 years ago
nick black ec5e857a6c
palette256: fix up unit tests 5 years ago
Nick Black 3d612aebcb
ruins color cycling demo #253 (#287)
* palette_set: update pal256 damage map #230
* drone: use newest builders
* palette: send oc on exit for color reset #285
* palette_new: copy existing palette in #230
* Python: use checkRGB everywhere
* more palette unit testing
* add ncplane_set_*_palindex()
* render fg palindex #230
* palette index color is out of 1000
* jungle demo works #253
5 years ago
nick black 3e9347a339
palette color: unit test for alpha clear 5 years ago
nick black b02acd8631
Curry a void* to fader callbacks #284 5 years ago
nick black 08f6fa0e79 implement ncplane_dup() 5 years ago
nick black 38b2b3d075 render: fix bad reference in final pass 5 years ago
nick black 0e70304596 palette indexing: set up attributes #230 5 years ago
nick black dfcdd10cb5 more palette support/testing #230 5 years ago
nick black 684bcdcc8c introduce palette256 #230 5 years ago
Nick Black 7ec022d067
Painter's algorithm #255 (#274)
* notcursesI.avi 30 -> 60fps
* painter's algorithm works #255
5 years ago
nick black 7c687faea0
pulsing text + unit test + docs #163 5 years ago
nick black 2ebc3e2bfe blend: conditionally blend in alpha 5 years ago
nick black 309211e308
enmetric() for small values #256 5 years ago
nick black b37ea582a3
enmetric()ize total time output in demo summary 5 years ago
nick black 7e59cf1053
don't print Term line with suppress_banner 5 years ago
Nick Black f6975d11d5
Docs/API sweep for 1.0.0 #244 #249 (#250)
* sync up some docs #244
* sync README and man page
* notcurses_output() man page work
* pull attr/channels from output functions #244
* witherworm: clean up explicit moves #244
* still more man page work
* notcurses_lines, last of the man pages i think
* panelreel man page #244
* debian: ruby-ronn->pandoc
* debian: full multiarch compliance
* debian: symbols file
* pandoc: fix syntax for lexgrog
* fm6.mkv: strip audio
* pandoc: fix up apropos man syntax #249
* ncurses_lines man page
5 years ago
Nick Black 2fbc94e41c
Higher planes obliterate bisected wide glyphs #158 (#243)
* higher planes stomp wide glyphs
* broken unit test
* develop out widestomp PoC
* fix notcurses_at_yx()
* fix up dig_visible_cell() return value
* refuse wide glyph on last column #242
* set adjacent cell wide when rendering #158
* xray: eliminate weird color flicker
* witherworm: don't eat wide glyphs
* unit test for boxed glyph
* uniblock: no need to emit so many U+200Es
* witherworm: remove wide glyph hack
5 years ago
nick black 2ea4f77875
introduce ncplane_aligned() #237 5 years ago
nick black ed980f1059 pull _get from all accessors 5 years ago
nick black 014afa348b rename ncplane default -> base #236 5 years ago
nick black db8b99d594
notcurses_render: simplify using new alpha rules 5 years ago
nick black ca40c93d1c
properly weigh colors for blending #234 5 years ago
nick black 924d80f0d5
don't blend default colors #235 5 years ago
nick black 46b1b8e622
notcurses_stats man page #213 5 years ago
nick black 21c3861804
s/bannner/banner/g, heh 5 years ago
nick black 113a8f8f62 tests: fix up -p 5 years ago
nick black f024cee3a1
unittests: support -p argument #218 5 years ago
Nick Black ce2a390b52
Out with googletest, in with doctest #202 (#231)
* introduce doctest over googletest #202
* call dtester in in targets
* doctest conversion #202
* channel.cpp -> doctest #202
* egcpool tests -> doctest #202
* input tests to doctester
* zaxis -> doctest
* drone: always define LANG
* libav to doctest #202
* panelreel tests to doctest #202
* spec that a C++17 compiler is now required for doctest #202
* enmetric tests -> doctest #202
* fade tests -> doctest #202
* notcurses test case -> doctest #202
* last conversion to doctest #202
* finish move to doctest #202
* drone: set up make test
5 years ago
nick black 66057e0363
eliminate most uniglyphs from unit tests #196 5 years ago
nick black f6aebe55a7
libav: fix unit test for DISABLE_FFMPEG case 5 years ago
nick black 132793211c
capabilities testing for fade/ffmpeg 5 years ago
nick black 37a45955ad
FreeBSD: declare array explicitly 5 years ago
nick black fb0e03fe89 UMOK: fadecb for faders #162 5 years ago
nick black cb2bf16a73 support building sans ffmpeg #153 5 years ago
nick black 452e1d302e
output API enhancements #210 #209
Allow -1 in move specification to remain where we are on that
axis (#210), necessary for context-sensitive aligned output.
Add _aligned forms to printf and vprintf. Invert various output
functions so that simpler form is static inline wrapper around
more complicated form, rather than complicated form being a
static inline composition, facilitating atomic move+output. All
output forms now have a simple form (no alignment, placement at
cursor), an _aligned() form, and a _yx() form.
5 years ago
nick black 1d9bf7bb59
update unit tests for ../data move 5 years ago
nick black 1de8611e2f
move test data to data/, simplify install rule 5 years ago
nick black ab47ab8976
notcurses_mouse_on()/_off() #165 5 years ago
nick black 046d0314b9
add links to useful man pages 5 years ago
nick black 2aeb303e94
samoa, mother samoa, tula'i ma sisi ia lau fu'a, lou pale lea! 5 years ago
nick black 708159c686
x-ray demo 5 years ago
nick black a710222df1
enmetric(): support localized decimal separator #192 5 years ago
nick black a3923142f6
fix up bgalpha unit tests 5 years ago
Nick Black 3ad2124246
Partial visual renders #170 (#193)
* ncvisual_render() accept four bounding dims #175
* ncvisual_render(): partial renders #175
5 years ago
Nick Black 0e0925a84e
Planereel exploration app, panelreel logic fixes (#188)
* planereels tester #180
* suppress_banner in all tests
* tabletcb: start passing back tablet
* properly initialize fbbytes stat
* panelreel: logic fixes #178
* install all testing data
5 years ago
nick black e628030740
ncvisual_render(): use true transparency #186 5 years ago
nick black 32e9fd0a1d
notcurses_reset_stats() added + test #164 5 years ago
nick black b257f40a35 sync input documentation for char32_t #172 5 years ago
nick black 6532ea858b start eagle demo #167 5 years ago
nick black 3cfe88ee0c ncscale_e enumeration for ncvisuals #168 5 years ago
nick black 97ecbdb0e5
sigh, probably gotta kill DMCA lure 5 years ago
Nick Black 957549105b
Wide character rigor (#117) (#157)
* unidamage PoC
* add cell_load_simple()
* clear CELL_WIDEASIAN_MASK in cell_load()
* split out render code
* add CELL_SIMPLE_INITIALIZER
* widecolor: fix message plane
* widecolor: simplify color increments
* document wide character handling
* unit tests for wide obliteration #117
* widechar obliteration hardening #117
* widecolor -> widechomper, update man page
5 years ago
nick black 48adc31260 unit test for z-axis rendering #146 5 years ago
nick black 599b7a6d9a z-axis unit tests #71 5 years ago
nick black dac4f78ee6 basic unit tests for z-axis #71 5 years ago
nick black 58cc6927ac 256-color cube is not ansi, don't muddy the waters 5 years ago
nick black 65858b4495 unit test 256-index quantizing #4 5 years ago
nick black a916d929db
RGBtoANSI: fixup lower grey onversions, looks reasonable now #4 5 years ago
nick black cfccd0c39c
RGBtoANSI unit test, fix up bases 5 years ago
Nick Black 2de07f8a48
Per-line damage map, ~50% increase in FPS on notcurses-demo (#144)
Implement a fairly conservative, line-granularity, two-level damage map. One on the overall notcurses object is dirtied by planar moves, creations, deletions, and resizes. One on each ncplane is dirtied by glyph output, media rendering, fades, and erasure. #83 This has some definite false positives: a hidden plane which moves will damage a bunch of lines unnecessarily. For now, don't do things like that :D.

Extra byte per line per plane, shouldn't be a problem.

Two new stats for cell elisions and emissions

Allow keypress to interrupt view-demo

ncvisual_stream() now allows a callback per frame

Allow ncvisual_open() to create its own, perfectly-sized, ncplane #128

Typical performance prior to this PR:

4655 renders, 18.3s total (0.000305s min, 0.196s max, 0.0039s avg 253.9 fps)
401046.505KB total (9.688KB min, 139.697KB max, 86.15KB avg)
Emits/elides: def 1082115/116196 fg 10547624/7236460 bg 10602717/6208644
 Elide rates: 9.70% 40.69% 36.93%
4680 renders, 18.4s total (0.000285s min, 0.15s max, 0.0039s avg 255.0 fps)
403078.188KB total (9.688KB min, 139.697KB max, 86.13KB avg)
Emits/elides: def 1088994/116196 fg 10604983/7267750 bg 10655426/6237472
 Elide rates: 9.64% 40.66% 36.92%
4699 renders, 17.8s total (0.000227s min, 0.192s max, 0.0038s avg 263.8 fps)
403266.907KB total (9.688KB min, 139.697KB max, 85.82KB avg)
Emits/elides: def 1086511/116196 fg 10601709/7359116 bg 10661910/6326744
 Elide rates: 9.66% 40.97% 37.24%

After this PR:

5625 renders, 15s total (9.36e-05s min, 0.187s max, 0.0027s avg 375.2 fps)
168365.640KB total (0.930KB min, 139.600KB max, 29.93KB avg)
Emits/elides: def 310575/116196 fg 4486002/4473416 bg 4116835/4630666
 Elide rates: 27.23% 49.93% 52.94%
Cells emitted; 9928000 elided: 12572000 (55.88%)
5642 renders, 14.2s total (9.17e-05s min, 0.154s max, 0.0025s avg 397.0 fps)
168669.009KB total (0.605KB min, 139.600KB max, 29.90KB avg)
Emits/elides: def 310819/116196 fg 4499833/4482134 bg 4118562/4652470
 Elide rates: 27.21% 49.90% 53.04%
Cells emitted; 9962160 elided: 12605840 (55.86%)
5650 renders, 14.3s total (0.000118s min, 0.143s max, 0.0025s avg 395.7 fps)
169461.884KB total (0.860KB min, 139.600KB max, 29.99KB avg)
Emits/elides: def 305431/116196 fg 4515396/4456376 bg 4149967/4613668
 Elide rates: 27.56% 49.67% 52.65%
Cells emitted; 9945200 elided: 12654800 (55.99%)

on netcurses-demo, we're eliding about half of the total cells via this damage map. that's pretty fucking sweet! FPS increase of about 50% -- I'll take that any day of the fuckin' week, boyo. w00t!

https://www.youtube.com/watch?v=XbGs_qK2PQA
5 years ago
nick black 91f74901c2
verify cell_load() of ascii results in simple #140 5 years ago
Nick Black 8bd8055f72
Distinct fg/bg alpha channels #139 (#141)
* improved alpha macros
* demo: use new alpha macros
* add ncplane_set_*_alpha()
* explicitly set fg for uniblock
* outro: background is a space #139
* distinct alpha channels for fg/bg #139
* rename 'background' cell to 'default' #142
* doc palette fades
5 years ago
Nick Black ff463d464e
Channels API sanity #119 (#138)
* orthogonalize channel/channels/cells APIs #119
* sync README.md with new ncplane channels api #119
5 years ago
nick black a1c90a347a
add ncplane_box() corner masking 5 years ago
nick black 6e49bbce45
panelreel: don't treat putc() return as bool #132 5 years ago
nick black 0001fa955d
on a wide enough screen, this test breaks 5 years ago
nick black 7c72b0ce83
emoji unit test 5 years ago
nick black 23f8a070b3
unit tests: don't try to close a NULL outfp_ 5 years ago
nick black ca2f0471c3
setlocale(LC_ALL, "") everywhere 5 years ago
nick black 1821867e35
move outfp out of notcurses_options #130 5 years ago
nick black 64462a11ac
for real tho 5 years ago
nick black 206db6dedd
sgr unit tests 5 years ago
nick black 7eafdd6772
fix up unit testing sanity 5 years ago
Nick Black 0d2c43603b
Luigi in Mega Man world (#127)
* uniblock-demo: reset background to black
* warning about quantization
* some luigi love
* update cell documentation
* add unit test for move of stdplane
* MoveToLowerRight unit test
* ncplane_move_yx(): error to move stdscr
* better box permutations test
* luigi in megaman2 world
* stats: don't print 'em if we haven't got 'em
5 years ago
nick black 3085a5db31
fix up EmitWchar unit test 5 years ago
Nick Black 38a10d9065
Transparency via alpha channels (#122)
* outro: bevel message window's corners
* egcspool: use full 25 bits available for 32MB pools
* render: remove unused inheritance mask
* interfaces + unit tests for 2-bit alpha
* notcurses_*g_alpha() acccessors
* cell alpha + unit tests
* panelreel: support a background channel
* notcurses: transparency via alpha channel
* remove unused CELL_ALPHA_MASK
5 years ago
nick black 756eebc060
add ncplane_putwegc() and unit test #120 5 years ago
nick black 1b1729133c
add ncplane_putwstr(), add unit test #120 5 years ago
nick black 7566af57e3
introduce ncplane_set_[fb]g 5 years ago
nick black 8afcd04446
sync cell/ncplane fg/bg API naming 5 years ago
nick black df93b67b4e
fix up subject of libav test 5 years ago
nick black e1356a2183
install man pages 5 years ago
nick black bacc69380a
uniblock: restore backgrounds 5 years ago
nick black af7ca02f36 Decode input escape sequences to special keys #78
Add the necessary input buffer, non-blocking reads, escape trie,
and unit tests to support extended keys, including arrow keys.
Update notcurses-input to print Unicode Control Glyphs instead of
a blank space for control chars.
5 years ago
Nick Black c0a1ee0f31
Spruce up slider demo, fix up uniblock demo #66 #72 (#112)
Slider demo: paint chunks in a pattern, then shuffle them up #72
Right-to-left unit tests #66
Fix up damage to uniblock demo using cup explicit cursor move #66
5 years ago
nick black 1bb114dbdc box unit tests: enlarge pattern #42 5 years ago
nick black f40f8cfb15 use background in fade unit tests 5 years ago
nick black ae711b7e75 h/vline gradient unit tests #42 5 years ago
nick black b711eaeedd box gradient unit tests #42 5 years ago
nick black bdc841e46e ncplane_box: support box mask ctlword #42 5 years ago
nick black a55e02836b ncplane_box: accept ctlword (#42) 5 years ago
Nick Black 8e8cb92c54
Improved cell API #97 (#103)
* cell/ncplane: simplify box API (#97)
* widecolor: use new box api (#97)
* uniblock: use new box API #97
* intro: use new box api #97
* panelreel: use new box api
* boxdemo: use new box API #97
* sliding: use new box API #97
* maxcolor: use new box api #97
* factor out notcurses_channel_prep() #97
* maxcolor: use new channel API #97
* sliding: use new channel API #97
* intro: use new channel API #97
* new output functions with no need for a cell
* add ncplane_putegc() and ncplane_putsimple(). the former takes an EGC, the latter a simple char less than 0x80. (#97)
* cell_prime: directly load all parts of a cell with immediates
* widecolor: use new output API #97
* boxdemo: properly initialize cells
* slider: total time cap of 5 * delaydemo
* maxcolor: use new output API #97
5 years ago
nick black e21594b4e9
ncplane_*_box_cells() -> cells_*_box() #97 5 years ago
nick black 415e238b3d transparent planes #10 5 years ago
nick black 2aadd096c0 lookin' good atl 5 years ago
nick black be5ce9051d
outro 5 years ago
nick black 0e4080456c fade unit tests #40 5 years ago
nick black 999f33a2ee
0.3.0-pre 5 years ago
Nick Black 426f632300
Panelreels port #52 (#90)
Port of panelreels, unit tests, and panelreel-demo from outcurses #52.
Doesn't completely work yet, but is surprisingly close!
5 years ago
nick black 8e9ed2b8a1 libav tests: check dimensions 5 years ago
nick black 28fac736bb notcurses-view: stop() before printing error
implement ncvisual_render()
5 years ago
nick black d106ebf0d3 libav: check for AVERROR_EOF #86 5 years ago
nick black 531340a145 libav: return averr to caller #86 5 years ago
Nick Black a7d50b557d
ncplane_at_cursor (#76), CCCflag, nonblocking stdin (#78) (#84)
* put stdin into nonblocking mode, retry on short write to stdout #78
* wrap getc_blocking() around a poll #78
* get CCCflag from terminfo. stop clearing the screen in render/startup
* implement ncplane_at_cursor() #76
* ncplane_at_cursor() unit test for simples #76
* PlaneAtCursorComplex unit test #76
* PlaneAtCursorInsane() unit test #76
* nplane_at_cursor: return number of bytes, not just 0/-1
* uniblock-demo: add a bunch of pages from Unicode 12
* demo: make -d delay multiplier a float
* egcpool: check offset against poolsize in check_validity()
* notcurses_init(): set smkx/rmkx to NULL with pass_through_esc
* PlaneAtCursorAttrs unit test #76
* add ncplane_styles() accessor
5 years ago
nick black 9fe6c152a9 enhance SetStyles unit test 5 years ago
nick black 4cc0ce037d read terminfo entries for keypad #78 5 years ago
nick black 8c6d0495ee
input: decode special keys, call notcurses_resize() #79 5 years ago
nick black e391bfbb81
input: add pass_through_esc option, otherwise run smkx #78 5 years ago
nick black 17d7d8a8c5
release guide 5 years ago
Nick Black 7f9ac490b0
ncplane_resize(), slider demo (#64) (#74)
* sliding: bounding box around puzzle
* slider: make moves, deleting planes #61
* implement z-index move functions
* demo: allow demos to be chosen via command-line option
* allow default bg/fg to be explicitly chosen
* ncplane_resize() unit test #64
* useful links
* slider: use random colors
* use find_above() in ncplace_destroy()
* ncplane_resize() work #64
5 years ago
nick black 742a27fd00 ncplane unit test tiling the screen #26 5 years ago
nick black f65d168d83 notcurses_render(): call term_setstyles() for sgr stuff #11 5 years ago
nick black d5cc65715e ncplane userptr routines + unit tests #26 5 years ago
nick black 5dfb07183c libav: throw an swscaler in the mix #61 5 years ago
nick black d423978e1b run ncvisual_decode() in libav unit tests 5 years ago
nick black cf557ff500 ncurses-view #61 5 years ago
nick black 3ef57d734e unit tests for egcpool removal #59 5 years ago
nick black 2080e0bff3 unit tests for exercised egcpool #59 5 years ago
Nick Black ba648dbd74
What a miserable evening tracking #57 (#60)
* widecolor-demo: don't emit spaces
* notcurses_init: newline before splash
* boxdemo: ncplane_erase() on entry #58
* uniblock-demo: print even wide chars #49
5 years ago
nick black f514fe234c switch demos to ncplane_rounded_box_cells() 5 years ago
nick black 728d4775b6
initialize nc_ in notcurses tests #54 5 years ago
nick black 9f334f88df
libav: don't require a notcurses ctx for tests #54 5 years ago
nick black 80519c92fa libav: add LoadVideo unit test #35 5 years ago
nick black 66432c37e1 libav: extract frame from AVFormatContext 5 years ago
nick black f20e8fde4b add notcurses_image_open() #23 5 years ago
nick black 7aaa0fcce1
track wide char as reported by wcwidth(), add unit test #6 5 years ago
nick black f67a97edfb
correctly handle ASCII + combining chars, add unit tests #36 5 years ago
nick black 94698a5982
add unit test for composed vs combined EGCs #36 5 years ago
nick black 0d1fbdff06 unit test for boxes outside planes #37 5 years ago
nick black 6f92ae92ab egcpool: unit tests for utf8 conversion #20 5 years ago
nick black a2f4fae96a huh 5 years ago
nick black ba08a6142e demo: call boxdemo 5 years ago
nick black d400c79870 implement ncplane_box() and unit test #9 5 years ago
nick black 2b467c99af implement ncplane_vline() + unit test #9 5 years ago
nick black e050770fde implement ncplane_hline() + unit test 5 years ago
nick black 0c262a3a6d implement ncplane_erase() #9 5 years ago
nick black 879009ff9a adapt test to new ncplane_putc() api 5 years ago
nick black 52e83dfcc2
Get UTF8 rendering properly #14 5 years ago
Nick Black b93bcebf0b
Extended grapheme clusters (#15)
Introduce egcpool for attached storage
Hook up style support
Switch entirely to UTF-8 char from wchar_t (#14)
Pull out next EGC in cell_load (#14)
5 years ago
nick black a509cb6320
someone set us up the bomb 5 years ago
nick black e4f041f522
start moving to utf-8 from wchar_t #14 5 years ago
nick black 5129021480
add EmitWchar unit test 5 years ago
nick black fd04c55d16
implement ncplane_putwstr #9 5 years ago
nick black 2f9821ce39
notcurses: interrogate terminfo for styles 5 years ago
Nick Black 7e92c8bb82
documentation and declarations (#13)
ncplane: flesh out API
ncplane: line and erase APIs
README.md: document differences from ncurses
notcurses_init(): print long term name
CMake: link librt into notcurses
cell: move functionality out to header
5 years ago
nick black a8721df75a
ncplane: flesh out API 5 years ago
nick black f07652f24b don't try to destroy nullptr ncplane in tests 5 years ago
nick black c16b03cd9f ncplane: more basic unit testing 5 years ago
nick black 1fb1be6a4d ncplane: unit tests for rgb 5 years ago
nick black 691d3d97b8 some ncplane unit tests 5 years ago
nick black a916c66052 introduce z-buffer of ncplanes 5 years ago
nick black d3f9329737 notcurses_options: allow outfd to be specified 5 years ago
nick black 787c27a812
demo: always reset the terminal on error 5 years ago
nick black 0f6e19dd92
notcurses_setrgb(): plug into direct mode when RGB flag is set 5 years ago
nick black 8fe936ca4c
ftairs! we have discovered ftairs! 5 years ago
nick black 231be96714
skip tests if no TERM is defined 5 years ago
nick black c1f4219dc1
notcurses_term_dimensions() + unit test 5 years ago
nick black 1fcae27627
just the basics 5 years ago
nick black 70df86ba17
version string, notcurses_version() 5 years ago