Commit Graph

260 Commits (ee15d4c1f473b05afee1430332774879487fed8d)

Author SHA1 Message Date
Nick Black e5d6685c92
No locks, more lox #290 (#358)
* README/CMake: only require doctest 2.3.5

* man pages: remove talk of locking #290

* Remove locking from notcurses core #290

* Purge locking from notcurses core #290
4 years ago
Nick Black e6637e81cc
Prep for serious rusting #101 (#354)
* CMake: add USE_PANDOC, USE_DOXYGEN options #101
* README: mention rust
* start integrating rust into build #101
* CMake: add USE_NETWORK option for cargo
* Debian: build-dep on doxygen
* rust: colloquy checks in Cargo.lock
* extract NCKEY defines into their own include
* colloquy: use clap to parse CLI args
* CMake: unify option namespace
* Python: update include path
* Rust: fix up --frozen workings for -DUSE_NETWORK=off
* CMake: abstract out colloquy a little
* Sync direct.hh to the New Way
4 years ago
Jakub Wilk f08d51c5e7 fix typos 4 years ago
nick black 3734262a52
README: link to Doxygen output 4 years ago
nick black d8fc0da91d
README: add link to guidebook 4 years ago
nick black 111a44fde5
update HISTORY with 1.2.0 release 4 years ago
nick black 438ee1257b
remove doctest, rely on system 4 years ago
nick black c6520ab84c add notcurses_drop_planes, use from demo #346 4 years ago
nick black ab9cbf82dc drop all images from README.md 4 years ago
nick black 6e97501ef7 add menu example to README 4 years ago
nick black 43bf0874d7 trim down NCKEY repetitions from README 4 years ago
nick black 643c1f4ed4 drop 0.4.0-sheet.png from README.md 4 years ago
nick black 8ecb4ba6a8 declare gradient functions #340 4 years ago
nick black 124004c87c add nplane_polyfill_yx() #340 4 years ago
nick black ce3e5d112e add ncdirect_clear() #343 4 years ago
nick black 6d629025e3 add ncdirect_fg_default() and ncdirect_bg_default() 4 years ago
nick black bfc28b0071 comment up ncdirect a bit better 4 years ago
nick black 9fc53e811f
ncplane_perimeter() plus unit test 4 years ago
nick black d8c42d4d1e
ncmenu_selected() fills in an ncinput #333 4 years ago
nick black 6b01d51cc1 add Robert Edmonds to THANKS 4 years ago
nick black b0c72607c4
ncmenu_offer_input(), use it in demo/pocmenu #333 4 years ago
nick black 7d1c977ba8
comment for nctablet_userptr() 4 years ago
nick black aacec297b2
ncmenu: declare ncmenu_offer_input() 4 years ago
nick black 74b9690cf3
ncmenu: remove dumb restrictions/special casing 4 years ago
nick black 1ed6000193 ncstats: add plane count, fix fbbytes accounting 4 years ago
nick black 62488eaf10
blit->ncblit #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 00f7973aea
remove obsoleted README line #321 4 years ago
nick black bb7b92ea4a
ncdirect_styles_*() declarations #321 4 years ago
nick black 443deee7a3
README: update rendering algorithm description #289 4 years ago
nick black 5cd3a4c41d
ncdirect_dim_y()/x() 4 years ago
nick black 2a9f3c5ab3
ncmenu_selected(), update docs #179 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 4c8adb0072
mention available in packages in README.md 4 years ago
nick black fdc541c6e5 copy over menu elements #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 6fde6e66b7 markdown syntax fixen 4 years ago
nick black 6e642f1749 more menu work #179 4 years ago
nick black 25ce448889
rgba_blit()/bgrx_blit() #311 4 years ago
nick black c1664170fd
selector: bgchannels only inside the body #302 4 years ago
nick black 5982707f9e
add mbswidth() function, unit tests, docs 4 years ago
nick black 85f042c644
add selector to README #302 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 25dde8c889
FAQ entry about hiding planes 4 years ago
nick black c04a68896c
README: add FAQ entry about c++ scopes 5 years ago
nick black 1fd0563093
Direct mode with its own type #77
Introduce the new type 'ncdirect', a stripped-down 'notcurses'
suitable for inline modification of regular output. Used the new
type because otherwise there were going to be if(directmode) checks
everywhere. Direct mode encompasses only colorizing and styling.
Add new man page notcurses_directmode(3). Add new section to README.
Add new PoC using direct mode RGB. Update demo table summary to use
direct mode.
5 years ago
nick black 2ea10d4b28 Remove clear_screen_start option
As it turns out, we can't portably load the initial terminal contents
(there are some hacks of various EXTREME nature, but none of them are
worth it for the rather limited benefit). The O(1)-time damage
inference requires knowledge of what was previously present to
inibit unnecessary draws. We would then need some special cell value
indicating "not yet written to" to distinguish a purposeful null
cell from an initial cell. Again, we could do this, but for what value?

