Commit Graph

315 Commits (ca0907a6282e8f71ff6a3f111fee6fa19750f463)

Author SHA1 Message Date
nick black d40c46a7aa
README: fix up syntax in header list 4 years ago
nick black 5f42e06383 oiio: open and close image #453 4 years ago
nick black 6045c54189 move usage stuff into USAGE.md 4 years ago
nick black 11c5aacb08
ncsubproc: move to big bad clone3() #310 4 years ago
nick black 04f90fa1ea
ncsubproc: launch processes, make pipes
link to LWN article in History section of README.md.
4 years ago
Nick Black fe8034b5e0
ncfdplane, fileroller PoC, ncfdplane unit tests, qrcodes #24 #514 (#524)
* first draft of ncsubproc spec
* qrcode first draft #24
* demo: add qrcode demo skeleton, entries #24
* qrcode demo #24
* fedora python build changes from @dcantrell
* ncplane_qrcode() works #24
* add some flash to the qrcode demo #24
* drone: use newest builders
* fix up rgb PoC
* drop jungle demo to 100Hz target
* add fd.c
* ncfd skeletons
* more ncfdplane #514
* ncfdp i/o loop
* ncfp: improve uinit test, write core
* firm up ncfdplane #514
* fileroller PoC #514
* ncplane: allow '\n' in stream when scrolling #523
4 years ago
nick black 790a953c82
list libqrcodegen in README 4 years ago
nick black 40f36a9fb4
accepted into Debian, like a boss 4 years ago
Nick Black 1c7796a2b0
ncdirect_cursor_yx, ncdirect_cursor_pop, ncdirect_cursor_push #401 (#492)
* ncdirect_cursor_{push, pop, yx} declarations #401
* direct PoC: invoke ncdirect_cursor_yx() #401
* direct PoC: move to top of screen #401
* OTHERS.md: mention blessings
* ncdirect_cursor_yx working #401
* CHANGELOG: mention ncdirect_cursor_*() #401
4 years ago
Nick Black c6a9997554
Normalize ncplane_at_* / ncplane_set_base() (#479)
* ncplane_at_* and ncplane_at_cursor_*

We had notcurses_at_yx() expanding into three distinct parts of
the cell structure, and ncplane_at_yx() / ncplane_at_cursor()
writing directly to a cell. It was annoying to remember which
was which. The latter two now have a signature matching
notcurses_at_yx(), while the old functionality has been moved
to ncplane_at_yx_cell() and ncplane_at_cursor_yx(). #476
4 years ago
nick black 957e09671e debian: repack DFSG tarball using uscan #496 4 years ago
nick black 6cbca20d0a
add 1.3.0 release to README 4 years ago
nick black 9a202b558e
remove colloquy from specfile, README 5 years ago
nick black 4c9a756630
drop notcurses-keyplot from README 5 years ago
nick black 2c2da61c72
ncdirect: add relative move functions #419 5 years ago
Nick Black c2a645e9af
Rust wrapper work (#454)
* packaging: s/libtinfo/Terminfo/g
* rust: add stddim_yx()
* rust: check for valid init in unit tests
* rust: serialize up tests
* constify notcurses_term_dim_yx()
* rust: add dim wrappers
* remove notcurses_resize() from public API #367
* call notcurses_resize() from notcurses_refresh() #367
5 years ago
nick black 5c44416426
export ncplane_putstr_yx() as static inline 5 years ago
nick black 4a6ab358ba inline ncplane_putsimple_yx() 5 years ago
nick black 32c590ea64 document details of scrolling #323 5 years ago
nick black fcd7e19e4c Add ncplane_set_scrolling() #323 5 years ago
nick black 7cf3bad556
note that ANSI_X3.4-1968 is also allowed 5 years ago
nick black 459b1029af README: add notcurses-keyplot to app list 5 years ago
nick black af478ccf95
README: book has been published, link it =] 5 years ago
nick black a45d888601
All fill-type functions return cells changed
Fill-type functions used to return 0 for success, and -1
on failure. They now return the number of cells written
on success, similarly to ncvisual_render(). Resolves #427.
5 years ago
nick black 8651486ad7
Don't say DirectColor when TrueColor is meant 5 years ago
nick black a77774f4dc
notcurses_at_yx(): value-result u32+u64, not cell
Resolves #410. notcurses_at_yx() accepted a cell*, but the
gcluster of this cell was always set to 0. The EGC is instead
a heap-allocated copy, returned as the primary return value.
This is due to the absence of an egcpool to bind against.
Existing callers can be converted thus:

* instead of passing cell 'c', pass &(c)->attrword, &(c)->channels
* either initialize 'c' with CELL_TRIVIAL_INITIALIZER, or set its
   gcluster field to 0 following the call

I've updated all calls from tests/demos, updated the docs, and
updated the C++ and Python wrappers.
5 years ago
nick black 73b61f6a69 Add bound planes (#71) plus docs/tests
Add ncplane_bound(3). This allows a new plane N to be created in the
*bound* state relative to another ncplane B. If B moves, N moves the
same amount. If N is moved, the coordinates are taken relative to B
as opposed to the standard plane. If B is destroyed, N is destroyed.
Each plane can have many planes bound to it, but can only be bound to
a single plane. Add ncplane_reparent(3). This allows a plane to be
detached from any plane to which it is bound, and optionally rebound
to a new plane. The standard plane cannot be reparented.
Documentation and unit tests have been added for both.
5 years ago
nick black ff71eda6a1
reels are a cylinder, not a torus 5 years ago
nick black ee754ed241
Tetris: simplify MoveDown(), don't be stupid 5 years ago
Nick Black de9158bd7b
More tetris work for book #421 (#423)
* tetris: use NES gravities
* tetris: use NES grav multiplier of 50ms
* tetris: implement move down #421
* README: mention notcurses-tetris #421
* tetris: use double box for boundary #421
* tetris: extract background.h
* tetris: break up into chunks suitable for book
* tetris: do the rotations
5 years ago
nick black 060c0c2a47 README: WINDOW->plane in reel docs 5 years ago
nick black 38f4255dc0 Define ncplane_mergedown() #361
ncplane_mergedown() is similar to the "Merge down" operation
in the GIMP. It writes to the destination plane the result
of rendering the source and destination frames per se.
5 years ago
nick black 6f9fdc115a published next month! :D 5 years ago
nick black ba90c70a47
ncplane_cursor_yx() takes const first argument 5 years ago
nick black db30bcf0d2
document new ncdirect functions for cursor #402 5 years ago
Nick Black c056a0a026
Subregion renders #293 (#404)
Add four new fields to notcurses_options: margin_{tblr}, which requests margins to the top, right, bottom, and left. Render only within those margins, leaving the screen otherwise untouched (well, cleared if using the alternate screen). #293
5 years ago
nick black 638be8feb7 multiselector options/items #322 5 years ago
nick black eead4c1414
notcurses_highgradient() added #398 5 years ago
nick black 333f7c1192
define ncplane_rotate_cw/ccw() 5 years ago
nick black afe724ee1d
docs: update for ncplane_translate_abs() 5 years ago
nick black bb579d0d05
notcurses_directmode()->ncdirect_init() 5 years ago
nick black c6f27f1bee
notcurses_resize() update docs #367 5 years ago
nick black a39efb1d6d
move selector, menu documentation to book 5 years ago
nick black fce0d9d88d
README: send multimedia to book 5 years ago
nick black 13beb9703f
move some README content to the book 5 years ago
nick black 4fb8500631
README: add link to mailing list 5 years ago
nick black a09bdc4ade
Add seqnum field to ncinput #374 5 years ago
nick black a626178b16
ncdirect: cursor movement / geom detection #382 5 years ago
nick black 9b0603bb32
Implement + test ncplane_mouseevent_p() #305 5 years ago
Nick Black 745e742a12
Fix gradient engine #368 (#372)
Simplify and correct the gradient engine, resolving all test breakage.
5 years ago
nick black 5e38da9ea3
implement ncplane_stain() #347 5 years ago
nick black 002e8be574
implement ncplane_format() #347 5 years ago
nick black 2780734efd
add ncplane_translate() 5 years ago
nick black f9d98dd05c
notcurses_stdplane_dimyx() #365 5 years ago
nick black 35d850f008
Implement + test ncplane_putegc_stainable() #352 5 years ago
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
5 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
5 years ago
Jakub Wilk f08d51c5e7 fix typos 5 years ago
nick black 3734262a52
README: link to Doxygen output 5 years ago
nick black d8fc0da91d
README: add link to guidebook 5 years ago
nick black 111a44fde5
update HISTORY with 1.2.0 release 5 years ago
nick black 438ee1257b
remove doctest, rely on system 5 years ago
nick black c6520ab84c add notcurses_drop_planes, use from demo #346 5 years ago
nick black ab9cbf82dc drop all images from README.md 5 years ago
nick black 6e97501ef7 add menu example to README 5 years ago
nick black 43bf0874d7 trim down NCKEY repetitions from README 5 years ago
nick black 643c1f4ed4 drop 0.4.0-sheet.png from README.md 5 years ago
nick black 8ecb4ba6a8 declare gradient functions #340 5 years ago
nick black 124004c87c add nplane_polyfill_yx() #340 5 years ago
nick black ce3e5d112e add ncdirect_clear() #343 5 years ago
nick black 6d629025e3 add ncdirect_fg_default() and ncdirect_bg_default() 5 years ago
nick black bfc28b0071 comment up ncdirect a bit better 5 years ago
nick black 9fc53e811f
ncplane_perimeter() plus unit test 5 years ago
nick black d8c42d4d1e
ncmenu_selected() fills in an ncinput #333 5 years ago
nick black 6b01d51cc1 add Robert Edmonds to THANKS 5 years ago
nick black b0c72607c4
ncmenu_offer_input(), use it in demo/pocmenu #333 5 years ago
nick black 7d1c977ba8
comment for nctablet_userptr() 5 years ago
nick black aacec297b2
ncmenu: declare ncmenu_offer_input() 5 years ago
nick black 74b9690cf3
ncmenu: remove dumb restrictions/special casing 5 years ago
nick black 1ed6000193 ncstats: add plane count, fix fbbytes accounting 5 years ago
nick black 62488eaf10
blit->ncblit #324 5 years ago
nick black 89f516dcaa
tablet->nctablet, add ncreel to python #324 5 years ago
nick black c519c95fff
panelreel -> ncreel #324 5 years ago
nick black b284901d18
prep for 1.1.6 5 years ago
nick black 00f7973aea
remove obsoleted README line #321 5 years ago
nick black bb7b92ea4a
ncdirect_styles_*() declarations #321 5 years ago
nick black 443deee7a3
README: update rendering algorithm description #289 5 years ago
nick black 5cd3a4c41d
ncdirect_dim_y()/x() 5 years ago
nick black 2a9f3c5ab3
ncmenu_selected(), update docs #179 5 years ago
nick black 4d613217b3
ncmenu: only allow one at a time 5 years ago
nick black 10a269c963
ncmenu: reject double menu 5 years ago
nick black 4c8adb0072
mention available in packages in README.md 5 years ago
nick black fdc541c6e5 copy over menu elements #179 5 years ago
nick black 54c57b3487 s/CELL_STYLE/NCSTYLE/ throughout 5 years ago
nick black 8984422f1e basics of menu #179 5 years ago
nick black 6fde6e66b7 markdown syntax fixen 5 years ago
nick black 6e642f1749 more menu work #179 5 years ago
nick black 25ce448889
rgba_blit()/bgrx_blit() #311 5 years ago
nick black c1664170fd
selector: bgchannels only inside the body #302 5 years ago
nick black 5982707f9e
add mbswidth() function, unit tests, docs 5 years ago