nick black
fbaa451ff9
ncreader: allow NCREADER_OPTION_HORSCROLL #839
4 years ago
nick black
aff9ae62ef
cursor: always flush for immediate action
4 years ago
nick black
cab19cf790
Cursor work (placement, drop RETAIN_CURSOR) #953
...
notcurses_enable_cursor() now accepts placement arguments.
both it and notcurses_disable_cursor() now return int rather
than void. add notcurses_cursor_move_yx().
4 years ago
nick black
f877b4f0ea
demo/input: include errno.h
4 years ago
nick black
4dd1d6a4c8
Annihilate nc_err_e and all infrastructure #948
4 years ago
nick black
af80914efe
add libunistring unit tests #906
4 years ago
nick black
8b75769476
flesh out notcurses_stop.3 #949
4 years ago
nick black
4fb5c3da3a
HUD: rounded box rather than double
4 years ago
nick black
57f3e36e96
view: move legend to top of display
4 years ago
nick black
2c4eead0c2
yield: print the running yield
4 years ago
nick black
60ee1caa14
yield: cut iterdelay 4x
4 years ago
nick black
76d330c9fa
yield: cap at 512 iterations
4 years ago
nick black
c2b8610121
ncdirect_stop: drop extraneous ctermfd check
4 years ago
nick black
026b94969d
cffi heap allocations are zero-initialized #942
4 years ago
Nick Black
73dc0a7d69
Zoo 2, electric boogaloo ( #939 )
...
* Reimplement the widget zoo demo. The previous PoC
was a multithreaded monster with behavior dependent
on screen geometry. Replace it with a single thread state
machine. Closes #936 .
* Support titles for ncplot. Adds title to the ncplot_options
struct, which may be NULL. Closes #941 .
* Properly color ncplot according to maxchannels and
minchannels. Closes #940
* Add tools/function-table.sh script for generating public API list.
4 years ago
nick black
0913020124
fully general mergedown #779
4 years ago
nick black
15b923c8cf
adapt ncplane_mergedown() #779
4 years ago
nick black
c64f42b717
add sgr-full PoC
4 years ago
nick black
14d6129007
take-no-prisoners overhaul of ncplane_puttext() #829
4 years ago
nick black
df3dc7f8e7
LayoutNewlinesAtBorders unit test #829
4 years ago
nick black
3b00b0c847
render: fix tricky bug for widestomping
4 years ago
nick black
7560b1b2da
fps plot: use italics for legend
4 years ago
nick black
5c533c9f1a
ncplot: support legend styling
4 years ago
nick black
4a48baf50b
allglyphs: stylize legend
4 years ago
nick black
375037c750
HUD: keep active line in bold
4 years ago
nick black
9c6077a44c
move cell_simple_p() for debug builds
4 years ago
nick black
13eb63ada9
term_setstyles: fix up for new NCSTYLE_MASK #934
4 years ago
nick black
6bb8f447b5
add ncdirect_flush() #926
4 years ago
nick black
d110facec1
render: move cell into crender #914
4 years ago
Nick Black
359ad1d36d
Generalized mergedown #779 ( #932 )
...
* Rename ncplane_mergedown -> ncplane_mergedown_simple()
* New ncplane_mergedown(), fully general projection of src to dst
4 years ago
nick black
bdea9bc9c8
gradient PoC: sleep between flip #921
4 years ago
nick black
8ebadbc76f
break out pool_load_direct(), pool_load()
4 years ago
nick black
ab0833fc6e
paint: drop cell_locked_p() #914
4 years ago
nick black
4498bf0ae1
paint: eliminate finalization, 3% bonus to FPS #914
4 years ago
nick black
83b0f8c238
whiteout: better brackets in mathtext
4 years ago
nick black
c9c18ef740
render: drop cell_locked_p() #914
4 years ago
nick black
bc0016b827
BigMult unit test, fix ncmetric bogon #929
4 years ago
nick black
f8854f84e8
demo summary: scale TheoFPS div by 1000 #928
4 years ago
nick black
11a9ce0f5e
summary: kill stray comment
4 years ago
nick black
8578cffebe
demo: metricize TheoFPS in summary
4 years ago
nick black
f858e7fe32
paint()/crender: const ncplane p
4 years ago
Nick Black
e1cf346ddb
internalize highgradient_sized implementation #920 ( #922 )
...
internalize highgradient_sized implementation #920
4 years ago
nick black
4745c3596d
gradients PoC: add lower block for completeness #921
4 years ago
nick black
086571ff4b
gradients: purge improper cut-and-pasted comment
4 years ago
nick black
1e334fa63e
new 'gradients' PoC #920
4 years ago
nick black
0f79ac5702
zoo: fade out the widgets #835
4 years ago
nick black
73abc61f16
cellcmp_and_dupfar(): unify paths
4 years ago
nick black
05da44b06b
hide blending functions #917
4 years ago
nick black
90e98ada07
wcwidth PoC: accept command line args
4 years ago
nick black
268e3b8742
term_esc_rgb: restructure for compiler warnings #913
4 years ago
nick black
0917867d62
demo summary: purge extraneous space in title column
4 years ago
nick black
d3cac57d03
fallin': copy styles/colors from old display #909
4 years ago
nick black
d523b41200
utf8_egc_len: work around treacherous wcwidth #903
4 years ago
nick black
86454f1b0a
mojibake: move more 2-to-1s to the end #903
4 years ago
nick black
60fceb877f
mojibake: clean up excess chars #903
4 years ago
nick black
a64433afe2
init_lang(): take struct notcurses, not verbose flag #888
4 years ago
nick black
bcff36ac77
hoist out init_lang(), call from ncdirect #888
4 years ago
nick black
6d62470032
zoo demo: feed ncplane_puttext() atomic words #897
4 years ago
nick black
26ea0b3785
dirgb PoC: throw in some italics
4 years ago
nick black
a2c95814b7
Remove cell_simple_p()
...
Get notcurses-tetris working again, since its collision
detection relied on simple vs non-simple EGCs, which are
no longer an operative concept. Closes #899 .
4 years ago
nick black
18d79c195d
python: get us linking once more...
4 years ago
nick black
202b88615f
kill ncplane_styles(), duplicates ncplane_attrs()
4 years ago
nick black
d57e1880e0
demo: free up menu on exit
4 years ago
nick black
4bc808404a
ncmenu_destroy(): free short descriptions
4 years ago
nick black
dee27be3c2
highcon: silence scan-build warning
4 years ago
nick black
78803f8c1d
ncmultiselector: support pgup/pgdown #862
4 years ago
nick black
02fb9b078f
ncselector: implement pgup/pgdown #862
4 years ago
nick black
0b70bbd66f
tty_emit(): loop on EAGAIN #894
4 years ago
nick black
7100e2b83c
Merge branch 'master' of github.com:dankamongmen/notcurses into master
4 years ago
nick black
b63cad270f
uniblock: only emit U+200E when necessary
4 years ago
nick black
f9eed1c412
palette_size is unsigned #891
4 years ago
nick black
4fdb11089f
idiot
4 years ago
nick black
16ff667325
blissful endianness-opacity
...
not caring about endianness is the opiate of the masses.
happy, happy masses. remove endianness.h and all its baleful
influence by explicitly breaking up the cell structure. #892
4 years ago
nick black
248c49402e
drone: use new builders
4 years ago
nick black
37d1464d6f
allglpyhs: don't do pointless header updates
4 years ago
nick black
24e457ace2
yield: only do land, much better
4 years ago
nick black
0464845cff
whiteout: disable bidi text until we have solution to #881
4 years ago
nick black
73bd0785a5
demo: make the HUD more readable
4 years ago
nick black
7811663223
inlined EGCs + styling unit tests #830
4 years ago
nick black
807af53fbb
sgr/sgr-direct: knock out compiler warnings
4 years ago
nick black
489ad88954
trans: add some style to legend
4 years ago
nick black
ab04b607b8
demo: don't print 4th version component unless non-0
4 years ago
nick black
935ae0378b
demo changes
...
* Tighten up the HUD, now only as large as it needs be
* Show another digit on timer (milliseconds)
* Move allgraph towards the back
4 years ago
nick black
2ceb2f5097
egcpool_extended_gcluster: assert() for great justice
4 years ago
nick black
ce84101939
egcpool_extended_gcluster: a warning
4 years ago
nick black
85c2c36a97
cell_load_direct(): relax strncmp to strcmp
4 years ago
nick black
c9b65dce2e
i see, i see the evil hand of the big-endian mafia
4 years ago
nick black
98cb2de850
pool_egc_copy: beat the stupid out with a broom
4 years ago
nick black
a3fbd9ae84
term_esc_rgb: add some assert()s
4 years ago
nick black
d3d9d41fd9
ncplane_polyfill: eliminate allocations
4 years ago
nick black
40e85c4143
rotate: use cell_extended_gcluster() #830
4 years ago
nick black
226c00c74d
egcelide: detect endianness, define NCSTYLE_* accordingly
4 years ago
nick black
1a3991a069
nitroboost that fucker
4 years ago
nick black
81052e344c
cell_load_direct: shortcut for bytes <= 1
4 years ago
nick black
3bc15c2824
inlined egcs: straightline cell_duplicate()
4 years ago
nick black
112b4938b8
term_putc(): correctly shim inlined ctrls #830
4 years ago
nick black
2656cad07a
cell_duplicate_far() fix length issue
4 years ago
nick black
7ac3f68f4e
cell_load: fix CELL_WIDEASIAN_MASK bug
4 years ago
nick black
3681939e38
term_putc: use bounded fprintf
4 years ago
nick black
b0f7f36995
egc inlining #830
4 years ago
nick black
b980d7deee
sgr-direct PoC
4 years ago
nick black
b315c31141
ncdirect: fix style transitions #890
4 years ago
Nick Black
963ac742fb
tablet_coordinates(): remove unused function
4 years ago
nick black
52103af364
Cell: overlap RGB and palette indices #884
4 years ago
nick black
12a136cf6e
ncplane_puttext: remove meaningless assignment
4 years ago
nick black
ce5484c13c
notcurses_lex_scalemode(): return 0 on success
4 years ago
nick black
733da37bb5
zoo: render the last bit of text
4 years ago
nick black
7c373ecc3a
zoo demo: correct delaytime for spooling
4 years ago
nick black
8aa0986f7d
zoo: support widget use for the duration #835
4 years ago
nick black
7d1e4fae54
plug memory leak in PoC direct
4 years ago
nick black
d5eca34cd5
plug memory leak in PoC selector
4 years ago
Nick Black
c3508d524b
ncplane_puttext() work for longer lines ( #880 )
...
* The zoo demo made manifest that we had some serious problems handling sequences of longer lines in ncplane_puttext(). This remedies most of the problems, though it's not yet perfect. #871
* Guard notcurses* for NULL in log*() #878 #879
* Fix memory leak in ncdirect_dump_plane()
4 years ago
nick black
4de70913bf
logging: only fallback to stderr on NULL nc for error/warn
4 years ago
nick black
05689b4828
logging: guard for NULL nc argument #878
4 years ago
nick black
3d96b5249b
ncdirect_dump_plane(): plug memory leak of egc
4 years ago
nick black
8759572632
zoo demo: smooth out delays in mselect input #835
4 years ago
nick black
e5d17fd20c
zoo demo: smooth out delays in selector input #835
4 years ago
nick black
e0bb0607a0
scan-build false positive workarounds #624
...
Eliminate scan-build false positive about garbage value
in conditional by replacing a malloc+manual init with a
calloc() #624 . The other error it has been reporting goes
away with -maxloop=1000, so I think we're fine now.
Also, simplify paint() by dumping the lfdimx parameter, which
is always the same thing as dstlenx (we originally wrote this
with different resizing semantics). Update callers.
4 years ago
nick black
5b432c6d94
tighten_reel: don't call trim_reel_overhang() with NULL
4 years ago
nick black
82fe736d15
qrcode: fix ncvisual memory leak
4 years ago
nick black
5d08641751
zoo: don't use initialized variable on error path
4 years ago
nick black
ac4a53bf3b
trim_reel_overhang: don't rely on assert()s
4 years ago
nick black
4a8d56cbfc
zoo: propagate return codes out of selector demos #835
4 years ago
nick black
d6e2ae5262
zoo demo: propagate out return code #835
4 years ago
nick black
02c29f39b6
reel demo: adapt to new tablet callback #818
4 years ago
nick black
f0f3b9f45f
ThreeCycleDownNoTabletBorders unit test #818
4 years ago
nick black
1f296256e3
ncreel_trim: work on borderless reels #818
4 years ago
nick black
f586e7f47d
ncreel_draw_tablet: properly resize borderless border plane #818
4 years ago
nick black
9fd7ba44dc
ncreel_redraw: handle 0-line data planes via genocide
4 years ago
nick black
d10c9a6401
ncreel: pre-trim nuke for bottom #818
4 years ago
Nick Black
11d6a4eb89
New reel layout algorithm #818 ( #870 )
...
New reel layout algorithm based on trimming and sifting. Fixes the original issue of #818 , though I'm not marking that bug fixed until I've resolved the little issues remaining with this one.
Back off CMake version dependency, see if we can get by with 3.11.4 for EPEL8 #851
Simplify tablet drawing tremendously by separating tablet border and data planes. Callbacks no longer need worry about the borders; they can simply fill the plane they're handed. #833
Improve notcurses_debug() a bit
Add ncplane_new_named() and friends to expose plane naming to the user.
Add internal ncplane_genocide() to kill a plane and all its bound descendents
New industrial-strength ncreel unit testing
notcurses-ncreel now accepts -ln for log level n
Add ncplane_parent() and ncplane_parent_const()
4 years ago
nick black
75e805d1f1
selector/multiselect: interpret pgdown/up as arrows #862
4 years ago
nick black
b977b5b84d
zoo demo: selectors go behind exposition plane #835
4 years ago
nick black
2f3fba59c8
revert early-morning idiocy #866
4 years ago
nick black
4232ca1427
blitters PoC: hoist ncv creation from main loop #866
4 years ago
nick black
73e71622f7
ncneofetch: free up some allocations
4 years ago
nick black
c21f0fb812
ncselector_dim_yx: eliminate boundary checks
4 years ago
nick black
c0ffe0ae91
reeldemo: kill compiler warning with grim cast
4 years ago
nick black
703fbc853e
zoo: differentiate title from borders
4 years ago
nick black
59fe0cb829
zoo demo: color up selectors
4 years ago
nick black
e17f7198e7
printf(%lc) is wint_t not wchar_t
4 years ago
nick black
58f7dab1c0
doc it up (a plan for ncreels, that is)
4 years ago
nick black
a080ac83b8
ncreel: remove wresize wrapper, introduce direction_e
4 years ago
nick black
3ba98c8b22
move ncselector defintiion into selector.c
4 years ago
nick black
c618096083
ncselector_redraw(): don't call notcurses_render() #627
4 years ago
nick black
ead60d06cc
unexport cell_egc_idx()
4 years ago
nick black
ca2a6501e6
rasterize: remove noforeground check, no longer useful
4 years ago
nick black
78fdad0f43
demo: simplify HUD code, print top to bottom
4 years ago
nick black
bc9ecd86a8
kill -Wempty-body warning
4 years ago
Cheong Sik Feng
ccbb3fda22
use ncplane_resize_simple() instead of ncplane_resize()
4 years ago
Cheong Sik Feng
91613528f2
resize plane in additem and delitem when necessary
...
Signed-off-by: Cheong Sik Feng <sikfeng@gmail.com>
4 years ago
nick black
b0c1a0ae18
zoo: fix reference to loaded file, use find_data()
4 years ago
nick black
5c5077840e
intro/hud: place things a bit tighter to avoid HUD stomping intro line
4 years ago
nick black
ce8b34da86
Glyph transparency in selector backgrounds #847
4 years ago
nick black
7e43077128
ncselector_additem: extend longops/longdesc if necessary #846
4 years ago
nick black
835a62361d
cell_nobackground_p(): load time, 5% perf win =] =] =] #838
4 years ago
nick black
2dcab374c4
mojibake: fix some row overruns #842
4 years ago
nick black
ca6ecf2f35
ncplane_resize(): fix irregular keep areas #842
4 years ago
nick black
fe904cc8da
resize PoC: restore bottom stanza
4 years ago
nick black
886255e941
mojibake: clean up topmost line of display #842
4 years ago
nick black
c1c1238e7e
resize PoC: add some functionality #842
4 years ago
nick black
63556d295f
demo: color HUD light rather than dark
4 years ago
nick black
ac59918682
zoo: mention plots! #835
4 years ago
nick black
9a758b82e2
zoo: speed up the "typing"
4 years ago
nick black
b7b6572bc7
zoo: render informative text on ncreader #835
4 years ago
nick black
5a9e2645a5
zoo: blend reader background
4 years ago
nick black
78a7b4d255
constify ncreader_options->egc
4 years ago
nick black
c8f623a426
zoo: add necessary locking #835
4 years ago
nick black
bea35fb91f
zoo: delay based off mult, add reader thread #835
4 years ago
nick black
86e6b2d89b
cell_load_direct(): simplify conditionals
4 years ago
nick black
620ae34c02
Merge branch 'master' of github.com:dankamongmen/notcurses into master
4 years ago
nick black
1a82273231
selector: handle nonzero defidx with zero maxdisplay #834
4 years ago
nick black
0b55b360ff
mojibake: leave some wiggle room for invalid wcwidth()
4 years ago
nick black
aec5f79369
demo: move HUD down, right above FPS plot
4 years ago
nick black
dde540b1da
zoo demo: render prior to inter-widget pause
4 years ago
nick black
2b4b516260
selector PoC: use CHANNELS_RGB_INITIALIZER()
4 years ago
nick black
d23bf9a393
zoo demo: use CHANNELS_RGB_INITIALIZER() for selector
4 years ago
nick black
47800e57f1
zoo demo: multiselector use CHANNELS_RGB_INIT
4 years ago
nick black
6d6c375265
notcurses-demo: accept --help longform argument
4 years ago
nick black
8f9646c194
zoo: delay + handle input for multiselector #628
4 years ago
nick black
c036f14b07
zoo: pause following selector, handling input #628
4 years ago
nick black
e0cf13999d
zoo: text for multiselect #628
4 years ago
nick black
74d80d76b1
zoo demo: handle inputs
4 years ago
nick black
a5f2160558
zoo demo: background
4 years ago
nick black
c7cd82af55
update zoo demo for no itemcount
4 years ago
nick black
e24d0f9b0a
zoo: add items to selector
4 years ago
nick black
7174a84e94
zoo: add multiselector
4 years ago
nick black
988bb1f2a6
zoo: create selector
4 years ago
nick black
f62277a69b
add zoo demo #628
4 years ago
nick black
ab2710cf7a
selector poc: improve background contrast
4 years ago
nick black
bac02bccd0
selector/multiselect: kill itemcount options field #831
4 years ago
nick black
38a7306ba8
mojibake: work around wcwidth inaccuracies
4 years ago
nick black
e00fd3231a
reset_term_attributes: restore disable mouse
4 years ago
nick black
dab269f506
tetris: ensure continued color changes #825
4 years ago
nick black
46b1e6b2fa
reset_term_attributes(): flush after oc
4 years ago
nick black
480ea76989
reel: kill unnecessary diagnostics
4 years ago
nick black
bf9c3dc8c7
reset term attributes prior to, not following, rmcup #824
4 years ago
nick black
17e8f62eb9
cell_no{fore/back}ground() was never intended for export
4 years ago
nick black
c333c4def5
notcurses-ncreel: suppert +/- for adding/subbing lines
4 years ago
nick black
6354b26d78
notcurses-ncreel: handle +/- for tablets
4 years ago