Commit Graph

1774 Commits (c0b2a641020efc2ac2794508af86cdf8690d650b)
 

Author SHA1 Message Date
nick black 6ad40ff3fc
debian: add samoa.asp OpenShot source #498 4 years ago
nick black f644ed9e54
debian: notcursesI.osp #498 4 years ago
nick black 5019d97521
debian: add copyright comment about data/ #498 4 years ago
nick black f6c92e2884
debian: add copyright stanza for debian materials #498 4 years ago
nick black 9328082268 Reversion 1.3.0-1 -> 1.3.0+dfsg.1-1 #496 4 years ago
nick black 957e09671e debian: repack DFSG tarball using uscan #496 4 years ago
nick black 5880083022 CMake: don't install data/ .xcf files #498 4 years ago
nick black 177b91da7e Remove unused ebola.jpeg 4 years ago
nick black a764abb569 GIMP source for tetris-background.jpeg #498 4 years ago
nick black 0e47db3979 quadrant/braille step plots #461 4 years ago
nick black 6ec9b2d250 hrm 4 years ago
nick black d9884a5f74 8x1 4 years ago
nick black d274af34b9 ncplot: define 2x2 and 4x2 sets #461 4 years ago
nick black 4297bbb3dc
notcurses-input: hook up ^L #493 4 years ago
nick black 1a4c8bbf85
notcurses-input: flip for ncpp::render inversion 4 years ago
nick black 8f6d5cacf5 notcurses-view: match Notcurses::render inversion #489 4 years ago
nick black 5c22351652 ncreel: update for ncpp render inversion 4 years ago
nick black e27895ef2e Optimized general cursor moves #483 4 years ago
nick black 355ea6d3d7
Allow EGCpools up to 1GB #425 4 years ago
nick black 43c8b9fdb6 ncpp: drop USE_FFMPEG guards #488 4 years ago
nick black c6aa99afba eliminate infinite loop in mathtext PoC 4 years ago
nick black f356af418b
Scrolling: cell_release() cleared rows #482 4 years ago
nick black a4e1d68786
Add ExhaustPool unit test #482 4 years ago
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.
4 years ago
nick black 08e769f989
rasterize: don't emit 0-byte write()s #482 4 years ago
nick black 453629462b
CHANGELOG: add note about Notcurses::render() return value change #484 4 years ago
nick black ffdee735cb
Tetris: update to reflect ncpp render() return value inversion #484 4 years ago
nick black a0669974ff
ncplane_putstr_yx(): don't map 0 to -1 #485 4 years ago
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.
4 years ago
nick black a5a2b5646a add PoC scroller #443 4 years ago
nick black 327c9cba78 Scrolling! all unit tests work #443 4 years ago
nick black b385feef8f zero out newly-scrolled lines #443 4 years ago
nick black 646bcf3db2 finish out ScrollingOffBottom test #443 4 years ago
nick black 40067c0ccd interpret logical plane line via scrolled_row() #443 4 years ago
nick black 40fd887012 New unit test for scrolling ScrollingOffBottom #443 4 years ago
nick black ad9828e808 add ScrollingBoxen unit test 4 years ago
nick black 062caf0dfd Doxygen: use recommended logo size 4 years ago
nick black d6ba4b35a6
fedora: don't provoke 'installed but unpackaged' bah 4 years ago
nick black d1360e891b
fedora: don't install notcurses-view man page 4 years ago
nick black 43fafb1a61
fedora: don't install notcurses-tester man page 4 years ago
nick black d98f89c167
check channels in WidePlaneAtopNarrow test #475 4 years ago
nick black 87136c37d3
flesh out two more Wide+Narrow tests #475 4 years ago
nick black a7d9220f21 cell_load(): recycle when possible #473 4 years ago
nick black 45b821645a Only left sides of wide glyphs are 2 columns
At various places in rendering and rasterizing, we advance two
columns upon encountering a wide glyph. When dealing with a
single plane, this is always correct, because we're always
hitting the first column of the multicolumn glyph. Once multiple
planes are brought into play, though, we can very much hit the
second column of said glyph, in which case we mustn't advance
two columns, but only one. Resolves #474 by way of #475. w00t!
4 years ago
nick black 05cdd1514b pull in PlaneStompsWideGlyph from render.cc 4 years ago
nick black 1c41705d99 flesh out NarrowPlaneAtopWide unit test #475 4 years ago
nick black 295ae0a8d0
extract wide glyph unit tests into their own file #475 4 years ago
nick black c934c7be49
colons in output 4 years ago
nick black bd08712a0e
highcon: hoist out loop for great speedup #468 4 years ago
nick black 14184e8dbb
summary: use colons rather than slashes for emit:elide 4 years ago