Commit Graph

260 Commits (ee15d4c1f473b05afee1430332774879487fed8d)

Author SHA1 Message Date
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 4 years ago
nick black 4c9a756630
drop notcurses-keyplot from README 4 years ago
nick black 2c2da61c72
ncdirect: add relative move functions #419 4 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
4 years ago
nick black 5c44416426
export ncplane_putstr_yx() as static inline 4 years ago
nick black 4a6ab358ba inline ncplane_putsimple_yx() 4 years ago
nick black 32c590ea64 document details of scrolling #323 4 years ago
nick black fcd7e19e4c Add ncplane_set_scrolling() #323 4 years ago
nick black 7cf3bad556
note that ANSI_X3.4-1968 is also allowed 4 years ago
nick black 459b1029af README: add notcurses-keyplot to app list 4 years ago
nick black af478ccf95
README: book has been published, link it =] 4 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.
4 years ago
nick black 8651486ad7
Don't say DirectColor when TrueColor is meant 4 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.
4 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.
4 years ago
nick black ff71eda6a1
reels are a cylinder, not a torus 4 years ago
nick black ee754ed241
Tetris: simplify MoveDown(), don't be stupid 4 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
4 years ago
nick black 060c0c2a47 README: WINDOW->plane in reel docs 4 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.
4 years ago
nick black 6f9fdc115a published next month! :D 4 years ago
nick black ba90c70a47
ncplane_cursor_yx() takes const first argument 4 years ago
nick black db30bcf0d2
document new ncdirect functions for cursor #402 4 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
4 years ago
nick black 638be8feb7 multiselector options/items #322 4 years ago
nick black eead4c1414
notcurses_highgradient() added #398 4 years ago
nick black 333f7c1192
define ncplane_rotate_cw/ccw() 4 years ago
nick black afe724ee1d
docs: update for ncplane_translate_abs() 4 years ago
nick black bb579d0d05
notcurses_directmode()->ncdirect_init() 4 years ago
nick black c6f27f1bee
notcurses_resize() update docs #367 4 years ago
nick black a39efb1d6d
move selector, menu documentation to book 4 years ago
nick black fce0d9d88d
README: send multimedia to book 4 years ago
nick black 13beb9703f
move some README content to the book 4 years ago
nick black 4fb8500631
README: add link to mailing list 4 years ago
nick black a09bdc4ade
Add seqnum field to ncinput #374 4 years ago
nick black a626178b16
ncdirect: cursor movement / geom detection #382 4 years ago
nick black 9b0603bb32
Implement + test ncplane_mouseevent_p() #305 4 years ago
Nick Black 745e742a12
Fix gradient engine #368 (#372)
Simplify and correct the gradient engine, resolving all test breakage.
4 years ago
nick black 5e38da9ea3
implement ncplane_stain() #347 4 years ago
nick black 002e8be574
implement ncplane_format() #347 4 years ago
nick black 2780734efd
add ncplane_translate() 4 years ago
nick black f9d98dd05c
notcurses_stdplane_dimyx() #365 4 years ago
nick black 35d850f008
Implement + test ncplane_putegc_stainable() #352 4 years ago