Commit Graph

6931 Commits (e770dbff4347680e40d5e2bde21463dab20fa334)
 

Author SHA1 Message Date
nick black 2fbdb50d71
remove deprecated static inlines 3 years ago
nick black 20edd5a3cd
purge deprecated cell typedef 3 years ago
nick black 0213e026b2 allow users to set the stdplane's resizecb
Hardcode a call to ncplane_resize_maximize() in
notcurses_resize_internal() for the standard plane,
when handling the standard pile. allow the user
to set the standard plane's resize callback beyond
that. closes #2163.
3 years ago
joseLuís 123c0d6307 [rust] fix `check_pixel_support`; #2162
- add new type `NcPixelImpl`.
- change `check_pixel_support` return type to `NcPixelImpl`.
- update `pixel-cell` example.
- remove remaining reference to removed `blink`.
- remove reference to removed `ncvisual_default_blitter`.
- rustfmt
3 years ago
nick black be1dc5f2f9
mention CLI mode following ncoptions 3 years ago
nick black 76b1ea9842
[kitty] fix 1st gen animation
Much as we needed to do in the accounting core for
kitty animation, whether we blitted a sprixcell of
alpha nulls or instead wiped it affects how we
rebuild under KITTY_ANIMATION, which right now is
all Kitty >= 0.20.0 since KITTY_SELFREF is disabled.
This gets KITTY_ANIMATION working perfectly on
bitmapstates. I've accomplished this by stashing a
bool onto the end of each KITTY_ANIMATION-style
auxvector, set high if it originated in a reblit's
null alphas, and low if it was zorched by a wipe.
Set {c, r} arguments to animation directive based
on whether this is set. See #2161.
3 years ago
nick black 972b14c09b
[rust] remove NCSTYLE_BLINK 3 years ago
nick black 4789aca20f
notcurses.h: remove some more deprecated static inlines 3 years ago
nick black e14a320217
notcurses.h: remove some deprecated #defines 3 years ago
nick black f9df8e14fc
v2.4.1 3 years ago
nick black 772f429fb2
mention ncstrwidth_valid() in NEWS 3 years ago
nick black 4e1897c1c0
[kitty] KITTY_ANIMATED rebuild fix #2161 3 years ago
Tinmarino a48147da8c Rust: compile: relint last commit 3 years ago
Tinmarino 8abf993f62 Rust: improve compile: remove warning: "trailing semicolon in macro used in expression position" 3 years ago
Tinmarino 8ed451e4ee Rust: Fix compile expected u32, found i32 3 years ago
nick black c286c01d16
Merge branch 'dankamongmen/input-thread' of github.com:dankamongmen/notcurses into dankamongmen/input-thread 3 years ago
nick black 79610b2efa
more work on input thread 3 years ago
nick black e54661f425
initialize and shutdown the new input layer from termdesc.c 3 years ago
nick black b65f7b5e10
[input] tear down thread 3 years ago
nick black 613b2f9d31
extract cancel_and_join() helper 3 years ago
nick black ff6066ba33
space_for_read(), read_input_nblock() 3 years ago
nick black b6e5a815a3
[inputthread] scaffolding 3 years ago
nick black eb70aeed90
start in on input thread 3 years ago
nick black 4ec1bfd8be
[info] differentiate between kitty animation and kitty selfref #2161 3 years ago
nick black 6612d1b149
[kitty] disable KITTY_SELFREF for now #2161 3 years ago
nick black bd6d0e28fb
[kitty] unite kitty_wipe_animation and kitty_wipe_selfref #2161 3 years ago
nick black 9cc04ea259
[demo] use DETECTMAXONLY for fps graph #2152 3 years ago
nick black 9ec41fe123
[plots] fix NCPLOT_OPTION_DETECTMAXONLY #2152 3 years ago
nick black 88f40df4ae
[plots] print current sample as summary #2152 3 years ago
nick black fb8b6bfcae [kitty] multiframe annihilation transitivity
When using the reflexive composition extension to the
Kitty graphics protocol, we refer to the previously-
blitted image to rebuild cells, and thus don't have to
keep a copy of the image ourselves. We just blit null-
alpha cells to wipe, and then execute a reflective
composition to rebuild. The auxvector is a single word,
holding the state we were in before the wipe, since we
don't have a copy of the image to look at to determine
the state afresh (and caching it is more efficient
anyway). Good, good.

Except. When we reload the plane, we want to carry over
those wipe cells, yes? I.e. if there was a plane above
the graphic before, and we replace the graphic, that
plane still better be above it. And that means editing
the cell out of the new graphic that we blit up, on the
fly. Which we were doing. Problem is, if we later need
to rebuild that cell, and we reflexively compose using
this new image, *we reflexively compose the edited-out
cell*, and thus remain wiped (our RGB values get set
properly, but we have all 0 alphas). No good!

So instead, in KITTY_SELFREF (the most advanced kitty
implementation, corresponding to reflexive composition),
do a pass at the end and send AAAAA wipes for any
ANNIHILATED{_TRANS} sprixcells. We don't present until
both have hit (since we're using a new image ID), so
there's no flicker, though there is some bandwidth cost.

That handles rebuilding. Problem is, if we then need to
wipe these same sprixcells *again*, our auxvecs were
set to ANNIHILATED{_TRANS}, and thus no wipe takes place.
Rather than blindly propagating the auxvec across the
frames, properly reset the auxvec according to the new
blit. This handles wiping post rebuild, closing the cycle.

Kitty 0.22.0+ now runs the bitmapstates PoC perfectly.
Closes #2143.  woo-hah!
3 years ago
nick black 86ea9d00d0 sprixel_debug: don't perform overeager invalid decoding 3 years ago
nick black 4a6e45adb6
kitty_wipe_selfref: update auxvec with state #2143 3 years ago
nick black 107f6e01dc
more work on input thread 3 years ago
nick black 36b5975fa6
initialize and shutdown the new input layer from termdesc.c 3 years ago
nick black 8aa4e496c7
[input] tear down thread 3 years ago
nick black 48e475698f
extract cancel_and_join() helper 3 years ago
nick black 6f8afb1610
space_for_read(), read_input_nblock() 3 years ago
nick black 165e61e4c0
[inputthread] scaffolding 3 years ago
nick black 94ef6d2a54
start in on input thread 3 years ago
nick black e70302416e [ncneofetch] try using sysctlbyname() on bsd for totalram 3 years ago
nick black 128c35dc69 [ncneofetch] get total RAM on apple 3 years ago
nick black 51de081616 [ncneofetch] don't go just printing NULLs 3 years ago
nick black 7e6442077b [input] ctrl+ capitalizes ASCII, reflect when synthesizing signals 3 years ago
nick black e7fe2d2ffd
[ncneofetch] kill 'KERNEL_XNU unhandled' warning 3 years ago
nick black 5734444d49 ncneofetch: use kern.osproductversion sysctl for macOS version #2158 3 years ago
nick black 54cf38b076
add ncstrwidth_valid() and documentation #2153 3 years ago
nick black 831a65aa7c
[kitty] move cursor prior to positioning command, closes #2155 3 years ago
nick black 956a2b03ec
[sprite] remove old debugging cruft 3 years ago
nick black d899c5c9d3
notcurses_stop: free rstate fbuf 3 years ago
nick black 2a04effbca
[kitty] reset fbuf prior to init for animation #2150 3 years ago