Commit Graph

573 Commits (a3c593eed94b935873b6b19cedab0bba1099ab46)

Author SHA1 Message Date
nick black 5b4d920646 pixel documentation 4 years ago
nick black 6c7c9be6d2 require explicit check for pixel support
Add `notcurses_check_pixel_support()` and
`ncdirect_check_pixel_support()` per #1367. Removes
NCOPTION_VERIFY_SIXEL, again per #1367. Adds
`free_terminfo_cache()`, and calls it from both
`notcurses_stop_minimal()` and `ncdirect_stop()`.
Update all documentation. Closes #1371 and #1367.
4 years ago
nick black 036d0a8697 s/NCBLIT_SIXEL/NCBLIT_PIXEL/g #1095 4 years ago
nick black aa4da3f335
nctree: drop bchannels from options 4 years ago
Nick Black e30b12a480
nctree (#1361)
The nctree widget, PoC, and unitt rs #1164.
4 years ago
nick black 2221120543 add SIGILL to documented fatal signals #1357 4 years ago
nick black c10f5a40ce
v2.2.2 4 years ago
nick black 2741b049cb
don't expose nctree in 2.2.2 4 years ago
nick black bb14694000 add nctree movement api #1164 4 years ago
nick black 3eb42d6c0c implment nctree_create()/free() #1164 4 years ago
nick black 7a698310b6 ncinput is not opaque 4 years ago
nick black 14ce0ace73 man pages: relate nctree and ncreel #1164 4 years ago
nick black 2ae618c06b add new man page notcurses_tree.3 #1164 4 years ago
nick black 1b1e0b88be
ncplane_qrcode: drop blitter argument, update docs 4 years ago
nick black be4a9154a8
v2.2.1 4 years ago
joeyt aa02cf855a fix some dank typos
Looks like the release process used a regex(?) to replace that included some
unintended targets.  Microsoft link broke in 2.2.0; CELL_ALPHA_TRANSPARENT
continually replaced since 2.0.1.
4 years ago
nick black 3cdf7160de
v2.2.0 4 years ago
nick black cff8767de7
notcurses_visual.3: fix up markdown syntax 4 years ago
nick black 6b126f4049
add notcurses_canbraille() capability test 4 years ago
nick black 2cd8b9d82e
Further reduction of our gigantic README
Extract Curses differences and adaptation sections, and
move them to doc/CURSES.md. Reference this new document
in README.md. We now have sufficiently few sections that
we can dispense with the ToC. Do so.
4 years ago
nick black 54ca2249df
v2.1.8 4 years ago
nick black b3569b6aef
Initialize Readline on demand
Eliminate NCDIRECT_OPTION_NO_READLINE (it was only introduced in
Notcurses 2.1.6). Add a new function, ncdirect_readline(). Upon
first call to this function, initialize libreadline. Destroy
libreadline in ncdirect_stop() iff we initialized it. Add
hilodirect guessing game PoC from #1325. Rename
notcurses_directmode.3 to notcurses_direct.3. Closes #1326.
4 years ago
nick black 289d0d6a54
notcurses.3: proper linker syntax for notcurses 4 years ago
nick black 43dd0440f7
add raster timing stats #1324 4 years ago
nick black 2491b693ba
Add missing channel_set_palindex()
Implement channels_set_fg_palindex() and channels_set_bg_palindex()
in terms of channel_set_palindex(). Add missing entries to
notcurses_channels.3 man page. Use uint32_t in place of unsigned
when dealing with channels in notcurses.h.
4 years ago
nick black b0915d1db6 Proper transparent blitter stacking
This completes the work for #1068. This addressed a subtle issue.
When we're using pixel->semigraphic art, we want slightly different
rendering. Essentially, imagine that we have two images, each two
pixels tall and one pixel wide. The top image is a transparent pixel
above a white pixel. The bottom image is a white pixel above a black
pixel. We'd expect the result to be two white pixels, but we can
instead get a black pixel above a white pixel. This is because the
*background* color is being merged from the bottom plane, but really
we want the *top* color. Ncvisuals are now blitted along with
information regarding which quadrants they draw over, and when
appropriate, we invert the foreground and background. Closes #1068.
4 years ago
nick black 6ebedd73bd
notcurses_core.3: syntax in SEE ALSO 4 years ago
nick black 121f10a9c5
v2.1.7 4 years ago
nick black 57271d09ce
v2.1.6 4 years ago
nick black 6d15aacc52 add notcurses_core.3.md man page #1301 4 years ago
Nick Black 9112185657
Split up notcurses/notcurses-core (#1297)
Extract `libnotcurses-core` from `libnotcurses`. The former contains everything except multimedia code. The latter contains multimedia stuff (a wrapper around FFmpeg or OIIO). If built with `-DUSE_MULTIMEDIA=none`, there will not be any `libnotcurses.so` generated. `libnotcurses.so` uses library constructors/destructors to insert its implementation into the `ncvisual` stack at runtime. Users linking `-lnotcurses` will get the full implementation; users linking `-lnotcurses-core` only will get the stack less multimedia code.

The upshot of this is that someone can compile/install only `libnotcurses-core`, and a program linked against it will work just fine. This eliminates the need to install the full (large) dependency stack of the multimedia code unless necessary. This will hopefully be useful for e.g. installers etc. Closes #339.
4 years ago
nick black 3ecdde74d0
v2.1.5 4 years ago
nick black 1108ebb5b6
Fix up some subtle pile issues
ncplane_destroy() needs to call ncplane_reparent_family(), not
ncplane_reparent() as it was doing (closes #1291). ->absy and
->absx actually are absolute; return them directly for an O(1)
ncplane_abs_yx() (down from O(N), huzzah). Add some unit tests
related to destroying and reparenting (#1286). Add ncplane_abs_y()
and ncplane_abs_x(), document them, etc.
4 years ago
nick black 1c0a623b8b
document new function ncplane_abs_yx() #1286 4 years ago
nick black 68b340e3c8
ncdirect: prep readline for use #1120 4 years ago
nick black 2048f8bc11
notcurses_plane.3: fix some syntax 4 years ago
nick black 7e05d0438a
notcurses_init.3: fix up some syntax 4 years ago
nick black ec037023a7
notcurses.3: add period at end of sentence 4 years ago
nick black e617acecc7
v2.1.4 4 years ago
nick black 18958e98cd update nccell def in docs 4 years ago
nick black 0c38728ceb Remove CELL_WIDEASIAN_MASK from docs #1277 4 years ago
nick black 21f6b5fc8a
notcurses.3: talk about piles, update threading section #1264 4 years ago
nick black 998cf02f34
add NCDIRECT_NO_QUIT_SIGHANDLERS #1271 4 years ago
nick black 555a3262b1
add channel_palindex and friends 4 years ago
nick black af07822d35 Document base cell better
Improve the documentation for ncplane_set_base_cell() and
ncplane_set_base(). Go by render.c's authority (all three
channels are independently checked for transparency, and
replaced with the base cell if so--egc, fg, and bg). Add a
BASE CELL section to notcurses_plane.3. Check for, and reject,
an nccell which is secondary among a multicolumn EGC.

Closes #1238.
4 years ago
nick black 70b74a749b
v2.1.3 4 years ago
nick black 7e20a25482
ncdirect_*_palindex -> ncdirect_set_*_palindex #1261 4 years ago
nick black f1253560ad
ncdirect: set_ on rgb functions #1261 4 years ago
nick black 713498efc5
syntax error in notcurses_input.3 4 years ago
nick black e6d1cbb2b4
clean up notcurses_input.3 4 years ago
nick black 58bc9bd3bc
fix up writeout stats, report in shutdown banner 4 years ago
nick black 55d563b646
v2.1.2 4 years ago
nick black dd1cdc40d5 add NCSCALE_NONE_HIRES, NCSCALE_SCALE_HIRES #1250 4 years ago
nick black 9268109778
update man pages for ncvisual_media_defblitter() #1114 4 years ago
nick black 248dd1fff2
add dynamic linesig control #1228 4 years ago
nick black d6d5757b1d
v2.1.1 4 years ago
nick black a0c722ff0d
notcurses_nccell.3 -> notcurses_cell.3 4 years ago
nick black d56ea8b5e7 progbar: remove egcs options 4 years ago
nick black 82ffac8eed remove ncprogbar locking options #1202 4 years ago
nick black 1d74979718 progbar core / poc #1202 4 years ago
nick black 6bff720122 initial API + documentation for ncprogbar #1202 4 years ago
nick black 6edafd1f84
v2.1.0 4 years ago
nick black fd2acde1b1 rename cell->nccell, keep alias #1200 4 years ago
nick black 8497ee1877
v2.0.12 4 years ago
nick black 1239ac7a29
mathtext PoC: loop properly 4 years ago
nick black eb485cda21
v2.0.11 4 years ago
nick black a3220b8a73
add ncplane_descendant_p(), unit test it #1192 4 years ago
nick black e60a7aa463
add stat for notcurses_refresh() 4 years ago
nick black 361a253aea
v2.0.10 4 years ago
nick black 4cf4a4ce0b
egcpool: fix cell_egc_idx() math #1179 4 years ago
nick black 14fa544433
add NCPLOT_OPTION_PRINTSAMPLE #1183 4 years ago
nick black 6fb5c1e512 Fill out some API holes, improve some comments
- Disambiguate the docs for ncplane_erase()
- Add ncpile_top(), ncpile_bottom()
- Refuse attempts to modify the standard plane's resizecb
- Copy alignment and resizecb in ncplane_dup()
- Add cell_load_egc32()
4 years ago
nick black 5b8c71b9b0
flesh out notcurses_reel.3 #1171 4 years ago
nick black 8083b46e3b
v2.0.9 4 years ago
nick black 918520b21e notcurses_metric: reference notcurses_output(3) 4 years ago
nick black dd8423dff3 embiggen notcurses_metric(3), add unit test #1107 4 years ago
Marek Habersack c5c9432ac0 [Misc] A hodgepodge of tiny changes
CMake:
  Simplify cmake target+version config generation and make it actually
  work.  With the changes it is now possible to detect and use
  `Notcurses` in the following way:

     find_package(Notcurses REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses::notcurses)

  Also, added the same CMake configuration for `Notcurses++`, to be used
  in the following way:

     find_package(Notcurses REQUIRED
     find_package(Notcurses++ REQUIRED)
     ...
     target_link_libraries(myapp PRIVATE notcurses++::notcurses++)

Docs:
  `notcurses_cell(3)`: `cell_styles_{on,off} -> cell_{on,off}_styles`
  and `cell_load_simple` -> `cell_load_char`

C++ API:
  * Plane: added constructors taking `ncplane_options const&` instead of
    the multitude of individual parameters
  * Plane: drop `struct` when `ncplane_options` is used.
  * Plane: added `strdup` (`cell_strdup`)
  * Plane: added `extract` (`cell_extract`)
4 years ago
nick black 2a45620cd6
v2.0.8 4 years ago
nick black b33c780c88 document ncpile_render(), ncpile_rasterize() 4 years ago
nick black b6e5b60374 ncpile_create() not NCPLANE_OPTION_NEWPILE #1078 4 years ago
nick black b747af2ae8 drop NCPLANE_OPTION_NEWPILE #1078 4 years ago
nick black 0da6a8c44b add NCPLANE_OPTION_NEWPILE #1078 4 years ago
nick black a2cc5f096a
notcurses_render: explicit pile rules #1078 4 years ago
nick black 2d45a74e21
notcurses_render.3: escape double pointer 4 years ago
nick black 73b2f1bf19
v2.0.7 4 years ago
nick black acdcf9e41f
v2.0.6 4 years ago
nick black 537caa2173
v2.0.5 4 years ago
nick black c0cb5c7ff9
add ncplane_resizecb() #1124 4 years ago
nick black 6084105c68
add ncplane_set_resizecb() #1124 4 years ago
nick black 1e6f8e4901 USAGE/python/man: update ncplane_options #1115 4 years ago
nick black 9283db5ec9 notcurses.3.md: clean up intro a bit 4 years ago
nick black c713c4c9ec ncplane_reparent: new stacks #1078 4 years ago
nick black 8ab9bd4687
man pages: trim overlong lines 4 years ago
nick black 259b2b6012
make it clear that sixel is not yet supported 4 years ago
nick black 7622cefc3a
v2.0.4 4 years ago
nick black 0d31a03be9
v2.0.3 4 years ago
nick black 3fbfe181ed
man pages: update some unsigned flags to uint64_t 4 years ago
nick black 8325102827
man pages: argument syntax for remaining entries #1103 4 years ago
nick black 530dda1002
man page argument syntax: fade, fds #1103 4 years ago
nick black 6f9f063f1d
notcurses_directmode.3: argument syntax #1103 4 years ago
nick black cf75598f03
argument syntax for man pages: cell, channels #1103 4 years ago
nick black 7018f2589f
notcurses_capabilities.3: argument syntax #1103 4 years ago
nick black 173265a99f
notcurses_visual.3.md: set argument names off in italic #1103 4 years ago
nick black c411b0a7b8
get your head in the fucking game nicholas #1059 4 years ago
joseLuís 00b5445418 fix typos 4 years ago
nick black 168f0642e4
notcurses_visual.3 update man page syntax 4 years ago
nick black 4fb09431ac
notcurses_visual/notcurses-view: update man pages for sexblitter 4 years ago
nick black 8d66938a0e sexblitter: purge NCBLIT_1x1x4, add NCBLIT_3x2 #1071 4 years ago
nick black 21d0a3751a
notcurses_directmode.3: kill obsolete claim 4 years ago
nick black 8189d21709
v2.0.2 4 years ago
nick black b35c680f48 add LoopVideo unit test #1066 4 years ago
nick black 8919d6fe70 ncvisual_rewind 4 years ago
nick black 19efd2c10a declare ncdirect_printf_aligned() in man page + python #1074 4 years ago
nick black d2dcd9c06d
notcurses_direct.3: properly document ncdirect_putstr()'s return value #1072 4 years ago
nick black a4546c86e3
v2.0.1 4 years ago
nick black 0b825c619e
add notcurses_stddim_yx_const() 4 years ago
nick black 10e206409c
notcurses_visual.3: talk about 4x1 and 8x1 4 years ago
nick black 3229fa53b3
add ncinput_equal_p() predicate #1059 4 years ago
nick black 6623fc92a0
ncmenu_item_set_status: man page, NEWS, python, c++ #1057 4 years ago
nick black 65974aeb0b
v2.0.0 4 years ago
nick black 6636181ddd
notcurses.3.md: capitalize Notcurses throughout 4 years ago
nick black 8c9611d085
v1.7.6 4 years ago
nick black d101d2d2d9 add ncdirect_init() inhibit cbreak flag #1049 4 years ago
nick black f9e2c7863b
add notcurses_stats_alloc #1043 4 years ago
nick black 270b1b20ee implement notcurses_render_to_buffer() #214 4 years ago
nick black b4f1065f69 declare notcurses_render_to_buffer() #214 4 years ago
nick black 29c7f960cc add writeout_ stats, document stats #1039 4 years ago
nick black 20a49d053d
v1.7.5 4 years ago
nick black afa65f640f update notcurses_plane.3 and USAGE.md for new styles API 4 years ago
nick black 20bf1ae2d4
nctablet_ncplane() -> nctablet_plane() 4 years ago
nick black ec85dd1c3b
ncreel_destroy: return void 4 years ago
nick black f02263e977
v1.7.4 4 years ago
nick black bfdf801a12 depth-first corecursion, not breadth-first 4 years ago
nick black 7b51bab79a add resizecb to ncplane_options struct #869 4 years ago
nick black 36aed3c521 add ncplane_create() + ncplane_options #1020 4 years ago
nick black 607c03edc4
rename _rgb_clipped functions rgb8_clipped 4 years ago
nick black 4459efa216
v1.7.3 4 years ago
nick black a4367fcfb5 rip out ncplane_ creation functions #985 4 years ago
nick black e42dbdfd60 _stainable() -> _stained() #985 4 years ago
nick black c85ac831c6 man pages: update for rgb name changes #985 4 years ago
nick black 4bb1f3fc85 mbswidth -> ncstrwidth() #985 4 years ago
nick black dab7247cdd
mbswidth: use utf8_egc_len() for segmentation #1014 4 years ago
nick black 5fc9f7b367
plot: update man page #627 4 years ago
nick black c3e5e47a2a
ncreader: conform to the New Way #627 4 years ago
nick black 4f04f1bc31 remove bgchannels field from selector_options #627 4 years ago
nick black 306948507f ncmultiselect: normalize per new widget API #627 #1006 4 years ago
nick black cc98b51276 ncselector: finish out man page #627 4 years ago
nick black bc097a5674
v1.7.2 4 years ago
nick black af05ae7a92 man pages: document NCREADER_OPTION_CURSOR 4 years ago
nick black f88c8ae79c
expose ncvisual_default_blitter(), name blitter in notcurses-view #995 4 years ago