Finally, the idea of clearing new area on SIGWINCH was always flawed,
as we can't do that from a signal handler.

With the advent of direct mode #77, the reason for this largely goes
away in any case.
5 years ago
nick black 4f719b5405
top-level credit to @grendello for c++ wrappers #212 5 years ago
nick black 507c3e1d00
expunge wayward fragment of comment 5 years ago
nick black a977b0de30
add 1.1.0 to the books 5 years ago
nick black 6e92492117
docs, python: add notcurses_canchangecolor() 5 years ago
nick black b7bc693ef7
i'm WarMECH, bitch 5 years ago
nick black 004f5ca1ea
Note copyright of Mark Ferrari for jungle demo 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 064759179c
add FAQ about render% > 100 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 6365fc0917 encode palette index into channels/attr #230 5 years ago
nick black 67b5a20758 implement ncplane_putwc_yx() 5 years ago
nick black c8f12b6412
uniblock: darken the area above the block 5 years ago
nick black dd7f8eff4b
ncvisual_stream: add timescale param 5 years ago
nick black 23b5078ed1
pulsing text declarations 5 years ago
nick black 243ddf0702
add widechars.png image to readme 5 years ago
nick black 922c639355 cell: add clipped 5 years ago
nick black 0f60af347d add clipped set functions 5 years ago
nick black 16cd377cf7 shout out to rebecca bowen for the fix 5 years ago
nick black 306045116f API: always call complex from static simple 5 years ago
nick black fac377b2bc CMake: require python3 5 years ago
nick black 523ba85815
update outcurses links 5 years ago
nick black c00fc3c3f7
mask out SIGWINCH in demo #262 5 years ago
nick black af1a5ea528
v1.0.0. Give. Sympathize. Control. 5 years ago
Nick Black f5c6297902
Chun Li demo (#251)
* chun li demo
* ncvisual_decode: allow multiple renders of the same frame
* add -H to notcurses-demo man page
* update section 1 man page versions
5 years ago
nick black 5dd90f3735 add ncplane_dim_[yx] quick accessors 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 03636b14d3
maxcolor -> trans, document loglevels 5 years ago
nick black 94f597a9bb ronn -> pandoc #245 5 years ago
nick black 390ca477bd
CMake: NAME_WLE requires CMake 3.14 5 years ago
nick black e81e58035e
notcurses_at_yx() added 5 years ago
nick black 41ff6fa5bd
update man pages for ncplane_new() 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 c21a04137c curry a void* through ncvisual_stream #113 5 years ago
nick black 46b1b8e622
notcurses_stats man page #213 5 years ago
nick black 8b4c64f9cc
link to HTML documentation 5 years ago
nick black 21c3861804
s/bannner/banner/g, heh 5 years ago
nick black b7f54e6e5f remove now-obsolete performance note :) #131 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 cad8471d76
build man pages using ronn 5 years ago
nick black 132793211c
capabilities testing for fade/ffmpeg 5 years ago
nick black b9a10cad9f README: make it clear that libav is optional 5 years ago
nick black 7889ffc0a8
kill duplicate documentation 5 years ago
nick black 4e0ebde876
intro: advertise 'q' demo: print full matrix 5 years ago
nick black 368da5bd81
update output API documentation #210 #209 5 years ago
nick black 6156fa72b0
build/run documentation 5 years ago
nick black 7dd875a230 sync documentation to new input code #165 5 years ago
nick black f742676aee Mouse support using button event tracking #165
Request and parse up mouse messages. We handle up to 11 mouse
buttons, 3 modifiers (currently thrown away), motion while
holding down a button, and loss/gain of focus. I've added twelve
new NCKEYs: one for each button, and one for release. In addition,
I've introduced the 'ncinput' struct, which encodes the nckey plus
extra data. The only extra data thus far is coordinates for mouse
events. It is not necessary to provide a ncinput to all input
functions; NULL can be provided if the caller doesn't care about
details. All demos are updated. notcurses-input has been updated
to decode full information of returned ncinputs.

The primary resource for this work was Dickey at al's "XTerm Control
Sequences", https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
5 years ago