nick black
2f23409d97
finish out interp PoC #1796
3 years ago
nick black
091bc1e625
interp PoC #1796
3 years ago
nick black
6152f621ba
microoptimize extract_version()
3 years ago
nick black
b2d04feffd
factor out extract_version(), get WezTerm version #1798
3 years ago
nick black
d0889d3615
extract contour version from XTVERSION #1798
3 years ago
nick black
454d548650
extract XTerm version from XTVERSION #1798
3 years ago
nick black
ed04cb72c5
termdesc: set up termversion #1798 , print in banners
3 years ago
nick black
8d86fd3162
prep for DECRPM #1582
3 years ago
nick black
37aa8efd7c
set the BSU/ESU escapes when detected in response to queries #1582
3 years ago
nick black
57e418284e
add ESCAPE_BSU/ESU, clean up query_state #1582
3 years ago
nick black
878eebde0a
kill unused tinfo fields BCEflag/AMflag
3 years ago
nick black
086ee695c1
terminfo: properly excise delays, preserving trailer #1688
3 years ago
nick black
204e1527d8
termdesc: no need to query Secondary Attributes
3 years ago
nick black
e530a6d27a
tighten up notcurses-info output
3 years ago
nick black
ff1d8b1249
tinfo_debug_caps: properly line up unicode 13 symbols
3 years ago
nick black
1bfb230553
add VisualFromRGBxPacked unit test
3 years ago
nick black
c5542cbd1a
add unit test VisualFromRGBPacked #1767
3 years ago
nick black
d360cc1d1e
ncvisual_from_rgb_{packed, loose}() #1767
3 years ago
nick black
c8dfa17485
Set up sane logging for direct mode
...
All our diagnostic macros required a struct notcurses from
which to extract the loglevel. Eliminate this parameter,
and update all caller sites. Add a library-wide (but not
exported) loglevel variable, and set it from both
notcurses_core_init() and ncdirect_core_init(). Add two
new direct mode flags, NCDIRECT_OPTION_VERBOSE and
NCDIRECT_OPTION_VERY_VERBOSE, mapping them to
NCLOGLEVEL_WARNING and NCLOGLEVEL_INFO respectively.
Closes #1690 .
3 years ago
nick black
350f531a5a
sexblitter: honor nointerpolate throughout #1763
3 years ago
nick black
048f2f5e77
handle nointerpolate in transparent sexblitter cell #1763
3 years ago
nick black
29f0243cbf
quadblitter: no interpolation with NCVISUAL_OPTIONS_NOINTERPOLATE #1763
3 years ago
nick black
534000cadb
clamp sixel height in update_term_dimensions() so ncdirect gets it #1789
3 years ago
nick black
50a304bada
Avoid drawing sixel to the bottom row
...
Sixels, unlike Kitties, can't be drawn to the bottom row,
lest we scroll. We were properly guarding against creation
of a sixel that touched the bottom row when creating the
plane within ncvisual_blit(), but not when we were provided
with a plane. This used to be fine because ncplayer cut the
plane off less one row, but when we enabled the bottom row
for Kitties, this ceased. We don't want to expose this wart
to userspace, so instead clamp sixel_maxy based off the screen
height when appropriate. Closes #1789 .
1789?!?! Liberté, Egalité, Fraternité!
3 years ago
nick black
fc390da020
invert DECSDM for terminals with sprixel_cursor_hack set #1782
3 years ago
nick black
574eef2e28
need to call sprite_init() from setup_sixel_bitmaps()
3 years ago
nick black
5e16208801
remove garbage CursesStyles unit test #1791
3 years ago
nick black
3cb537c3fc
only list sgr styles as supported if we have sgr #1791
3 years ago
nick black
32c34b1782
ncdirect_style_emit: return 0 when no sgr is defined #1791
3 years ago
nick black
ce2b89552a
direct cursor tests require ncdirect_canget_cursor() #1790
3 years ago
nick black
c9a338e0fd
add ncdirect_canget_cursor() #1790
3 years ago
nick black
b50bab7880
remove unused function get_p2 from sixel.c
3 years ago
nick black
0bfef5b0ef
constify arguments to ncplane_notcurses/ncplane_pile
3 years ago
joseLuís
8f234368d8
make `ncplane_pixelgeom` require a const reference
3 years ago
nick black
e0276bbfdb
undercurl unit test #1758
3 years ago
nick black
562cf1c468
direct mode: support undercurl throughout #1758
3 years ago
nick black
5559bbbebe
NCSTYLE_UNDERCURL #1758
3 years ago
nick black
04c3dcc463
tinfo_debug_caps: add some style work #1758
3 years ago
nick black
bab79956cd
contour: adapt to new capabilities #1768
3 years ago
nick black
63e8d117dd
null media implementation: adapt to new capabilities struct #1768
3 years ago
nick black
0cfe426785
unify capabilites_canchangecolor #1768
3 years ago
nick black
912c897e67
ncdirect capabilites, all #1768
3 years ago
nick black
4aa702627a
publicize nccapabilities structure, add ncdirect_capabilities() #1768
3 years ago
nick black
0e6f52533b
introduce nccapabilites struct, move utf8/ccc therein #1768
3 years ago
nick black
7eedc7714d
recognize Contour via XTVERSION, and turn on quadrants/rgb for it #1781
3 years ago
nick black
cf60ff5b94
don't restore bogon termios struct on setupterm failure #1778
3 years ago
nick black
9950d71e89
handle weird contour reply to CSI 11 #1780
3 years ago
nick black
7d0375f8e0
don't put on airs, "Colors"
3 years ago
nick black
8de306a899
more crap for notcurses_debug_caps()
3 years ago
nick black
f8ca942d84
term_bg_rgb8: fix longstanding FIXME now that we detect the bg #1292
3 years ago
nick black
302d69289a
[termdesc] parse a 8-bit rgb spec preferentially, to get foot working #1292
3 years ago
nick black
5f130b407d
CSI_BGQ: four slashes too many, whoops #1292
3 years ago
nick black
c814ee6137
[termdesc] parse bg query reply, set up bg_collides_default #1292
3 years ago
nick black
15cda99d88
sent background query along with our other initial queries #1292
3 years ago
nick black
dd9e3e673b
notcurses_debug_caps(): better utilize space
3 years ago
nick black
38bb8bd3b7
'at least a', not 'at least an'
3 years ago
nick black
44b398cac7
poll.h, not sys/poll.h
3 years ago
nick black
476ebe5533
tie warning about no multimedia to linking with null implementation #1771
3 years ago
nick black
0d963f17a9
ncplane_rgba: extend coverage to braille #1441
3 years ago
nick black
68af28f25e
start in on braille reverse
3 years ago
nick black
80b7391d96
remove NEWS claim that notcurses_check_pixel_support() is going away #1766
3 years ago
joseLuís
85cfca8df8
make `check_pixel_support` require a const reference
...
- fix rust bindings
- related #1766
3 years ago
nick black
9cbcc6c273
init: pipe detected terminal through to heuristics #1761
3 years ago
nick black
c13c613f32
no debugging cruft during init
3 years ago
nick black
966b2bc5ec
extract WezTerm from interrogations
3 years ago
nick black
412bd7450b
FOOT: match post-decode #1761
3 years ago
nick black
b44f17f4ad
extract terminal query responses #1761
3 years ago
nick black
1c6fae3403
term interrogation: extract strings #1761
3 years ago
nick black
cf09c65e3c
queried_terminal enumeration #1761
3 years ago
nick black
a163eeb2d7
until #1726 is fixed, no quadrants in linux console
3 years ago
nick black
dae208b4c5
ugh, dumb error in control_read() led to iterated reads
3 years ago
nick black
03d1e4fb5a
get u7 from terminfo rather than hardcoding it
3 years ago
nick black
0d7a5a5ef8
remove the majority of notcurses_check_pixel_support() calls #1469
3 years ago
nick black
309d211cde
termdesc: only bounce back to cbreak if fd >= 0 #1469
3 years ago
nick black
288381d5b9
ncinputlayer_init: only read responses on a tty #1469
3 years ago
nick black
be1356d213
termdesc: use cbreak mode until interrogation is complete #1469
3 years ago
nick black
73019e097f
debug_caps: elide meaningless max sixel when 0
3 years ago
nick black
7381356594
check for sixel_maxy before clamping; fixes MLTerm sixel
3 years ago
nick black
56c58c41f9
removed accursed alacritty_sixel_hack, hurrah!
3 years ago
nick black
0574a3a479
hook up sixel discovery through new one-shot query #1469
3 years ago
nick black
5fcce3d8b7
init vtmachine: extract numeric arguments for sixel #1469
3 years ago
nick black
398ebca5fd
extract XTVERSION, drain XTSMGRAPHICS on failure #1469
3 years ago
nick black
c0b724e140
add STATE_XTVERSION{1,2}, recognize ST to terminate #1469
3 years ago
nick black
4478896916
differentiate VT101 vs XTSMGRAPHICS color registers #1469
3 years ago
nick black
78b674610c
kill old xtsmgraphics / da lexing
3 years ago
nick black
4006f05cbd
effect STATE_DA_DRAIN state #1469
3 years ago
nick black
9efda3e5bc
start handling primary device attributes #1469
3 years ago
nick black
8569906dd3
bulk up notcurses-info with more glyphs
3 years ago
nick black
44ce08ecd6
pump_control_input: handle XTGETTCAP prefix
3 years ago
nick black
fc6bc1a3d8
build up pump_control_read() state machine, terminate on DA response #1469
3 years ago
nick black
a35ea97e2c
remove obsolete comment in handle_input()
3 years ago
nick black
a22e941b5e
ncinputlayer_init: prep for terminal detection end sequene
3 years ago
nick black
935e982487
unify inputlayer setup/teardown
3 years ago
nick black
59a36681be
rename inputlayer->ttyinfd to infd, as it's not necessarily a tty
3 years ago
nick black
f6405ca051
send CSI>q query, necessary for picking up wezterm DCS #1759
3 years ago
nick black
41231800c6
use XTTERMCCAP TN request in initial query
3 years ago
nick black
03b896e7ad
send XTGETTCAP for terminal name
3 years ago
nick black
cadd4aefee
s/CELL_ALPHA_/NCCELL_ALPHA_/g
3 years ago
nick black
fc2bbca1ca
notcurses-info: break up text segments
3 years ago
nick black
e99221f59e
replace all writen() with blocking_write() to avoid spins
3 years ago
nick black
834f256ec9
notcurses-info: be reliable in the face of output EAGAIN
3 years ago
nick black
a290e3f741
NEWS: fix typos info: dump more unicode
3 years ago
nick black
0b72bec79d
add ncdirect_ascii_box(), use it in DefaultBox unit test
3 years ago
nick black
d695a8206f
add ncdirect_detected_terminal() and notcurses_detected_terminal() #1759
3 years ago
nick black
e838209d21
ncdirect_vline_interp: force default background if selected #1752
3 years ago
nick black
8b058d022b
ncdirect_hline_interp: force default background if selected #1752
3 years ago
nick black
b541ec198d
direct mode: factor out activate_channels(), use it in ncdirect_box #1752
3 years ago
nick black
3dbb3c149d
get another mergedown() unit test #1615
3 years ago
nick black
091908295f
fix up Fills::MergeDownUni unit test #1615
3 years ago
nick black
f822510c3f
no need to track margins in sixel code #1615
3 years ago
nick black
20165ccbbe
no need to reference margins from kitty code #1615
3 years ago
nick black
608943bb95
reference nc->margin when we want margins, not stdplane #1615
3 years ago
nick black
27b05e6f1b
sixel/kitty: remove references to stdplane #1615
3 years ago
nick black
2f43bc70f1
ncplane_move_yx: correct dy/dx for root planes, add unit test #1753
3 years ago
nick black
9f4a578e72
factor out common unicode box sequences
3 years ago
nick black
cb178ac247
add simple_box() and heavy_box() forms
3 years ago
nick black
4731e8269f
add a unit test for ncdirect boxen #1752
3 years ago
nick black
deea4ddf9c
ncdirectf_geom: move to ncvisual_options #1746
3 years ago
nick black
5912a2138a
switch writen() to blocking_write() to avoid spinning
3 years ago
nick black
3622a96d29
argh, fix up blocking write, stupid
3 years ago
nick black
d7d032732f
ncplane_resize: rebuild TAM #1750
3 years ago
nick black
c56dfc2607
install caps-rendered as notcurses-info #1745
3 years ago
nick black
1bb5d690ff
debug_caps: show halfblock glyphs
3 years ago
nick black
3ca80fecd7
add internal NCVISUAL_OPTION_SCROLL, pass from ncdirect #1733
3 years ago
nick black
e6661bdd3b
ncplayer: fill in bottom line #1733
3 years ago
nick black
da9293fef1
allow kitty graphics to be printed on the lowest line, and use C=1 #1733
3 years ago
nick black
761ab46f75
XTSMGRAPHICS: send read attribute, not read maximum allowed #1716
3 years ago
nick black
866e1d04d5
termdesc: disable sixel with fewer than 64 color registers up front #1716
3 years ago
nick black
5426e153f7
ncdirectf_render: make ncvisual_options const, thanks @joseluis #1738
3 years ago
nick black
c967028fbe
ncplayer: add -n option for noninterpolative scaling #1738
3 years ago
nick black
99bb6e6f70
ncdirect_render_visual: pass vopts->flags through to bargs.flags #1738
3 years ago
nick black
2f340d6926
ncdirect_render_visual: convert maxx/maxy into ncvisualspeak #1738
3 years ago
nick black
59f4edd777
ncdirectf_render: accept an ncvisual_options #1738
3 years ago
nick black
6fcaad3c5d
generalize ncvisual_inflate() to ncvisual_resize_noninterpolative() #1738
3 years ago
nick black
9d47666dfe
kitty: undo C=1 thinko, ugh #1733
3 years ago
nick black
af7cde565b
implement NCVISUAL_OPTION_NOINTERPOLATE #1576
3 years ago
nick black
863c1778aa
kitty: cut alphas in half with NCVISUAL_OPTION_BLEND #1735
3 years ago
nick black
94cefb091f
pass blitterargs in toto down to write_kitty_data #1735
3 years ago
nick black
5940239e32
kill bargs->blendcolors, pass full flags qword #1735 , #1576
3 years ago
nick black
7d6c03fe6a
notcurses_visual.3: document BLEND interactions with PIXEL #1735
3 years ago
nick black
df29cbaf1e
[kitty] pass C=1 to inhibit cursor moves/scrolling from graphics #1733
3 years ago
nick black
a6433caeaa
add NCVISUAL_OPTION_NOINTERPOLATE #1576
3 years ago
nick black
e3bf3c9802
place resized pixel planes properly
3 years ago
nick black
f8533d44a1
new unit test, InflateVsScale #1728
3 years ago
nick black
ea13e25cf4
kill NCSCALE_INFLATE #1576
3 years ago
nick black
4bf14935f5
tinfo_debug_caps: prettify outputs
3 years ago
nick black
9cbc1c35f3
[sextants] add right-half to inverse lookup
3 years ago
Nick Black
b686661873
RGBA/BRGA unit tests: don't do any scaling #1714
3 years ago
nick black
97bfd726e4
ncvisual_from_bgra(): use ncpixel API to work on big-endian #1714
3 years ago
nick black
7f2635ced1
rgba/bgra from memory tests need htole() #1714
3 years ago
nick black
eee6ed4f7b
rotate unit tests: fix for big-endian #1714
3 years ago
nick black
e03b1fb5d8
if query_sixel_details fails, disable bitmap support #1469
3 years ago
nick black
b432166f66
send DA following XTSMGRAPHICS #1469
3 years ago
nick black
60c030e232
send DA following XTSMGRAPHICS #1469
3 years ago
nick black
8f0324547e
oiio: use pixel_stride() when appropriate #1723
3 years ago
nick black
bb243989d3
blitters: take bpp as parameter to deal with OIIO pixel_stride() #1723
3 years ago
nick black
383dc90842
ncvisual_blit: call resize_bitmap() for implicit scaling without multimedia engine #1718
3 years ago
nick black
c64e6e265e
drop visual_resize_internal
3 years ago
nick black
4cf653635a
add Visual::Stretch unit test, complete FIXMEs in two others #1718
3 years ago
nick black
0184ccc0b3
add visual_resize_internal to visual_interface API #1718
3 years ago
nick black
a7f41dcefa
ffmpeg_resize: check for owndata before frame_unref #1718
3 years ago
nick black
250c5c9262
ffmpeg_resize: rewrite using ffmpeg_resize_internal() #1718
3 years ago
nick black
e07d712029
notcurses-tester: use unique_ptr on find_data()
3 years ago
nick black
ba8dd1b705
extract ffmpeg_resize_internal(), call from ffmpeg_blit() #1718
3 years ago
nick black
68c0ac4093
ffmpeg: no need for an AVFrame in resize, yay #1718
3 years ago
nick black
3a3fe77514
null media implementation: use c source, not c++ #1718
3 years ago
nick black
73ed97993f
kill 'none' multimedia implementation #1718
3 years ago
nick black
f77c008e88
tinfo_debug_caps: print unicode block characters
3 years ago
nick black
8d22f4618f
lookup_blitset: replace O(N) loop with O(1) access
3 years ago
nick black
26054e757c
rely on ncvisual_set_data() for clear in ffmpeg_resize() #1712
3 years ago
nick black
63bbe9fbbf
FdsAndSubprocs: WARN on (very rarely) failing pthread_mutex_destroy()
3 years ago
nick black
27831c744e
[ffmpeg] restore some av_freep()s, IMGALLOCALIGN 32->64 #1712
3 years ago
nick black
c2a82d0ed1
ffmpeg: transfer ownership following resize #1712
3 years ago
nick black
5f3844d6f1
ffmpeg: free sframe->data[0], not sframe->data #1712
3 years ago
nick black
36f7eb500c
av_frame_free() instead of av_freep() in ffmpeg_destroy() #1712
3 years ago
nick black
5ad08e7e87
[fallin] plug up memory leak on empty ncplane_at_yx() return
3 years ago
nick black
7c54fe0f23
ncplane_at_yx: free intermediate empty ret
3 years ago
nick black
1daa011269
kill OWNDATA diagnostic
3 years ago
nick black
d8c9463175
none_destroy: free up subdata #1711
3 years ago
nick black
82fb065795
only manage ncvisual in toplayer with no media implementation #1711
3 years ago
nick black
5a4b6cdae0
ncvisual_destroy: free up structure on all paths #1711
3 years ago
nick black
c2dd6b6a78
fix compilation error in textplay #1710
3 years ago
nick black
2aa63404e2
resize_bitmap: guard against potential overwrite
3 years ago
nick black
bebd33a30a
prune cruft
3 years ago
nick black
f0bcf63214
properly inflate #1576
3 years ago
nick black
27b09da0f7
ncvisual_inflate: use dstride for new rowstride #1576
3 years ago
nick black
b5174e75b7
Visual tests: properly base checks off rowstride
3 years ago
nick black
2dff72340f
remove obsoleted inflate_bitmap() #1576
3 years ago
nick black
513dbc18fc
factor out pad_for_image() #1705
3 years ago
nick black
7b72ef0567
unit tests now pass with null multimedia #1705
3 years ago
nick black
f46012e2d9
hook up resize_bitmap() to null VI #1576
3 years ago
nick black
f2fefacfc0
first go at generic resize_bitmap() for NCCSCALE_INFLATE #1576
3 years ago
nick black
3a6a2fa90b
textplayer: dewhiten last character written on delay #1649
3 years ago
nick black
e7d40e00e3
textplayer: support longdelay on '…'
3 years ago
nick black
52ebb71ac9
ncdirect_style_emit/render: take palette-indexing into account
3 years ago
nick black
96d743536f
box demo: work when built without multimedia support
3 years ago
nick black
3ac445a328
enforce singleton across both direct and rendered mode #1694
3 years ago
nick black
d170e6e7a2
man pages: document that only one context can be active at a time #1694
3 years ago
nick black
e4aae2d9b7
tinfo_debug_caps: tighten up output a bit
3 years ago
Nick Black
cd2b5de5fa
Panblitter ncplane_as_rgba() ( #1697 )
...
ncplane_as_rgba: genericize across blitters
ncplane_as_rgba() previously was implemented explicitly
in terms of NCBLIT_2x1. it now uses the `egcs` field of the
`blitset`. this supports NCBLIT_2x2 and NCBLIT_3x2 in
ncplane_rgba(). Closes #1490 .
3 years ago
nick black
d216b4115e
scrub_color_table: use sprixel cell geom not plane cell geom #1689
3 years ago
nick black
d20a4d8104
ncdirect: restore colors properly following sgr #1703
3 years ago
nick black
1f1bbadeac
demo: fpsgraph_init: ncuplot_create() kills plane on error
3 years ago
nick black
74eac6236b
ncXplot_create: own ncplane on all paths
3 years ago
joseLuís
9b5987e061
from_bgra(): repair mempcy #1700
3 years ago
nick black
217ab0cd90
cbreak_mode: require working file descriptor
3 years ago
nick black
ccad97dcff
cbreak_mode(): take no action on invalid file descriptor
3 years ago
nick black
a0130a88e6
don't try to preserve termios sans terminal
3 years ago
nick black
a4337ef144
merge tpreserved across direct/rendered #1525
3 years ago
nick black
e10a2f7a21
unify ncinputlayer between direct and rendered mode #1525
3 years ago
nick black
36d1eaf37b
revert, revert, revert my idiot change
3 years ago
nick black
d902dae60b
unify preserved termios between direct/rendered mode
3 years ago
nick black
73913c3f1a
free_terminfo_cache: free up esctable #1525
3 years ago
nick black
2df95f7e25
load up ESCAPE_OC #1525
3 years ago
nick black
1b15de9532
convert last two into esctable (initc/getm) #1525
3 years ago
nick black
59ddd3b0aa
move sc, rc, clear, and home to esctable #1525
3 years ago
nick black
567a1796a5
add smxx/rmxx to esctable #1525
3 years ago
nick black
857d5e5958
move smkx/rmkx smcup/rmcup into escape block #1525
3 years ago
nick black
c4e5ee2c38
sgr-direct PoC: use ncdirect_supported_styles() to guide output
3 years ago
nick black
a22414cd35
explicitly disable italics on ncv failure #1525
3 years ago
nick black
d613ed0784
move cursor controls into escblock #1525
3 years ago
nick black
92873d6b6e
move italics into esctable #1525
3 years ago
nick black
b67315a17e
tinfo: keep supported styles as single-site bitmap #1525
3 years ago
nick black
3b4057d550
move blink/dim/reverse/uline/standout to bools #1525
3 years ago
nick black
c4e2932c76
add ncdirect_supported_styles(), move SGR/SGR0/OC into escblock #1525
3 years ago
nick black
91d8529f0f
civis and cnorm go into escape table #1525
3 years ago
nick black
3f26ff2464
factor out term_supported_styles() for use by ncdirect
3 years ago
nick black
e5bc2a7d7f
terminfo: bold is just a boolean now #1525
3 years ago
nick black
1207765cc8
op/fgop/bgop into escape block #1525
3 years ago
nick black
6767a36996
move setaf/setab into escape table #1525
3 years ago
nick black
317c09d87d
bring hpa and vpa into escape table #1525
3 years ago
nick black
a5b597cfef
move ESCAPE_CUP into dense pack #1525
3 years ago
nick black
0f10eaf9fc
termdesc: move smcup/rmcup lookup into interrogate_terminfo() #1525
3 years ago
nick black
01c4ec61f3
termdesc: add get_escape(), tables #1525
3 years ago
nick black
55fd1f7bbe
TERMS.md: proper syntax on ETerm
3 years ago
nick black
dbbbc162ce
extract tinfo definition into termdesc.h
3 years ago
nick black
ee140a24e2
ncplane_as_rgba: nil geometry is any non-positive geometry
3 years ago
Daniel Eklöf
84f417aa41
Emit rmkx on exit
...
notcurses_core_init() does `smkx`, so let’s undo that in
notcurses_stop_minimal().
3 years ago
nick black
577ff0e545
progbar_create: safe 32-bit diagnostic
3 years ago
nick black
cd6236976a
[ffmpeg] convert loaded frames to RGBA in decode #1680
3 years ago
nick black
264e2cd3a1
ffmpeg_decode: remove obsolete FIXME
3 years ago
nick black
071000af4b
sixel: rebuild auxvecs on a new frame #1642
3 years ago
nick black
50693fb812
add a section on hardware cursor to notcurses_init.3 #1681
3 years ago
nick black
8ff2499b44
ncdirectf_geom: approximate rcell{y,x} #1665
3 years ago
nick black
f344c0d978
strengthen ImageChildScaling test #1675
3 years ago
nick black
51bd8b7c40
kill rotator PoC; it's covered by visual PoC
3 years ago
nick black
b26730a7e0
ensure we're exercising renderer in visual unit tests
3 years ago
nick black
41a31b0352
predicate ImageFileChildScaling unit test on ability to open media #1675
3 years ago
nick black
68e44d4c8b
align to 64B in ncvisual_from_bgra() #1675
3 years ago
nick black
1622beeac4
ncvisual_from_rgba: align suitably for ffmpeg (64B) #1675
3 years ago
nick black
20ea3a3345
new unit test, ImageFileChildScaling #1675
3 years ago
nick black
6969652031
add ncinput_nomod_p()
3 years ago
nick black
08e6fefb25
rgba_trans_q: replace illegal type punning with memcpy
3 years ago
nick black
21c0d0a215
kitty: rebuild auxvector when decoding a new frame #1605
3 years ago
nick black
580fe2d660
OIIO: comment about beg{x,y} and len{x,y} #1661
3 years ago
nick black
def4f5fd17
directmode render: update outy following a scaling #1673
3 years ago
nick black
3475a9d59b
initialize blitterags leny/lenx from ncvisual
3 years ago
nick black
dc9343714d
ffmpeg: scale from computed srcleny/srclenx #1661
3 years ago
nick black
937bf98473
nctabbed: spelling (alocate -> allocate)
3 years ago
nick black
6a982799a3
respect leny/lenx in cell rendering #1661
3 years ago
nick black
22e7fbf4c9
ncvgeom: explicitly set rcelly/rcellx to -1 until filled
3 years ago
nick black
a0bf28645f
unit test for visuals with partial limit + offset #1661
3 years ago
nick black
69adacf3f5
add Visual::Partial unit test for #1661
3 years ago
nick black
ce24efaaf8
vizdirect: exercise direct render restrictions #1661
3 years ago
nick black
42f26fcb1e
ncls: update to prep_image() maxy/maxx #1661
3 years ago
nick black
0e593502d4
directmode: honor xmax/ymax when rendering images #1661
3 years ago
nick black
0b197fe19b
is_test_tty: check for /dev/tty #1668
3 years ago
nick black
a903f32cd6
Robustify detect_cursor_inversion()
...
When we're doing cursor querying, whether for detection
of inversion or just straight up localizing ourselves,
we need to talk to a real terminal, or else there's not
much point. When detecting cursor inversion, we need
move the cursor, *and have it reflected in the terminal
feedback*, which means we need write directly to the
terminal (if one exists). This requires ctermfd over
ttyfp, which we now hardcode. Fixes cursor crap when
redirected away from the terminal #1668 .
3 years ago
nick black
a7fe43654b
wrap cursor tests in is_test_tty() #1668
3 years ago
nick black
6d1b7e7571
add is_test_tty() for notcurses-tester
3 years ago
nick black
65c3aa6653
drop_signals: return 0 even if we don't own the atomic
3 years ago
nick black
d8238da8c6
if we aren't setting signal handlers, don't try to take ownership of signal atomic #1666
3 years ago
nick black
c49749a1bd
add unit tests to check cursor following render #1664
3 years ago
nick black
8df01c2ab8
beef up directmode directf tests #1664
3 years ago
nick black
8729eccf06
SprixelGeom test: validate that scale{x,y} == cdim{x,y} #1659
3 years ago
nick black
2ef759f7a9
correct ncvisual_blitset_geom() for ncdirect case #1659
3 years ago
nick black
94cd3b60f1
basic unit testing of ncdirectf_geom() #1659
3 years ago
nick black
445ead70da
basic unit testing of ncdirectf_geom() #1659
3 years ago
nick black
646f57312e
first pass at ncdirecf_geom() #1659
3 years ago
nick black
c42fab1564
implement ncdirectf passthroughs #1659
3 years ago
nick black
b8cdd29a63
ffmpeg_details_destroy: use av_freep, not av_frame_free() #1658
3 years ago
nick black
ec5509b9be
use av_image_alloc() in ffmpeg_resize() #1658
3 years ago
nick black
3ae7ed6ed3
fix bitmapmaximize unit test to not use standard plane #1658
3 years ago
nick black
39afbd75c4
bitmap tests: remove useless garbage
3 years ago
nick black
b9e941e51e
tester: interpret any -l as -l8
3 years ago
nick black
194c739038
add new unit test SprixelMaximize #1658
3 years ago
nick black
014a88a09c
always enable 8bpc RGB for kitty, alacritty, and foot #1641
3 years ago
nick black
346512ccdf
eliminate type-2 gclusters, sprixels no longer interact with fb #1656
3 years ago
nick black
b87407eb36
remove unused cell_sprixel_id() #1656
3 years ago
nick black
f64b1deeb7
dump unused sprixel_by_id() #1656
3 years ago
nick black
ce2f2c6509
ncplane_dup: don't dup sprixcells #1654
3 years ago
nick black
8bd73378cf
add NCSCALE_INFLATE
3 years ago
nick black
9ce8222d36
drop "available" output from reel demo
3 years ago
Daniel Eklöf
632cbcc881
fetch: add artix to distro info
3 years ago
nick black
29b161f1c0
[box] place ships underneath grid #1639
3 years ago
nick black
a39b5f9347
[box] add some spaceships #1639
3 years ago
nick black
d80df651b3
textplay: expose more of the source material
3 years ago
nick black
d441dd4d0d
fix up compilation on freebsd #1644
3 years ago
nick black
af1641be4e
empty implementation of nctree_goto() #1643
3 years ago
nick black
fd7a1a5d6d
sixel_destroy: be more precise with damage #1616
3 years ago
nick black
19006b4988
account for margins in sixel/kitty_destroy() #1588
3 years ago
nick black
ee638b9a96
nccell_width() return -1 on utf8_egc_len() error #1627
3 years ago
nick black
e0e747837e
kitty: must damage cells underneath a sprixel when hiding #1562
3 years ago
nick black
8f6879ab7f
Fix sixel reload cached wipe display #1557
...
In Sixel, we must supply a value for P2; essentially, 1
means that there are transparent pixels, while 0 means
there are not, or that we don't care what's already
present (P2=0 is implemented faster by some terminals).
We set P2=1 upon encountering a transparent pixel, or
after wiping a cell, but we weren't doing so when we
reloaded a bitmap and prewiped due to cached ANNIHILATION
values in the TAM. Do so. This fixes up the flickering
we saw in the yield demo, as we no longer printed over
the text. Furthermore, we can now properly return 0 from
sixel_wipe() on a cached wipe, eliminating a great many
invalidations and redraws. Move the ANNIHILATION check
into the shared code of sprite_wipe(), removing it from
sixel_wipe() and kitty_wipe().
Oh, what a happy, happy, happy day!
3 years ago
nick black
3f908d43a2
sprixel_debug: show glyph length
3 years ago
nick black
022c6350e2
use ncplane_erase_region() in wipebitmap PoC
3 years ago
nick black
f080e1502b
add ncplane_erase_region()
3 years ago
nick black
e4a1b44ffa
sixel: restore bad 1 on cached wipe
3 years ago
nick black
f067f03832
wipebitmap PoC: more close-in testing
3 years ago
nick black
88936490bb
further wipebitmap PoC flushwork
3 years ago
nick black
0d70d73100
Write Requires.private in pc files based off discovered TERMINFO_LIBRARIES #1635
3 years ago
nick black
84c7aca04e
add ncblit_rgb_packed(), ncblit_rgb_loose() #1634
3 years ago
nick black
3a29fb7991
sixel_wipe: fix off-by-one in bounds computations #1628
3 years ago
nick black
05f5a479c1
revert #1628 fix until crash is resolved
3 years ago
nick black
ace36638d6
[sixel] completely wipe cells when height % 6 == 1 #1628
3 years ago
nick black
2d7019c726
deal with possible endianness problems in bitmap tests #1627
3 years ago
nick black
6a2ed461df
deal with possible endianness problems in bitmap tests #1627
3 years ago
nick black
73fc4ea935
demo: change up the order a bit, moving zoo before outro
3 years ago
nick black
c61eafbbf4
[ncdirect] use '\v' for cursor down, not '\n'
...
With '\v' (vertical tab), we don't need force raw mode.
This saves us system calls, and makes the entire affair
more reliable (no race between setting up termios and
emitting '\n'; no chance for second tcsetattr to fail).
Thanks once more to @dnkl on #1625 .
3 years ago
nick black
36a2d00fb3
ncdirect: move down with raw-mode newlines
...
The cud capability to move the cursor down doesn't
scroll (and shouldn't be used on the last row). We
have no reliable knowledge of whether we're on the
last row or not, so instead switch to raw mode, emit
the newlines, and switch back to whatever mode we
were in. This method is due to @dnkl aka Daniel Eklöf,
a gentleman and scholar who absolutely knows his shit.
Closes #1625 .
3 years ago
nick black
96491e42df
tighten up state machine, only move to INVALIDATED from QUIESCENT #1631
3 years ago
nick black
d574dee3fe
kitty: fix mask in triplet_alpha1() #1631
3 years ago
nick black
1d06c5bd5a
invalidate sprixel following rebuild #1631
3 years ago
nick black
757d12b9ad
wipebitmap poc -- more tests
3 years ago
nick black
99675db255
wipebitmap PoC: test transparent cells atop bitmaps
3 years ago
nick black
d5e3624f30
[sixel] *really* correct wipe_color() assert #1630
3 years ago
nick black
e65f4f2e7c
sprite_rebuild: don't assert on missing auxvec in SPRIXCELL_ANNIHILATED_TRANS #1629
3 years ago
nick black
ad265fe530
[sixel] fix up assert to properly bound xoff #1629
3 years ago
nick black
05f5f70ee2
lift SPRIXEL_HIDE check out of spirxel_wipe()
3 years ago
nick black
e0a53be471
textplay: purge debugging cruft
3 years ago
nick black
578f8eb45c
bitmaps: cap to screen size, fix bitmap childplane tests #1603
3 years ago
nick black
e8f0ff0f30
NCVISUAL_OPTION_CHILDPLANE unit tests for bitmap path #1603
3 years ago
nick black
d144d606f7
implement NCVISUAL_OPTION_CHILDPLANE on cell path #1603
3 years ago
nick black
763a69ea41
unit tests for NCVISUAL_OPTION_CHILDPLANE #1603
3 years ago
nick black
c93f9371b3
[dirlines] throw in a newline at the end
3 years ago
nick black
d1ab898cfe
dirlines PoC: ncdirect_stop() on all error paths
3 years ago
nick black
4283fc038d
[textplay] work for arbitrary UTF-8 input
3 years ago
nick black
9a5b719627
ncvisual_set_data: handle incoming data equivalent to existing data
3 years ago
nick black
584f394071
[ncplayer] block SIGWINCH from the beginning #1624
3 years ago
nick black
af093d397c
[directmode] don't leak sprixel after printing
3 years ago
nick black
172b9adfab
kitty graphics nonce space is 24 bits only #1578
3 years ago
nick black
a19e6a52de
Use different kitty nonces for different runs
...
If we always start with kitty graphics id 1, successive
runs of ncplayer -bpixel -k will erase any previously-
printed graphics. Initialize it with random() in
sprite_init(). Break graphics erasure out from sprite_init()
into new interface sprite_clear_all(), defined only for kitty.
The latter is now guarded by NCOPTION_NO_CLEAR_BITMAPS.
Closes #1578 .
3 years ago
nick black
a2b5a6dc03
[xray] tighten cleanup a bit
3 years ago
nick black
87f5952ace
restore av_frame_free()
3 years ago
nick black
95f8023d04
drop stdio.h from visual-details.h
3 years ago
nick black
0f018c2fc4
[ffmpeg] don't double-free
3 years ago
nick black
15fa0345bd
[ffmpeg] eliminate the despised oframe #1594
3 years ago
nick black
75d0549250
[intro] use a plane rather than ncvisual_resize()
3 years ago
nick black
dcef593670
[ffmpeg] properly seed following rotation #1594
3 years ago
nick black
3dd8f24937
[sixel] must use P2=1 if we added transparent rows #1560
3 years ago