Commit Graph

1963 Commits (aa7acc0e7ad0a5f364cf874f3155b06062dbe643)

Author SHA1 Message Date
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