Commit Graph

1741 Commits

Author SHA1 Message Date
Marek Habersack
3ea7bbba18 [C++] Restore NotCurses::render semantics
Go back to returning `bool`, it was an oversight in 64eeb95f
2020-04-18 15:21:24 -04:00
nick black
80a1185529 whiteout: kill worm_thread, eliminate race #504 2020-04-18 12:52:18 -04:00
nick black
9fa52fcdef demo: move input handling into demo thread #504 2020-04-18 12:52:18 -04:00
nick black
dba42f9eef
ncplane_at_yx_cell(): plug memory leak on success path 2020-04-18 08:15:24 -04:00
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
2020-04-18 07:11:33 -04:00
nick black
1a670ba443
drone: use newest builders 2020-04-18 05:35:53 -04:00
nick black
9e28e14001
move enforce_utf8() into main 2020-04-18 03:00:25 -04:00
nick black
2c131c4c2d
drone: drop debian stuff 2020-04-18 02:13:24 -04:00
nick black
0a6f5d1a9f
enforce_utf8() for wide tests, duh 2020-04-18 01:59:21 -04:00
nick black
11600b6820
ensure UTF8 for metric tests 2020-04-18 01:39:34 -04:00
nick black
305b517191
v1.3.1 2020-04-18 00:36:38 -04:00
nick black
e00ef4aca9
prep for 1.3.1 2020-04-18 00:35:15 -04:00
nick black
e255c3e9f7
remove debian packaging materia #497 2020-04-18 00:35:10 -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
50e0870432 Revert "Prevent -I/usr/usr/include in the pkg-config files."
This reverts commit d294dc7dc9.
2020-04-17 22:25:58 -04:00
David Cantrell
d294dc7dc9 Prevent -I/usr/usr/include in the pkg-config files. 2020-04-17 22:12:07 -04:00
nick black
1381a7d141
Debian: add README.source, upstream/metadata #499 2020-04-17 22:00:00 -04:00
nick black
6ad40ff3fc
debian: add samoa.asp OpenShot source #498 2020-04-17 21:43:11 -04:00
nick black
f644ed9e54
debian: notcursesI.osp #498 2020-04-17 21:32:07 -04:00
nick black
5019d97521
debian: add copyright comment about data/ #498 2020-04-17 21:26:55 -04:00
nick black
f6c92e2884
debian: add copyright stanza for debian materials #498 2020-04-17 21:18:47 -04:00
nick black
9328082268 Reversion 1.3.0-1 -> 1.3.0+dfsg.1-1 #496 2020-04-17 21:14:12 -04:00
nick black
957e09671e debian: repack DFSG tarball using uscan #496 2020-04-17 21:14:12 -04:00
nick black
5880083022 CMake: don't install data/ .xcf files #498 2020-04-17 21:14:12 -04:00
nick black
177b91da7e Remove unused ebola.jpeg 2020-04-17 21:14:12 -04:00
nick black
a764abb569 GIMP source for tetris-background.jpeg #498 2020-04-17 21:14:12 -04:00
nick black
0e47db3979 quadrant/braille step plots #461 2020-04-16 11:41:20 -04:00
nick black
6ec9b2d250 hrm 2020-04-16 11:41:20 -04:00
nick black
d9884a5f74 8x1 2020-04-16 11:41:20 -04:00
nick black
d274af34b9 ncplot: define 2x2 and 4x2 sets #461 2020-04-16 11:41:20 -04:00
nick black
4297bbb3dc
notcurses-input: hook up ^L #493 2020-04-16 06:34:16 -04:00
nick black
1a4c8bbf85
notcurses-input: flip for ncpp::render inversion 2020-04-16 05:55:31 -04:00
nick black
8f6d5cacf5 notcurses-view: match Notcurses::render inversion #489 2020-04-16 05:19:55 -04:00
nick black
5c22351652 ncreel: update for ncpp render inversion 2020-04-16 05:19:49 -04:00
nick black
e27895ef2e Optimized general cursor moves #483 2020-04-16 00:35:47 -04:00
nick black
355ea6d3d7
Allow EGCpools up to 1GB #425 2020-04-15 23:49:10 -04:00
nick black
43c8b9fdb6 ncpp: drop USE_FFMPEG guards #488 2020-04-15 22:20:34 -04:00
nick black
c6aa99afba eliminate infinite loop in mathtext PoC 2020-04-15 16:53:56 -04:00
nick black
f356af418b
Scrolling: cell_release() cleared rows #482 2020-04-15 16:46:15 -04:00
nick black
a4e1d68786
Add ExhaustPool unit test #482 2020-04-15 16:36:17 -04:00
nick black
3ddb1d3166
EGCPool: early realloc failure is not a hard fail
We do proactive reallocations of the EGCPool once we get
to 90% capacity, to avoid expensive exhaustive searches. When
we're over half the maximum size, though, this will fail. We
shouldn't treat that as a hard failure, but instead proceed on
to the search. This lets us hit the full 32MB EGCPool size #486.
2020-04-15 16:33:22 -04:00
nick black
08e769f989
rasterize: don't emit 0-byte write()s #482 2020-04-15 13:27:15 -04:00
nick black
453629462b
CHANGELOG: add note about Notcurses::render() return value change #484 2020-04-15 12:50:48 -04:00
nick black
ffdee735cb
Tetris: update to reflect ncpp render() return value inversion #484 2020-04-15 12:49:37 -04:00
nick black
a0669974ff
ncplane_putstr_yx(): don't map 0 to -1 #485 2020-04-15 12:32:27 -04:00
Marek Habersack
64eeb95f1e [C++] Optionally enable throwing exceptions on errors
Nick prefers error handling based on exceptions in all cases, while I
prefer to save exception handling for truly exceptional situations -
function parameter validation and class constructor. However, there's no
need to not support both approaches, to be chosen at the discretion of
the developer.

NCPP follows RAII and all classes throw exceptions from their
constructors in case they cannot initialize properly. Likewise,
functions taking pointers that are required validate them and throw
exceptions whenever the requirement isn't met.

This commit goes one step further in that it enables optional validation
of notcurses function return values and throwing an
exception (`ncpp::call_error`) should the function signal an error. This
is disabled by default but it can be enabled by defining the
`NCPP_EXCEPTIONS_PLEASE` macro (preferably on the command line or
before *each* inclusion of any NCPP headers).

Out of necessity, this breaks the ABI (plus I found a handful of minor
issues in the code), but I think it's worth having this support in
place.
2020-04-15 12:10:14 -04:00
nick black
a5a2b5646a add PoC scroller #443 2020-04-15 11:37:57 -04:00
nick black
327c9cba78 Scrolling! all unit tests work #443 2020-04-15 11:37:57 -04:00
nick black
b385feef8f zero out newly-scrolled lines #443 2020-04-15 11:37:57 -04:00
nick black
646bcf3db2 finish out ScrollingOffBottom test #443 2020-04-15 11:37:57 -04:00