Commit Graph

3838 Commits (fef33ad2aa9616041bc60a3e57d291473c1ecde4)

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