Commit Graph

1960 Commits (e751557936ebd267c3ecb28b92ecf11819ea5c79)
 

Author SHA1 Message Date
nick black a571f4daaa
tests/wide.cpp: use modern range loop 4 years ago
nick black 1526cfc7b8
handle_getc(): check for NULL ni before writing ->alt 4 years ago
nick black e97d16b85f
plot.cpp: modernize return types 4 years ago
nick black 3f93d15cda
widestomp: apply clang-tidy-11 fixes 4 years ago
nick black 173af7b3c6
unit test upper left of rotated visual #569 4 years ago
nick black f84435f708
unit test ncplane_rgba() #569 #559 4 years ago
nick black 3aa0e482d3
ncplane_rgba: set up frame #559 4 years ago
nick black c96498de8a
ncplane_rgba(): check for validity of input #559 4 years ago
nick black 7337280e17
ncplane_at_yx(): const ncplane argument 4 years ago
nick black 5bdfc0183f
ncvisual_from_plane() #559 4 years ago
nick black 90dacae213
python/docs: declare ncvisual_from_plane() 4 years ago
nick black 43a685be1e
ncsubproc: update unit tests for exit propagation #554 4 years ago
nick black efc8c027a0
ncsubproc: harvest with waitpid(), pass up wstatus #554 4 years ago
nick black 94fcada67c
ncvisual_rotate: unify _cw/_ccw, take radians 4 years ago
nick black 20d0048838
CMake improvements/cleanup #565
Rather than inspecting CMAKE_BUILD_TYPE manually and setting
DEBUG_OPTIONS based off the results, set CMAKE_{C/CXX}_FLAGS_DEBUG,
and allow that to be picked up by CMake #565. Remove repeated -W
flags that were all over the place, making them global compiler
flags. Remove repeated FORTIFY=2 definition that was all over the
place, making it a global compiler definition. Remove all uses of
${DEBUG_FLAGS}. Also, since CMake doesn't define a CMAKE_BUILD_TYPE
by default, instead just setting neither debugging nor optimization
flags, in what seems a pretty fucking boneheaded move, set it by
default to RelWithDebInfo. ugh. Explicitly disuse unused PoC variables.
4 years ago
nick black 54154339f6
ncvisual_set_data() to track ncv->data for ownership 4 years ago
nick black 3e8cbca9e6
plug memory leak in whiteout demo 4 years ago
nick black b420722bfe
ncvisual_destroy() for null multimedia #568 4 years ago
nick black 102ff0a7ce
unify ncvisual_render() across ffmpeg/oiio #568 4 years ago
nick black 14fa7c350d
bgra_to_rgba(): remove obsolete assert #566 4 years ago
nick black 4446bbdf06
tria_blit(): interpret missing row as transparent #566 4 years ago
nick black f63325db60 Lots of ncvisual work
Unify ffmpeg/oiio/null implementations, where possible. This effectively
required placing all three in the same file, which meant they're all now
C++. Update FFmpeg implemenation to be C++-usable. Implement
ncvisual_rotate_cw() and ncvisual_rotate_ccw() #515. Move most of tetris
over to Visual from Plane #558. Add bgra_to_rgba(), necessary for
creating ncvisual from BGRA memory. Implement ncvisual_from_rgba()
and ncvisual_from_bgra() #557. Add unit tests on ncvisual rotation.
4 years ago
nick black f7e002d913 ncvisual_from_*: prefixes for all three modes #557 4 years ago
nick black 39548acc3a rename ncvisual_open_plane->ncvisual_from_file() #560 4 years ago
nick black 7e9cc29f8e add decls+docs for ncvisual_from_rgba/bgra #557 4 years ago
nick black 803296fb80 tetris: curpiece is now a Visual, not a Plane #558 4 years ago
nick black a2888f2c75 FAQ entry about 10-bit color 4 years ago
nick black 03f98e0101 USAGE: flesh out media section #556 4 years ago
nick black 2ec3a8a5ca visual.3: add ncvisual_subtitle() to man page 4 years ago
nick black ecdc85de11 USAGE: add section on multimedia #556 4 years ago
nick black 0135a6b54d rotation: ncvisual, not ncplane #515 4 years ago
nick black 0b22b561d2
notcurses-view: accept only valid -s arguments #563 4 years ago
Marek Habersack e23d5baea4 [C++] Sync API changes
Added:

  * class FDPlane (`ncfdplane*`)
  * class Subproc (`ncsubproc*`)
  * NotCurses: get_inputready_fd (`notcurses_inputready_fd`)
  * Plane: qrcode (`ncplane_qrcode`)
  * class PlotBase: templated base class for Plot variations
  * class PlotU: `uint64_t` instantiation of PlotBase (aliased to previous
    `Plot` class for source compatibility), `ncuplot*`
  * class PlotD: `double` instantiation of PlotBase, `ncdplot*`
4 years ago
nick black f14444cfca
multiselector: work in ASCII environment #451 4 years ago
nick black cd2cbd0d88
export enforce_utf8() via internal.h #451 4 years ago
nick black 4951a6876c
ncplane_putc_yx(): abstract to ncplane_cell_ref_yx() 4 years ago
nick black c0b2a64102
implement+doc notcurses_inputready_fd() #513 4 years ago
nick black d95bbb7c61
python: add input functions 4 years ago
nick black fd86da5530
kill_and_wait_subproc: no NULL siginfo_t for waiid() 4 years ago
nick black c8322e6cb1
ncfdplane: on non-following planes, break out on 0 read 4 years ago
nick black b34fa9be41
python: proper ncfdplane/ncsubproc decls 4 years ago
nick black 5132b5b2b5
ncsubproc: unify thread implementations #553 4 years ago
nick black 8feb01c7cc
rust: use ncplane_dim_{y|x} from libnotcurses-sys 4 years ago
nick black 0d38adc60a
rust: move inline replacements to libnotcurses-sys 4 years ago
nick black ff18138349
rust: ncplane_perimeter(), cells_rounded_box() 4 years ago
nick black 63f65a0902
rust: proper subslice in ncplane_putstr() 4 years ago
nick black a23efbb463
rigourize ncsubproc destruction
We need support three distinct paths for destruction of
ncsubprocs: (1) external call to ncsubproc_destroy() while
the subprocess is running, (2) external call to
ncsubproc_destroy() after the subprocess has terminated, and
(3) internal call to ncsubproc_destroy() without any external
call. To do this properly, we always waitid() on the subprocess
in our ncsubproc thread, and do not cancel said thread. This
guarantees that the subprocess has been reaped if the thread
has exited. We throw a pidfd_send_signal() into the thread
prior to the waitid(), because this is safe with pidfds. The
thread reclaims no resources otherwise. ncsubproc_destroy(),
instead, reclaims them, after joining the ncsubproc thread.
It sends SIGKILL before the join, which is once again safe
thanks to pidfds. Resolves #552.
4 years ago
nick black 6d0fb39458
python: add ncfdplane/ncsubproc decls 4 years ago
nick black c9088ff37b
subproc unit test rename 4 years ago
nick black 456c54e9bd
fds.3: detail usage of ncsubproc_destroy() #552 4 years ago