Commit Graph

506 Commits (0330919564547b76163c4bfcc55eb329197162f2)

Author SHA1 Message Date
nick black 32ff214be2
update demos for ncplane_aligned #237 5 years ago
nick black 2ea4f77875
introduce ncplane_aligned() #237 5 years ago
nick black 8926fc5879
cursor: always get cnorm/civis defs #240 5 years ago
nick black 7d4f9b5231 witherworm: message 5 years ago
nick black bcd12279c0 ncvisual: handle plane resize #169 5 years ago
nick black ed980f1059 pull _get from all accessors 5 years ago
nick black 014afa348b rename ncplane default -> base #236 5 years ago
nick black d5748c634d ncvisual: keep duration sum for better sync #113 5 years ago
nick black 707862507d use video pts when available #113 5 years ago
nick black c21a04137c curry a void* through ncvisual_stream #113 5 years ago
nick black 41153e3c7e notcurses-view: rewrite using ncvisual_stream #113 5 years ago
nick black db8b99d594
notcurses_render: simplify using new alpha rules 5 years ago
nick black c0126b3389
maxcolor: add a legend for transparencies 5 years ago
nick black 924d80f0d5
don't blend default colors #235 5 years ago
nick black 46b1b8e622
notcurses_stats man page #213 5 years ago
nick black 21c3861804
s/bannner/banner/g, heh 5 years ago
nick black e9890eefc0 general foreground elision #131 5 years ago
nick black 5b322add56 glyph-based background spec elision #131
When we emit a glyph that has no background pixels (i.e.
the U+2588 FULL BLOCK glyph), there's no need to emit a
background color change.

Eagle demo currently has hand-coded elision. Results from
80x70 runs using the `-c` parameter:

No optimization: 12.63MiB
Hand-optimized: 12.48MiB
New scheme, no hand-coded optimization: 12.45MiB

