Commit Graph

114 Commits

Author SHA1 Message Date
nick black
35cb5d9511
GrowPlanes tests: use valid arguments #1215 2020-12-16 06:40:43 -05:00
nick black
bcbf7a490f
add ReparentDeep unit test #1214 2020-12-16 03:21:46 -05:00
nick black
fd2acde1b1 rename cell->nccell, keep alias #1200 2020-12-13 00:49:37 -05:00
nick black
f3b86230e6
NCPlane tests: reenable GrowPlane #1198 2020-12-11 20:59:34 -05:00
nick black
4a7353c1ec
PlaneAtCursorAttrs: home cursor #1197 2020-12-11 19:55:53 -05:00
nick black
448251e3f2 NCPlane: endianness fixes for unit tests #1130 2020-12-09 01:30:38 +00:00
nick black
47c4931906
EmitEmojiStr: purge a few not yet valid on ubuntu #1189 2020-12-08 05:40:38 -05:00
nick black
03bcd1e01b kill enforce_utf8(), forcing notcurses_canutf8() 2020-11-28 23:55:17 -05:00
nick black
a6101d4fa2 ncplane_reparent: extract from z-axis #1078 2020-11-24 02:46:30 -05:00
nick black
58e4cf626d ncplane_reparent(): excise children #1078 2020-11-24 02:46:30 -05:00
nick black
b6e5b60374 ncpile_create() not NCPLANE_OPTION_NEWPILE #1078 2020-11-23 22:58:05 -05:00
nick black
3ad9a40426 hook up piles #1078 2020-11-23 22:58:05 -05:00
nick black
de082c7ba2 ncpile creation/destruction #1078 2020-11-23 22:58:05 -05:00
nick black
eef6df8c0a death to horiz #1115 2020-11-17 23:42:36 -05:00
nick black
dc8e52c3de ncplane/resize/scroll/selector unit tests: ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
683217ef07 normalize style setters #1034 2020-09-29 13:09:44 -04:00
nick black
a4367fcfb5 rip out ncplane_ creation functions #985 2020-09-18 17:46:57 -04:00
nick black
e42dbdfd60 _stainable() -> _stained() #985 2020-09-18 02:02:08 -04:00
nick black
b7a57eaab7 convert all channel rgb calls #985 2020-09-18 01:39:21 -04:00
nick black
4bb1f3fc85 mbswidth -> ncstrwidth() #985 2020-09-15 01:39:42 -04:00
nick black
2f28420034 rename ncplane_putsimple() -> ncplane_putchar() #912 2020-08-31 21:14:29 -04:00
nick black
16ff667325 blissful endianness-opacity
not caring about endianness is the opiate of the masses.
happy, happy masses. remove endianness.h and all its baleful
influence by explicitly breaking up the cell structure. #892
2020-08-16 01:44:36 -04:00
nick black
7f8631b35c wide tests: death to cowardly copying 2020-08-15 17:38:20 -04:00
nick black
3bc15c2824 inlined egcs: straightline cell_duplicate() 2020-08-15 17:38:20 -04:00
nick black
1605416585 more egc-inline test fixes 2020-08-15 17:38:20 -04:00
nick black
604747c8f2 notcurses_puttext: use libunistring for wordbreaking #772 2020-07-22 03:31:54 -04:00
Nick Black
d5dca33e00 ncneofetch: don't print (null) for distro_pretty 2020-06-28 06:43:29 -04:00
nick black
b49d1ad838
rewrite all unit tests to use testing_notcurses() #718 2020-06-15 23:58:43 -04:00
nick black
b2dcc50606
notcurses_options: fold bools into flags 2020-06-07 05:08:46 -04:00
nick black
75f458d69a
ncplane_yx: results are relative to bound plane 2020-06-03 12:17:51 -04:00
nick black
0766007a77
tester: kill off inhibit_alternate_screen #651 2020-05-29 02:30:57 -04:00
nick black
6edc6f098f
streamline unit test common initialization 2020-05-17 07:57:21 -04:00
nick black
d9bb9b03af notcurses-tester: run passing tests in C locale #325 2020-05-11 05:59:55 -04:00
nick black
ed548ab590
tests: apply clang modernizations 2020-05-07 00:52:40 -04:00
nick black
9e28e14001
move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
nick black
0a6f5d1a9f
enforce_utf8() for wide tests, duh 2020-04-18 01:59:21 -04:00
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
2020-04-18 00:09:14 -04:00
nick black
295ae0a8d0
extract wide glyph unit tests into their own file #475 2020-04-13 23:12:10 -04:00
nick black
e6a80ab98d Strip down OverWide unit test 2020-04-12 07:07:02 -04:00
nick black
d26b111f35 new unit test Ncplane::OverWide #362 2020-04-12 07:07:02 -04:00
nick black
a7f17040ce another scrolling unit test 2020-04-05 23:54:38 -04:00
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.
2020-03-27 03:49:13 -04:00
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.
2020-03-27 03:13:30 -04:00
nick black
3498956370
ncplane_mouseevent_p()->ncplane_translate_abs()
ncplane_mouseevent_p() is retired--it was poorly named, and
ncplane_translate_abs() does what it does, plus more, plus
more generally (it works on any y, x, not necessarily an
ncinput). update c++ wrappers #394.
2020-03-03 00:59:44 -05:00
nick black
9b0603bb32
Implement + test ncplane_mouseevent_p() #305 2020-02-23 03:50:17 -05:00
Nick Black
745e742a12
Fix gradient engine #368 (#372)
Simplify and correct the gradient engine, resolving all test breakage.
2020-02-22 21:00:03 -05:00
nick black
002e8be574
implement ncplane_format() #347 2020-02-21 06:52:57 -05:00
nick black
35d850f008
Implement + test ncplane_putegc_stainable() #352 2020-02-20 04:41:56 -05:00
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
2020-02-18 12:36:16 -05:00
nick black
9fc53e811f
ncplane_perimeter() plus unit test 2020-02-12 12:29:28 -05:00