Commit Graph

2465 Commits (602531ff33c7ecbebe5cac958dd64c18e0eb2b83)

Author SHA1 Message Date
nick black 1798e061e1
fallin': drop unused nccell c #1231 4 years ago
nick black 28b1a80433
ncplane_at_yx_cell: work directly with cell_duplicate() #1231 4 years ago
nick black 1b613591fe
ncmenu_create: missing newline on diagnostic 4 years ago
nick black e43d127b42
ncdirect_render_image: reset colors after each line #1222 4 years ago
nick black 14778e4b71
ncdirect_dump_plane: always emit newline #1222 4 years ago
nick black 85b0a37154
ncdirect: retry fflush() on EAGAIN on all paths 4 years ago
nick black 0fb455f0ee
ncls: don't flush output after each line 4 years ago
nick black 9b0f88f024
ncpile_drop(): reset stdplane's blist #1226 4 years ago
nick black 3226652936
reel demo: kill tablets on demo_render() exit #1225 4 years ago
nick black 4fabba6789
s/reception/receipt/ 4 years ago
Nick Black 1bdd2d0555
Progress bar polishing (#1219)
Progress bars now support four 32-bit channels in ncprogbar_options, and uses them to color a gradient. The redraw procedure has been changed from O(n) to O(1). ASCII progress bars have been repaired. Closes #1213.
4 years ago
nick black 243b8bd4d4
uniblock: scrub all legend residue 4 years ago
nick black 7b4f978256
ncplane_resize_internal: disallow bad keepy/keepx #1215 4 years ago
nick black 66150c1f42
ncplane_resize_internal: reject keep > len #1215 4 years ago
nick black a0c722ff0d
notcurses_nccell.3 -> notcurses_cell.3 4 years ago
nick black 913373c27e
ncplane_reparent: update boundto in non-root case #1214 4 years ago
nick black f83bdab99c
progress bars: full resolution for retrograde #1210 4 years ago
nick black a598c706db
Correctly splice children of reparented root plane
Tremendous thanks to @kaniini, @Ikke and everyone else over
at Alpine Linux for helping to chase this down. I blundered
in ncplane_reparent() when reparenting a root plane with
children (the children need to come into the root plane
list). This will hopefully fix our amd64 failures on Alpine
since late 2.0.x. Closes #1197.
4 years ago
Ariadne Conill b49ac58d3e cope with situations where /dev/tty is not actually a TTY
this can happen in situations where a child process is not running in a
session group associated with a TTY, such as on a build server.
4 years ago
nick black f2cbfff8d9
demo: remove meaningless average r%/w% 4 years ago
nick black 8ec6d2e6fc
progbars: full resolution, fix vert inversion #1210 4 years ago
nick black 2ff20108c8
force LTR override on UC_BIDI_AL #1204 4 years ago
nick black 1bbbdd9dc0
annotate many functions with ((nonnull)) 4 years ago
nick black f7d55e8fa8
allglyph demo: add two fat vertical progress bars 4 years ago
nick black 6b859b6a32
ncls: add --align argument #1195 4 years ago
nick black ee9ed23e04
uniblock: fixed-width progress bar to better show off smooth fill #1209 4 years ago
nick black 5036e655cb
ASCII fallback for progress bar #1209 4 years ago
nick black fb38818667
progbar: cover all dependent regions #1209 4 years ago
nick black 91431f84d9
progress bars: 8x resolution #1209 4 years ago
nick black d5574cab9a
restructure progbar logic to prep for highres #1209 4 years ago
nick black 4984903d61
intro: better use of flipmode bar 4 years ago
nick black ca547bc521
progbar: get vertical progbars working #1209 4 years ago
nick black cd3fd17174
uniblock demo: add a progress bar #1151 4 years ago
nick black 827d758c19 properly color progbar #1202 4 years ago
nick black d56ea8b5e7 progbar: remove egcs options 4 years ago
nick black c3b5069eae progbar PoC: use retrograde #1202 4 years ago
nick black 82ffac8eed remove ncprogbar locking options #1202 4 years ago
nick black e37540c76e ncprogbar: implement core draw loop #1202 4 years ago
nick black 08b2d38721 progbar: directions + channels 4 years ago
nick black ff798e69e9 progbar PoC: finish up 4 years ago
nick black 1d74979718 progbar core / poc #1202 4 years ago
nick black be3bd474f6
model.dot: simplify 4 years ago
nick black 11efb0f98f
selector: no NULL deref on error path 4 years ago
nick black 97c2d53abf
notcurses-view: remove unused variable 'gotinput' 4 years ago
nick black ea131b9b11
scan-build: remove unused stores 4 years ago
nick black 33862979da
scan-build: remove dead stores 4 years ago
nick black 228bd17237
rtl PoC #1204 4 years ago
nick black a2ab467219
whiteout demo: fix up brace extensions 4 years ago
nick black c98d6c2576
selectively copy width in paint() #1207 4 years ago
nick black fd2acde1b1 rename cell->nccell, keep alias #1200 4 years ago
nick black e66f1a03ad
keller: give each phase a full demodelay 4 years ago
Nick Black 6106dea18a
track+use width for polycolumn EGCs #1203 (#1205)
Some EGCs are more than 2 columns (wcwidth() never returns more than 2, so far as i can tell, but when multiple characters combine, we use the sum). An example would be ကြေ (Myanmar) which occupies three columns over the course of three characters. Track the width (biased by 1) in cell->width, taking over 8 bits from cell->reserved. Use this width in rasterization. Closes #1203.
4 years ago
nick black a3e7b3b5d0
utf8_egc_len: count all printing glyphs #1174 4 years ago
nick black f66425b819
wcwidth PoC: print total bytes 4 years ago
Nick Black 438e042cdf
Multipile resize support #1172 (#1190)
drone: use ctest -V
4 years ago
nick black 2c4566fdb3
notcurses-tester: drop loglevel to _ERROR 4 years ago
nick black 1c673a57af
assume default 80x24 when ioctl() fails #1197 4 years ago
nick black 876c5a91a1
notcurses: remove unused truecols field 4 years ago
nick black 1239ac7a29
mathtext PoC: loop properly 4 years ago
nick black 764df80816
notcurses_resize: call resizecb's across root plane #1172 4 years ago
nick black edf55d8cc1
notcurses_rasterize: adapt to piles 4 years ago
nick black b0aecee29d
ncplane_reparent: kill FIXMEs, fix up blists 4 years ago
nick black 1ff0c0e88c
resize_children -> resize_callbacks_children 4 years ago
nick black 3b5efb0351
ncpile: add roots element, track from bprev 4 years ago
nick black 22790943bc
demo: change plot to 2Hz to avoid gaps 4 years ago
nick black a3220b8a73
add ncplane_descendant_p(), unit test it #1192 4 years ago
nick black 5bce6d62a8 cell_egc_idx: fix up endianness #1130 4 years ago
nick black e1201c7c30
fix character loading on bigendian #1130 4 years ago
nick black e7f208342f
ncls: don't create Ncpp ctx until post-getopt #1194 4 years ago
nick black 42ac6bb90b
more pile reparenting testing #1193 4 years ago
nick black 8fe3e17b54
boxdemo: rotate colors through at finer granularity #1186 4 years ago
nick black b3b700a8c0
rtl_egc(): augment *bytes VR by ltrmark size #1174 4 years ago
nick black c95bb1ad48
demo: index summary from 1 4 years ago
nick black 23af0a2626
htole() on cell_egc_idx() constants #1130 4 years ago
nick black e60a7aa463
add stat for notcurses_refresh() 4 years ago
nick black 39cc06a5f7
input: properly terminate asap when handling multibyte #1188 4 years ago
nick black 2922b8c663
define AT_NO_AUTOMOUNT to 0 on freebsd #1187 4 years ago
nick black 7140d1349c
demo: fix demo_getc() to use MAXSLEEP (12.5ms) 4 years ago
nick black 4cf4a4ce0b
egcpool: fix cell_egc_idx() math #1179 4 years ago
nick black 838280ce6b
ncls: don't use AT_NO_AUTOMOUNT on freebsd 4 years ago
nick black 564fcafee3
fileroller/procroller: use alternate screen 4 years ago
nick black 03c95b2b14
demo: minimal-width debug plane 4 years ago
nick black aeae053214
strange things going on with kitty + zalgo... 4 years ago
nick black 16320792c2
demo: turn on NCPLOT_OPTION_PRINTSAMPLE #1183 4 years ago
nick black 4b2fe60032
plots: use slotcount - 1 for samples #1183 4 years ago
nick black 14fa544433
add NCPLOT_OPTION_PRINTSAMPLE #1183 4 years ago
nick black 5257232f2f
plot: use T-type intervalbase #1184 4 years ago
nick black e46d9e2a2b
fpsgraph_stop: don't render 4 years ago
nick black 9b7238fdc9
demo: preserve plot/hud/etc. on shutdown
If we're using -k to inhibit use of the alternate screen
for notcurses-demo, we want to see what was on the screen
when we quit. If we're actually quitting, don't destroy
these components manually, so they remain visible.
4 years ago
nick black a7f59e4fab
plots: use pool_blit_direct() #1182
Use pool_blit_direct() instead of ncplane_putwc_yx() in
redraw_plot(). This eliminates use of rtl_egc() and wcwidth()
on the EGCs used in plots, sidestepping Debian's -1 wcwidth
for sextants (in the same fashion blitting does) and slightly
speeding up plot drawing. At a plot rate of 10Hz, notcurses-demo
is now faster than it used to be at 1Hz, so that's nice.
4 years ago
nick black 73d9668d13
de-picklize eagles with help from k. sarkozy 4 years ago
nick black 8091e5c7e0
demo: plot by decisecond instead of second #1081 4 years ago
nick black 2cb8295146
demo: use braille for plot, looks great 4 years ago
nick black ea771217fb
cell_load_char() unit tests #1176 4 years ago
nick black 66b911de38
move wcwidth()==-1 emoji to end of mojibake 4 years ago
nick black ea18be772a don't call egc_rtl() on negative bytes 4 years ago
nick black 0cba073cc9 simplify pool_blit_direct() 4 years ago
nick black 11bbf3c4ff correct endianness for cell_simple_p() 4 years ago
nick black afbccc5bde big-endian fix for iscntrl() 4 years ago
nick black 429bfac785 apply htole() to blanks in paint() 4 years ago
nick black 1c188508d4 add a 1x1 run to widestomp PoC 4 years ago
nick black 35bd9aaae0
whiteout demo: change timing to allow for analysis 4 years ago
nick black e5306f6197
widestomp PoC: eliminate color weirdness #1175 4 years ago
nick black f6a5aebf71
link to ncurses/libunistring in readme 4 years ago
nick black b38d742358
wcwidth PoC: only print (!) for errors 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 fd9e0e6510
Merge branch 'master' of github.com:dankamongmen/notcurses 4 years ago
nick black 744ba8a75c
reels: properly size cbp when drawing bottom border #1082 4 years ago
nick black 2c85142b2a
notcurses_init: don't treat setup_signals as fatal error #1168 4 years ago
nick black 698540286c ncmenu: move unrolled section on resize #1162 4 years ago
nick black fc609f9d7d ncmenu: resize and redraw callback #1165 4 years ago
nick black 76f2353cb4 lock all accesses to notcurses_resize() #1162 4 years ago
nick black 1b1cc291f6 Resolve segfaults/undefined behavior on resize
Consult the new section of HACKING.md for full details. By
performing the resize check in rasterization, we potentially
have too many (3) different geometries at work once we hit
rasterization. Furthermore, we have some pessimal behavior
regarding rendering into enlarged terminals, since we don't
know the new size at render time. Instead, move it to the top
of ncpile_render(), and guard it with a lock (this was in any
case necessary, since the screen geometry can be
shared/mutated concurrently with render operations).
Closes #1162.
4 years ago
nick black 9b1207dd5f notcurses_rasterize_inner: receive an ncpile #1162 4 years ago
nick black c6e06eef29 add some comments to rendering 4 years ago
nick black 192c583aad
try forcing LC_CTYPE, C.UTF-8 if not inhibited #1150 4 years ago
nick black 1cfc406496
ffmpeg: error out on avcodec_send_packet error #1156 4 years ago
nick black 067aaa9bbb
ncls: cover up some unused-param warnings 4 years ago
nick black 55694ef966 finish ncls #693 4 years ago
nick black 84dc81fee4 ncls: render images in handle_inode() #693 4 years ago
nick black 5335e69b41 ncls: unify within lsContext #693 4 years ago
nick black bc8905b30c ncls: handle_deref() #693 4 years ago
nick black 41c7dece64 ncls: recurse into directories, when appropriate #693 4 years ago
nick black c733f33b81 ncls: add -L argument, skeleton for stat() 4 years ago
nick black 65856c37b4 ncls: more command line parameters 4 years ago
nick black de3944b114 ncls getopt skeleton #693 4 years ago
nick black b01113941d
is_egc_wordbreak(): portably initialize mbstate 4 years ago
nick black 4b682585b9
reel: don't assert() in tablet draw callback 4 years ago
nick black dcde23e74c apply htole() where needed #1130 4 years ago
nick black 4d524f92bc apply htole() in ncpixel_*() #1130 4 years ago
nick black 253b9582b2
index.html: scale down headers by one 4 years ago
nick black 47d5347f01
run mojibake after normal; it looks cool 4 years ago
nick black 2e78ae1c5e
update logo to notcurses II xray #1144 4 years ago
nick black 4655c9dd13
we want builddef.h from visual-details.h 4 years ago
Marek Habersack c063ce4e36 [C++] API sync
Added:

  * Pile: new class derived from Plane, which implements all the
    `ncpile_*` calls
  * Plane: `get_parent` (`ncplane_parent`)
  * Plane: protected constructor for use by `Pile` (or other derived
    classes which cannot provide a valid `ncplane*` when invoking parent
    constructor.
  * Plane: `set_plane` for use by the derived classes above.

Changed:

  * Plane: `to_ncplane` is a `const` method now.
4 years ago
nick black 6a9029b60c
ncdirect_styles_set: restore italics/struck after sgr #1138 4 years ago
nick black b7ea4e2359
run sgr-full and sgr-direct in test suite #1138 4 years ago
nick black f82ad10667
Properly set italics/struck following sgr #1138 4 years ago
nick black 0ed8c0d234
rasterize: set up NCSTYLE_STRUCK with italics #1138 4 years ago
nick black fd804be520
beef up sgr-full a bit #1138 4 years ago
nick black fbe383415f
drop confusing sgr PoC 4 years ago
nick black 725ecc9267
32-bit fixes for various diagnostics 4 years ago
nick black ebc80915a3 c++/rust struck #1138 4 years ago
nick black f89ca15640 sgr-full PoC: add NCSTYLE_STRUCK #1138 4 years ago
nick black fe164b6210 add NCSTYLE_STRUCK #1138 4 years ago
nick black fd97aa844c implement ncpile_{render, rasterize}() 🦀🦀 #1135 4 years ago
nick black 7a21574798 implement notcurses_render() using ncpile_render() #1135 4 years ago
nick black 8f7fa9da44 move postpaint() out of render step #1135 4 years ago
nick black b2516d8534 Declare ncpile_render() and ncpile_rasterize() #1135 4 years ago
nick black 8c9f8d193a notcurses_version_components(): drop atoi()s #1131 4 years ago
nick black 7c249bf9b9
menu PoC: implement quit item 4 years ago
nick black a7c7b8ff0b
ncplane_reparent_family: fix up z-axes #1078 4 years ago
nick black 3ce7d36eed
eagle demo: explicitly request NCBLIT_2x2 4 years ago
nick black a6101d4fa2 ncplane_reparent: extract from z-axis #1078 4 years ago
nick black 43ddfd11c6 notcurses_debug(): warn on mismatched pile #1078 4 years ago
nick black 2f48c08fc4 recursive pilelock #1078 4 years ago
nick black 58e4cf626d ncplane_reparent(): excise children #1078 4 years ago
nick black 2c57ab0aff notcurses_debug: distinguish piles #1078 4 years ago
nick black 9e460ca1c2 ncplane_reparent: promote child planes #1078 4 years ago
nick black b9f32cf6b5
dup_menu_sections: initialize enabled_item_count for skipped sections 4 years ago
nick black d662bd334d inline ncplane_cell_ref_yx() 4 years ago
nick black b6e5b60374 ncpile_create() not NCPLANE_OPTION_NEWPILE #1078 4 years ago
nick black 3ad9a40426 hook up piles #1078 4 years ago
nick black de082c7ba2 ncpile creation/destruction #1078 4 years ago
nick black e21eef6b0e implement ncplane_reparent_family() #1078 4 years ago
nick black 9829abf0d0 migrate all direct uses to ncplane_notcurses() 4 years ago
nick black 5215338e00
ncdirect_render_image: reset color within flushed region #1127 4 years ago
nick black 7ee2d98f82
reel PoC: handle resizes 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 27732cc7b6
ncmenu: logerror() on failure 4 years ago
nick black 61baabe9a1 eagle, HUD: use default blitter 4 years ago
nick black f676cd34a8 convert remaining ncplane_new -> ncplane_create #1115 4 years ago
nick black 3e209f3539 eagle, luigi, sliders, outro: ncplane_create #1115 4 years ago
nick black e8224dfa35 xray: ncplane_new -> ncplane_create #1115 4 years ago
nick black eef6df8c0a death to horiz #1115 4 years ago
nick black 719ed0658a notcurses-view: ncplane_new -> ncplane_create #1115 4 years ago
nick black 0215f9482b selector PoC: ncplane_new -> ncplane_create #1115 4 years ago
nick black 4a5fb14bc1 multiselector PoC: out with ncplane_new #1115 4 years ago
nick black b7ad4fb7a6 fill tests: use ncplane_create #1115 4 years ago
nick black 55ac9cc231 convert ncplane_new() to ncplane_create() in blit tests 4 years ago
nick black a3d9f78612 core: deprecate ncplane_new() #1115 4 years ago
nick black 181afbdeea multistack comments #1078 4 years ago
nick black c713c4c9ec ncplane_reparent: new stacks #1078 4 years ago
nick black c9d6809014
view: replay current media on blitter change #1111 4 years ago
nick black e4907855d2
blitter POC: add 3x2 4 years ago
nick black fb0beb19b6
ncblit_bgrx() improvements #1105
Add unit tests for ncblit_bgrx. Rewrite bgra_to_rgba() using
ncpixel_*() funtionality. Rewrite ncblit_bgrx() using
ncblit_rgba().
4 years ago
nick black 07cc29634f
ncblit_*(): sanity check linesize parameter 4 years ago
nick black 8a81d06b4b
ncreader: implement reamining shortcuts #983 4 years ago
nick black 1b1d727169
ncreader: support ctrl-a and ctrl-e #983 4 years ago
nick black 67e7046956
ncreader: implement Alt+B for back by word #983 4 years ago
nick black 65a0059b38
plots: fix NCBLIT_3x2 for plotting #1104 4 years ago
nick black 9530ebbb16 notcurses-view: allow arrow keys #603 4 years ago
nick black 61aa96fd8a
eagle: 3x2->2x2 to match cowardly defaults 4 years ago
nick black 20ff1fe73b
ncvisual_stream: erase before each draw for partial transparencies #1093 4 years ago
nick black 79e1a556ae
view: propagate blitter out of stream #1094 4 years ago
nick black 16bffab27a
eagle demo: use NCBLIT_3x2 4 years ago
nick black 5f91990ed1
dragon demo: use NCBLIT_3x2 4 years ago
nick black 8548cdc780
sexblitter: restore transparency #1089 4 years ago
nick black 13a9b38390
demo: strip some explicit NCBLIT_2x2s, use NCBLIT_DEFAULT 4 years ago
nick black 78e5ac670d
default to NCBLIT_3x2, unify NCBLIT_DEFAULT selection #1088 4 years ago
nick black 5613eb6afe
blit.c: remove dead code 4 years ago
Nick Black a92f5f0c02
Sexblitter, perfected (#1087)
AWWW SHIT HE'S DONE IT AGAIN  exhaustive sex solver #1086
4 years ago
nick black 7ddfaa79a7
sexblitter: swap fg/bg post-lerp 4 years ago
nick black f9b4993b07 notcurses-demo: implement debug window #1013 4 years ago
nick black 957d15410c notcurses-demo: draw debug window when relevant #1013 4 years ago
nick black 132c08e18c demo: add alt+d 'debug' menu option #1013 4 years ago
nick black 72ef243cb7 sexblitter: properly initialize mindiffbits 4 years ago
nick black 964cdee8f2 ncblit_bgrx: perform byte swap 4 years ago
nick black 73772e3a4b run lowestkey search on lowestcur match 4 years ago
nick black efe5e40141 kill sexblitter debugging for now 4 years ago
nick black dbb7348baa sexblitter: properly set foreground 4 years ago
nick black 1a3bf4132e sexblitter: eliminate use of uninitialized lowestcur in collect_mindiffs() 4 years ago
nick black 9a4460981f sexblitter: properly set background 4 years ago
nick black 210991991f blitters: drop bgr switch-hitting, rely on input swap 4 years ago
nick black 167317aecc ncvisual_from_bgra() byte order fix #1084 4 years ago
nick black 26bcc5d4c1 sexblitter: properly set foreground channel 4 years ago
nick black f089f1e833 pipe rgbas throughout sexblitter 4 years ago
nick black 9328bdce43 sexblitter: parameterize rgbas 4 years ago
nick black 63abad4569 keller: use only meaningful blitters 4 years ago
nick black 09279191bf sexblitter: set both colors, but not yet a full solver #1071 4 years ago
nick black 77733b35d2 keller demo: also cycle warmech 4 years ago
nick black 4effee947a keller demo #736 4 years ago
nick black 4203c2402f notcurses-demo: improve usage() for 25 demos #736 4 years ago
nick black e3a617f20d demo: add skeleton of (k)eller #736 4 years ago
nick black 7ad0ed2cc2 blitters don't count transparent cells against written count 4 years ago
nick black 21c579633f sexblitter: collect minimum difference as we go 4 years ago
nick black 8f4fa930f1 sexblitter: set full cells 4 years ago
nick black 591d14eff7 sexblitter: calculate 15 absolute differences 4 years ago
nick black e1ed3e088f braille_blit: closed-form transparency check 4 years ago
nick black 782f6051c5 sexblitter: lerp in partial transparency 4 years ago
nick black e0af844cf0 fix sex glyphs 4 years ago
nick black 597355ec4f skeleton of strans_check() 4 years ago
nick black d6e190428e sexblitter: basic load structure #1071 4 years ago
nick black 8b171c215e notcurses-view: accept sexblitter for -b 4 years ago
nick black 8d66938a0e sexblitter: purge NCBLIT_1x1x4, add NCBLIT_3x2 #1071 4 years ago
nick black e3d6696812
ncvisual_from_bgra: swap r and b bytes #1084 4 years ago
nick black b245c8191c
notcurses_init(): only warn on unknown options 4 years ago
nick black c31a78a244
notcurses-view: move to a complex marshal 4 years ago
nick black 55200b09ad sgr-full: add NCSTYLE_BLINK 4 years ago
nick black 78cc483eab propogate 1 out of ncvisual_decode_loop() #1066 4 years ago
nick black d6ea2b0997 call ncvisual_decode() again in OIIO on loop #1066 4 years ago
nick black f49e1d8e8c ffmpeg: need call ncvisual_decode() again in loop #1066 4 years ago
nick black ac60e80923 notcurses-view: add -L for looping #1066 4 years ago
nick black a4fbcd1b30 implment null ncvisual_decode_loop() 4 years ago
nick black 9dbcf8db3c OIIO: implement ncvisual_decode_loop() #1066 4 years ago
nick black 616334f2b9 implement FFmpeg ncvisual_decode_loop() #1066 4 years ago
nick black 6b8ba110c4
Merge branch 'master' of github.com:dankamongmen/notcurses into master 4 years ago
nick black 66032d357f
ncmenu: interpret NULL desc as empty string #1073 4 years ago
nick black 8f906920a8 ncdirect_vprintf_aligned(): use ncstrwidth() for width #1074 4 years ago