w00t!
5 years ago
Nick Black ce2a390b52
Out with googletest, in with doctest #202 (#231)
* introduce doctest over googletest #202
* call dtester in in targets
* doctest conversion #202
* channel.cpp -> doctest #202
* egcpool tests -> doctest #202
* input tests to doctester
* zaxis -> doctest
* drone: always define LANG
* libav to doctest #202
* panelreel tests to doctest #202
* spec that a C++17 compiler is now required for doctest #202
* enmetric tests -> doctest #202
* fade tests -> doctest #202
* notcurses test case -> doctest #202
* last conversion to doctest #202
* finish move to doctest #202
* drone: set up make test
5 years ago
nick black d4caefc55d
fade: throw a 10ms cap in, improves visual and lessens load 5 years ago
nick black 148114c6ca
rewrite term_esc_rgb for ~8% more FPS 5 years ago
nick black 38ace7677f
build man pages properly #213 5 years ago
nick black 132793211c
capabilities testing for fade/ffmpeg 5 years ago
nick black 3544bd86e2
witherworm: don't hide chars below message 5 years ago
nick black fe0c18d5e4
disable eventfd in panelreel demo for now #196 5 years ago
nick black bf49db1ae4
FreeBSD: guard all uses of _unlocked #196 5 years ago
nick black 90f750dec8
eagle: remove direct libav calls 5 years ago
nick black af7cf118a9 HUD: properly initialize backchannel 5 years ago
nick black 09aa606281 FreeBSD: no CLOCK_MONOTONIC_RAW #196 5 years ago
nick black caf7e41737 need struct AVFrame for sans-libav build 5 years ago
nick black 430a321557 don't import av headers in non-ffmpeg build 5 years ago
nick black bd034c983a input: handle modifiers+mouse (alt, shift, ctrl) #226 5 years ago
nick black 1cc100cd2d UMOK: get endgame working once more 5 years ago
nick black fb0e03fe89 UMOK: fadecb for faders #162 5 years ago
nick black a218851acb sweet-ass stats in HUD #162 5 years ago
nick black 91a00b3400 ULTRAMEGAOK: feed the HUD #162 5 years ago
nick black 9402d7e927 HUD: click on X to close HUD 5 years ago
nick black ee99eb53c3 HUD: throw a close-X on the hud 5 years ago
nick black b13da606f6 whiten and shrink HUD 5 years ago
nick black 7f82ac6f16 ULTRAMEGAOK: mouse-moveable HUD #162 5 years ago
nick black 13b376f94f
panelreels: fix logic error at bottom #222 5 years ago
nick black 7906989582
kill obsolete FIXME 5 years ago
nick black 4e841865b3
panelreel-tester: accept offset arguments #180 5 years ago
nick black 770cdf4773
panelreel: plug up hole at the bottom #220 5 years ago
Nick Black 4571b57ece
Rust/FreeBSD (#221)
* rust bindings
* update release documentation with Rust info
* panelreel tester: accept command-line options#180
* input: char32_t not wchar_t in output
* freebsd compilation issues #196
5 years ago
nick black 4d877603c3
maxcolor: fix direction switch 5 years ago
Nick Black 63ada9289c
Implement CELL_ALPHA_BLEND, improve transparency semantics #191 (#219)
* channels_blend() introduced
* implement CELL_ALPHA_BLEND #191
* maxcolor demo: slidingpanel
* much improved transparency semantics #191
* maxcolor: show all transparencies #191
5 years ago
nick black 4b6063e1ce sliders: fix timing 5 years ago
nick black cb2bf16a73 support building sans ffmpeg #153 5 years ago
nick black 99fb662f59
eagle: speed up eagles on small screens 5 years ago
nick black 8d26803ed8
fix linear interpolation on large geometries #216 5 years ago
nick black 7424b3b78c
grid: fix boundary conditions on large displays 5 years ago
nick black 4ba9845143 grid: better background on last scene 5 years ago
nick black 1554685165
boxdemo: default background cell explicitly #211 5 years ago
nick black 4b953e33f2
render: carry state across renders #203 5 years ago
nick black e8064f717b
xray: kill subplane when done 5 years ago
nick black 43e0cb3d30
xray: prep for CELL_ALPHA_BLEND #191 5 years ago
nick black ca5e14cdad
xraydemo: isolate avi/text 5 years ago
nick black 53efe2bd1f
demo-view: don't exit on spurious wakeup 5 years ago
nick black 2601fe9191
demo-input: pass 'q' through in addition to interrupt 5 years ago
nick black a14ec34d78
intro: blink warning if screen is small 5 years ago
nick black 4e0ebde876
intro: advertise 'q' demo: print full matrix 5 years ago
nick black 9e9e5ef648
demoinput: process 'q' at all times 5 years ago
nick black 1017bf42e0
panelreeldemo: stop advertising 'q' 5 years ago
nick black 17a55261dc
witherworms: allow them more space 5 years ago
nick black 86efad6f67
griddemo: clip rgb values, kill white line on side 5 years ago
nick black efcfa372ae
ULTRAMEGAOK: toplevel event handler #207
enable mouse events in the demo. spawn a thread from main() which
brokers all input events. it will consume mouse events, and
publish keyboard events to a queue. rewrite all demo notcurses_getc()
calls to demo_getc() equivalents.
5 years ago
nick black 452e1d302e
output API enhancements #210 #209
Allow -1 in move specification to remain where we are on that
axis (#210), necessary for context-sensitive aligned output.
Add _aligned forms to printf and vprintf. Invert various output
functions so that simpler form is static inline wrapper around
more complicated form, rather than complicated form being a
static inline composition, facilitating atomic move+output. All
output forms now have a simple form (no alignment, placement at
cursor), an _aligned() form, and a _yx() form.
5 years ago
nick black f742676aee Mouse support using button event tracking #165
Request and parse up mouse messages. We handle up to 11 mouse
buttons, 3 modifiers (currently thrown away), motion while
holding down a button, and loss/gain of focus. I've added twelve
new NCKEYs: one for each button, and one for release. In addition,
I've introduced the 'ncinput' struct, which encodes the nckey plus
extra data. The only extra data thus far is coordinates for mouse
events. It is not necessary to provide a ncinput to all input
functions; NULL can be provided if the caller doesn't care about
details. All demos are updated. notcurses-input has been updated
to decode full information of returned ncinputs.

The primary resource for this work was Dickey at al's "XTerm Control
Sequences", https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
5 years ago
nick black aceda89261 input: add NCKEY_MOUSEEVENT, match against CSI prefix #165 5 years ago
nick black b4b4b3684a yaml 5 years ago
nick black 1555edfa6c
notcurses: disable mouse events on startup/shutdown 5 years ago
nick black 78633de427
mouse: use SGR extended coordinates 5 years ago
nick black ae52d04435
notcurses-input: dim previous lines 5 years ago
nick black ab47ab8976
notcurses_mouse_on()/_off() #165 5 years ago
nick black 046d0314b9
add links to useful man pages 5 years ago
nick black fe7b6bbf89
Samoa, tula'i ma sisi ia lau fu'a, lou pale lea! 5 years ago
nick black f9e18fa1ee
witherworms breed, paint xray banner 5 years ago
nick black 2a256192ad
input: allow duplications of escapes #199 5 years ago
nick black 6b6a00c013
luigi: jump off the right side of the screen 5 years ago
nick black 605293c103
deretardize the witherworms 5 years ago
nick black 708159c686
x-ray demo 5 years ago
Nick Black 4278a53523
Dankamongmen/no prisoners damage (#198)
* notcurses: set up lastframe #189
* render: o(1) take no prisoners damage detection
* EAAAAAAAAAAGLES
* slight background on intro
* 0.9.2
5 years ago
Nick Black 9b81de3789
O(1) passive damage detection #189 (#197)
* notcurses: set up lastframe #189
* render: o(1) take no prisoners damage detection #189
5 years ago
nick black 8b1b2ebdf0
term_esc_rgb: add note about ITU T.416 syntax 5 years ago
nick black d50ee9ec50
ncplane_erase() at the beginning of viewdemo #194 5 years ago
nick black c3fa7ea664
bleachworm replaces widechomper #177 5 years ago
nick black a710222df1
enmetric(): support localized decimal separator #192 5 years ago
Nick Black 3ad2124246
Partial visual renders #170 (#193)
* ncvisual_render() accept four bounding dims #175
* ncvisual_render(): partial renders #175
5 years ago
nick black 7f01dfc241
planereel-tester: delete support 5 years ago
nick black eaf510676d
planereel-tester: randomly-sized tablets #180 5 years ago
Nick Black 0e0925a84e
Planereel exploration app, panelreel logic fixes (#188)
* planereels tester #180
* suppress_banner in all tests
* tabletcb: start passing back tablet
* properly initialize fbbytes stat
* panelreel: logic fixes #178
* install all testing data
5 years ago
nick black b0b1679de6
ncvisual_render(): use true transparency #186 5 years ago
nick black 5403642764
notcurses-input: throw up a banner 5 years ago
nick black 1ebe02cf93
libav: disable stderr logging #174 5 years ago
nick black 0e6c921b28
we break 1k fps in kitty :) 5 years ago
nick black 898806fec1
demo: minimum field width on FPS 5 years ago
nick black 3f326ee0a8 fix up ncplane_set_{bf}g 5 years ago
nick black 21a8e661be
convert all demos to find_data() 5 years ago
nick black 660949a461
griddemo: fix wonky right line 5 years ago