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