Commit Graph

242 Commits (7fc761296f1609e39441059f2aedb2d546db5f00)

Author SHA1 Message Date
nick black fa76f5a432
v1.6.11 4 years ago
nick black 8cfd1677c4
v1.6.10 4 years ago
nick black 77e04c63c5
CMake: only run PoC tests if TERM is set 4 years ago
nick black 92d365da19
CMake: kill duplicate doctest REQUIRED 4 years ago
nick black d126c71dd6
v1.6.9 4 years ago
nick black f8c16ceb79
v1.6.8 4 years ago
nick black 4f8673b0e9
v1.6.7 4 years ago
nick black 71db3dbe61 CMake: unset HAVE_UNISTRING_H cache to force search 4 years ago
nick black 0bd73e2f1f
CMake: drop dirgb from test suite due to excess output 4 years ago
nick black 604747c8f2 notcurses_puttext: use libunistring for wordbreaking #772 4 years ago
nick black 255b404842
ncplane_puttext(): start long words early
If we're fed a word that in and of itself is wider than
the text layout area, and it is not the first word on the
row on which it starts, go ahead and start it there, as
opposed to breaking the line. #720

Also, remove sgr from test suite, as it's not a notcurses
application.
4 years ago
nick black 759e001ca6
CMake: sgr isn't a notcurses app; don't run it as a test 4 years ago
nick black dd4d4817d1
CMake: run tests in serial #812 4 years ago
nick black 42b0be7f3a
Run PoC tests even without doctest #811
Add back the USE_DOCTEST CMake option, but make it conditional
upon BUILD_TESTING. If BUILD_TESTING is provided without
USE_DOCTEST, we build and run the PoC tests, just not
notcurses-tester. If neither is defined, no tests are available
(the PoC binaries are still built). If both are defined, build
the PoCs plus notcurses-tester, and run them all in make test.
4 years ago
nick black 17f1323c20
v1.6.6 4 years ago
nick black 2a4e728de6
CMake: don't install notcurses-pydemo 4 years ago
nick black 308b49da5a
v1.6.5 4 years ago
nick black b2e924319b
v1.6.4 4 years ago
nick black a4ee5bd9c7
v1.6.3 4 years ago
nick black 330b1612d4
CMake: fix up linux pkgconfig install path 4 years ago
nick black 3f544a4ed1
v1.6.2 4 years ago
nick black 62f6896715
CMake: remove python stuff; it'll be built externally 4 years ago
nick black fa343c92a4
install pkg-config to libdata on FreeBSD #792 4 years ago
nick black f5a84620d2
CMake: remove rust stuff; it's built externally 4 years ago
nick black 1cc0371373
v1.6.1 4 years ago
nick black 284dfc4fad
v1.6.0 4 years ago
Nick Black 415d4b813f
Tight work on unit testing, controlling tty vs output fd (#758)
* Some things go to the FILE* we're provided. Some can only go to a controlling terminal. Check to see if the FILE we're given is a TTY. If not, open up /dev/tty #752.
* term_emit(): fflush() can return EAGAIN. Loop on it to eliminate a rare error on shutdown that particularly affected unit tests (where we start and shut down Notcurses many times in a row).
* sgr poc: check return value of setlocale()
* drone: run all unit tests
* CMake: add some tests using PoCs
* ncneofetch: print even small palettes
4 years ago
nick black 6be683c83b rebase off master 4 years ago
nick black 6ab11e679f
v1.5.3 4 years ago
nick black 3a8b0150d3
move doctest --tce to drone.yaml 4 years ago
nick black 1b23e63f42
CTesst: exclude Ncpp,Exceptions for now 4 years ago
nick black aec94e86ee
CMake: run some PoCs + ncneofetch as tests 4 years ago
nick black 141e8229a8
use pkg_search_module() to find tinfo or ncurses #734 4 years ago
Nick Black 16c086b41a CMake: don't define killer options on FreeBSD 4 years ago
nick black ffab8b5294 lay groundwork for ncneofetch #550 4 years ago
Marek Habersack 5608b8735e [C++] Actually use compilation options
Fixes: https://github.com/dankamongmen/notcurses/issues/722

`-Wpedantic` is dropped because C code uses designated structure
initializers which are available in C++20 onward (and we use C++17
ATM). Once we switch to C++20 we should re-enable the flag.

`-fno-exceptions` is dropped because we do have exceptions, so...
4 years ago
nick black 929992c881 CMake: clean up defines a little 4 years ago
nick black 463f5acd6a CMake: unset cached result of qrcodegen header check #711 4 years ago
nick black c6657f763a
prep for 1.5.2 4 years ago
nick black 0657267274
v1.5.1 4 years ago
nick black 7fc38d8fdd
v1.5.0 4 years ago
nick black 3bc9a4cfa2
v1.4.5 4 years ago
nick black 84ae45ef39
remove all libsixel crap #200 4 years ago
nick black 354ece5826
v1.4.4.1 4 years ago
nick black 230f3af8e1
v1.4.4 4 years ago
nick black 89ffb6658e
CMake: improvements to testing usability
Replace USE_TESTS with BUILD_TESTING variable already exported by CTest.
Use the CMake 3.17 CMAKE_CTEST_ARGUMENTS to pass "-V" to ctest. #651
4 years ago
Nick Black ebcba82d4b
Fully general ncvisual layer (#647)
This represents an essentially complete rewrite of ncvisual and associated code. It had two major goals:

Improve the ncvisual API based off lessons learned, pursuant to the upcoming API freeze. In particular, I wanted to:

decouple ncvisuals from ncplanes. It should be possible to render a ncvisual to multiple planes, with different scaling each time. It should be possible to create an ncvisual without a plane, etc.
normalize the various ways of constructing an ncvisual -- file, memory, plane, etc.
Support multiple blitters, from 7-bit ASCII to Sixel. This required writing the blitters in several cases, and they're not yet in their final implementations (but the API is fine)
I have not yet unified Plots and Visuals, and might not, given that the Plot code works fine. We could at this point implement Plots in terms of Visuals, though -- the blitter backend range has been unified. Sixel is not yet implemented, though it is listed.

There is a new POC tool, blitter. It renders its arguments using all possible blitter+scaling combinations. Another new POC, resize, displays its argument, then resizes it to the screen size and displays that, explicitly making use of ncvisual_resize() rather than a scaling parameter to ncvisual_render().

This also eliminates some memory leaks and bugs we were seeing in trunk, and brings in Sixel scaffolding.

The C++ wrapper will also need patching back up; I cut most of it down while wrestling with this crap, urk.

Closes #638, #562, and #622.
4 years ago
Nick Black 478ebadd64 Revert "Change DSO versioning scheme"
This reverts commit 51205551f5.
4 years ago
Marek Habersack 51205551f5 Change DSO versioning scheme
This commit introduces the same shared library versioning scheme as used
by the SDL library.  The advantage is that different versions of
notcurses can be installed alongside each other (which is not an
unlikely scenario, as SDL itself certifies) and that, if the versioning
protocol is followed, any change to ABI will produce a DSO whose name
will not break any applications linked against any previous version.
4 years ago
nick black 8971bda0c2 ncpp: stop() resets _instance, add unit test #538 4 years ago