Commit Graph

1008 Commits

Author SHA1 Message Date
nick black
0a86ce83cc [bitmaps] add sprixel_invalidate #1449 2021-03-24 05:22:15 -04:00
nick black
af91bfb015 [eagle] don't run pixel background 2021-03-24 05:22:15 -04:00
nick black
836f356305 [debug] setab, not setbf 2021-03-24 05:22:15 -04:00
nick black
3e4709e595 [intro] add natasha orca when we have pixel support #1423 2021-03-24 05:22:15 -04:00
nick black
be7f2d5d32
[yield] bring it back up 2021-03-23 22:36:17 -04:00
nick black
b2948a5581
[pixel] pass tacache into plane_blit_pixel from constructors #1388 2021-03-23 00:37:13 -04:00
nick black
4fa0857311
[normal] prep for NCBLIT_PIXEL 2021-03-22 05:52:35 -04:00
nick black
c0a1be59ce
[fallin] not yet ready for NCBLIT_PIXEL 2021-03-20 15:35:02 -04:00
nick black
51409439f6 [fallin] put background image on first row 2021-03-20 10:59:33 -04:00
nick black
d6cb986d72 [pixel] multiplex sprixel_cell_wipe() 2021-03-20 10:59:33 -04:00
nick black
53a85871fe [pixel] detach old sprite when blitting onto existing plane 2021-03-20 10:59:33 -04:00
nick black
4f876cf962 [demo] always place HUD in the right place 2021-03-20 10:59:33 -04:00
nick black
7b0e6f432c [yield] render background into a plane #1425 2021-03-20 10:59:33 -04:00
nick black
7e03705ffb [fallin] render background to new plane #1425 2021-03-20 10:59:33 -04:00
nick black
1b095b1bae [yield] render to new plane each iteration #1425 2021-03-20 10:59:33 -04:00
nick black
7426cc8067 fallin' demo: use NCBLIT_PIXEL #1425 2021-03-20 10:59:33 -04:00
nick black
8ea2cb9c18 yield demo: use NCBLIT_PIXEL if available #1425 2021-03-20 10:59:33 -04:00
nick black
5d49892c69
[keller] suffix blitter name with 'blitter' 2021-03-16 18:02:05 -04:00
nick black
a4c8aee8bd [keller] run braille first now that pixel's in the mix 2021-03-16 00:32:45 -04:00
nick black
e2885b5a68
nctree: implement NCKEY_END 2021-03-11 23:19:07 -05:00
nick black
64634143ca
keller: render to new planes 2021-03-11 22:44:23 -05:00
nick black
04a7736112
demo: move fpsgraph/hud to another pile when hidden #1402 2021-03-11 22:36:43 -05:00
nick black
7dfb366cbc
notcurses-demo: drop 'i' argument 2021-03-11 22:28:30 -05:00
nick black
3574e3ec2f
keller: use NCSCALE_SCALE for NCBLIT_PIXEL 2021-03-11 18:46:52 -05:00
nick black
c882a44ac5 CMake: CMAKE_REQUIRED_INCLUDES everywhere #1387 2021-03-08 08:32:11 -03:00
nick black
17e92a69f9
keller: work around damage check for pixel #1381 2021-03-08 05:02:15 -05:00
nick black
228b9edf09
ncneofetch: adapt to screen width for neofetch-style logos 2021-03-07 21:25:57 -05:00
nick black
ef5a3200de
pull pixelon/pixeloff out of tinfo struct 2021-03-07 19:50:55 -05:00
nick black
cdf8685154
keller: don't use NCSCALE_STRETCH with NCBLIT_PIXEL...yet #1381 2021-03-07 14:16:16 -05:00
nick black
60ff6a73d6
sliders: simplify, kill compiler warning 2021-03-03 23:33:33 -05:00
nick black
a9c257465a
keller demo: separate legend lines 2021-03-01 18:17:35 -05:00
nick black
a759f9ba0b
keller: always begin at row 1 2021-02-28 13:19:19 -05:00
nick black
1b2aedff67
keller: add pixel iteration #1281 2021-02-28 13:03:35 -05:00
nick black
4533d42fa0 sixel_blit: use '$' to return carriage #200 2021-02-27 19:03:42 -05:00
nick black
7aacc7b40e demo: prep for NCOPTIONS_VERIFY_SIXEL #200 2021-02-27 19:03:42 -05:00
nick black
cd10321819
zoo: clean up central plane #1353 2021-02-21 16:26:32 -05:00
nick black
ed3075414e
zoo demo: use nul glyph as base cell #1353 2021-02-21 16:22:54 -05:00
nick black
1b1e0b88be
ncplane_qrcode: drop blitter argument, update docs 2021-02-15 03:34:14 -05:00
nick black
6e9b23f06f
demo: account for raster time in TheoFPS calculation 2021-02-14 20:01:10 -05:00
nick black
50c6240efa
yield: print label immediately 2021-02-11 21:37:14 -05:00
nick black
c023ccf4d6
yield: transparent background for label 2021-02-11 21:10:36 -05:00
nick black
f6c12aedae
mojibake: add a few unicode 13.1 emoji 2021-02-07 21:39:24 -05:00
nick black
07db12f5e0
keller: always use white for text #1331 2021-02-05 02:44:55 -05:00
nick black
cd33073b16
jungle: work on all geometries 2021-02-03 01:05:34 -05:00
nick black
94172303be
implement raster timing stats #1324 2021-02-02 23:02:43 -05:00
nick black
ddc524420d
jungle demo: more precise timing 2021-02-02 22:57:21 -05:00
nick black
43dd0440f7
add raster timing stats #1324 2021-02-02 21:59:29 -05:00
nick black
0f5c76d070 intro: use actual inverted blocks 2021-02-02 00:57:58 -05:00
nick black
740093fbb3
ffmpeg: kill per-ncviusal subtitle context memory leak 2021-01-22 01:52:39 -05:00
nick black
b0301c834d
git mv TERMS.md TERMINALS.md 2021-01-21 02:37:46 -05:00
nick black
65231aefb2
fix linking for USE_MULTIMEDIA=none 2021-01-21 00:46:19 -05:00
nick black
87f2e03510
animate: trim flop over the top 2021-01-21 00:20:49 -05:00
nick black
73834e392c
animate: clean up after ourselves with original color #1310 2021-01-20 22:52:00 -05:00
nick black
dd210871d6
Reorder demos slightly
'dragon' looks much cooler when it has residue from the
prior demo still on the screen. 'yield' won't do, though,
as it's a graphic (which, devoid of color, looks like
nothing). move it after 'highcontrast'. move 'normal' up
after 'trans' so as never to present too much reading
to the user at once. users hate reading =[. this also
makes 'mojibake' look cooler while we're at it.

Signed-off-by: nick black <dankamongmen@gmail.com>
2021-01-20 02:24:49 -05:00
Nick Black
9112185657
Split up notcurses/notcurses-core (#1297)
Extract `libnotcurses-core` from `libnotcurses`. The former contains everything except multimedia code. The latter contains multimedia stuff (a wrapper around FFmpeg or OIIO). If built with `-DUSE_MULTIMEDIA=none`, there will not be any `libnotcurses.so` generated. `libnotcurses.so` uses library constructors/destructors to insert its implementation into the `ncvisual` stack at runtime. Users linking `-lnotcurses` will get the full implementation; users linking `-lnotcurses-core` only will get the stack less multimedia code.

The upshot of this is that someone can compile/install only `libnotcurses-core`, and a program linked against it will work just fine. This eliminates the need to install the full (large) dependency stack of the multimedia code unless necessary. This will hopefully be useful for e.g. installers etc. Closes #339.
2021-01-18 14:10:04 -05:00
nick black
ccf124ddb9
clean up TERMS.md #1295 2021-01-16 17:54:22 -05:00
nick black
14c64a2aa2
uniblock demo: set pbar background to 0 2021-01-15 06:06:42 -05:00
nick black
99ef8a02e5
animate demo: cycle through glyphs #1263 2021-01-15 04:45:04 -05:00
nick black
e4ee96e698
animate demo: cycle through sequences #1263 2021-01-15 04:20:49 -05:00
nick black
0139f25a9c
animate demo: kill outer loop #1263 2021-01-15 04:06:00 -05:00
nick black
a5c0eedec4 animate demo: chew up the end #1263 2021-01-15 03:31:52 -05:00
nick black
22ecc09dc0 fully accurate determine_totalmoves #1263 2021-01-15 03:31:52 -05:00
nick black
57044946ad animate demo: adaptive timing #1263 2021-01-15 03:31:52 -05:00
nick black
40a3c106bf animate demo: use full length of string #1263 2021-01-15 03:31:52 -05:00
nick black
432de7a8ce animate demo: use background colors #1263 2021-01-15 03:31:52 -05:00
nick black
1ff04ee7d5 animate demo: clean up end 2021-01-15 03:31:52 -05:00
nick black
17e015e9a0 add all current cycles to animate, kill geom PoC 2021-01-15 03:31:52 -05:00
nick black
5b1602606e animate demo: get the movement completely working 2021-01-15 03:31:52 -05:00
nick black
9acf5e6a2e animate demo: outer circle / closing logic 2021-01-15 03:31:52 -05:00
nick black
80a3727b83 animate demo: begin work on pathfinder 2021-01-15 03:31:52 -05:00
nick black
655cafa69d plan out animate demo 2021-01-15 03:31:52 -05:00
nick black
a6ddb6ed2e plot out animate demo #1267 2021-01-15 03:31:52 -05:00
nick black
5dfd0f94eb start replacing allglyph with animate #1263 2021-01-15 03:31:52 -05:00
nick black
fa3c17abb9
freebsd: don't use sextants, no libc support #1287 2021-01-13 05:49:57 -05:00
nick black
222d5e722d
uniblocks: avoid some problematic glyphs #1285 2021-01-12 05:07:45 -05:00
nick black
8283adc28f
Introduce src/compat/ for all bins
I've created the new files src/compat/compat.{hc}. These
are available to all binaries by adding src to the include
directories, and src/compat/compat.c to the sources. Several
functions are implemented here which one or more target
operating systems are missing, right now all related to time.
This includes clock_nanosleep(), which is missing on OS X and
DragonFly BSD. Eliminate the other three definitions of
timespec_to_ns() and friends. Standardize on NANOSECS_IN_SEC
rather than the more opaque GIG. Progress on #1121.
2021-01-09 23:25:25 -05:00
nick black
4fc099f2e9
reel/plot/menu: properly warn on bad flags 2021-01-08 05:13:31 -05:00
nick black
6ff95dd24a
notcurses-demo: print usage on invalid spec 2021-01-03 19:47:21 -05:00
nick black
478d7cb514
update channels in ncdirect palindex #1275 2021-01-02 21:11:21 -05:00
nick black
e37b466eea
notcurses-demo: support 'V' for version out #1266 2020-12-31 02:28:47 -05:00
nick black
0bcb107ae6
fallin: don't carry cell across planes #1265 2020-12-31 00:50:10 -05:00
nick black
f1253560ad
ncdirect: set_ on rgb functions #1261 2020-12-28 13:52:58 -05:00
nick black
8824495924 uniblock demo: properly set progress 2020-12-28 01:58:54 -05:00
nick black
b0c6f697e0
yield: render in pfill loop so we never look locked up 2020-12-28 00:54:44 -05:00
nick black
68f5ea711e
demo: move HUD over by 2, don't block legend 2020-12-28 00:46:30 -05:00
nick black
f22ddfa72f
progbar: don't overrun on 1.0 #1257 2020-12-27 21:07:33 -05:00
nick black
91e932ed26 ncvisual_render: handle NCSCALE_NONE_HIRES #1250 2020-12-25 23:28:50 -05:00
nick black
56d94e9392 intro: add a bar on top to match bottom 2020-12-25 23:28:50 -05:00
nick black
dd1cdc40d5 add NCSCALE_NONE_HIRES, NCSCALE_SCALE_HIRES #1250 2020-12-25 23:28:50 -05:00
nick black
a4bad2318f
dragon: don't force 3x2 2020-12-25 19:49:27 -05:00
nick black
4d8efcab82
Progress towards NCBLIT_3x2 by default
Add a new member 'sextants' to the terminfo cache (both
notcurses and ncvisual contain one of these, and both
initialize it the same way -- interrogate_terminfo()).
Add a new function, 'notcurses_media_defblitter()', and
deprecate 'ncvisual_default_blitter()' (the latter didn't
receive enough information to return NCBLIT_3x2). Update
all callers. Add new *internal* function rgba_default_blitter(),
so this logic can be freely changed in the future. If
sextants are available, and we're scaling, return NCBLIT_3x2.
Once we detect sextant availability, we'll have sexblitter
as a default -- stay tuned! #1114
2020-12-25 17:05:31 -05:00
nick black
4e5dbfd2b9
render: use hpa in place of cuf #1245 2020-12-25 00:19:25 -05:00
nick black
fd146db050
demo: reject extra command line arguments 2020-12-18 18:52:11 -05:00
nick black
1798e061e1
fallin': drop unused nccell c #1231 2020-12-18 01:31:58 -05:00
nick black
28b1a80433
ncplane_at_yx_cell: work directly with cell_duplicate() #1231 2020-12-18 01:19:28 -05:00
nick black
3226652936
reel demo: kill tablets on demo_render() exit #1225 2020-12-17 13:47:02 -05:00
Nick Black
1bdd2d0555
Progress bar polishing (#1219)
Progress bars now support four 32-bit channels in ncprogbar_options, and uses them to color a gradient. The redraw procedure has been changed from O(n) to O(1). ASCII progress bars have been repaired. Closes #1213.
2020-12-16 16:48:10 -05:00
nick black
243b8bd4d4
uniblock: scrub all legend residue 2020-12-16 07:23:48 -05:00
nick black
f2cbfff8d9
demo: remove meaningless average r%/w% 2020-12-15 05:11:50 -05:00
nick black
8ec6d2e6fc
progbars: full resolution, fix vert inversion #1210 2020-12-15 04:23:37 -05:00
nick black
2ff20108c8
force LTR override on UC_BIDI_AL #1204 2020-12-15 03:26:14 -05:00
nick black
1bbbdd9dc0
annotate many functions with ((nonnull)) 2020-12-14 22:24:37 -05:00
nick black
f7d55e8fa8
allglyph demo: add two fat vertical progress bars 2020-12-14 15:39:57 -05:00
nick black
ee9ed23e04
uniblock: fixed-width progress bar to better show off smooth fill #1209 2020-12-14 13:43:57 -05:00
nick black
d5574cab9a
restructure progbar logic to prep for highres #1209 2020-12-13 11:34:19 -05:00
nick black
4984903d61
intro: better use of flipmode bar 2020-12-13 11:00:56 -05:00
nick black
ca547bc521
progbar: get vertical progbars working #1209 2020-12-13 10:56:34 -05:00
nick black
cd3fd17174
uniblock demo: add a progress bar #1151 2020-12-13 10:26:51 -05:00
nick black
be3bd474f6
model.dot: simplify 2020-12-13 06:01:12 -05:00
nick black
a2ab467219
whiteout demo: fix up brace extensions 2020-12-13 02:03:52 -05:00
nick black
fd2acde1b1 rename cell->nccell, keep alias #1200 2020-12-13 00:49:37 -05:00
nick black
e66f1a03ad
keller: give each phase a full demodelay 2020-12-12 22:51:07 -05:00
nick black
1c673a57af
assume default 80x24 when ioctl() fails #1197 2020-12-11 19:52:46 -05:00
nick black
876c5a91a1
notcurses: remove unused truecols field 2020-12-11 19:44:40 -05:00
nick black
22790943bc
demo: change plot to 2Hz to avoid gaps 2020-12-09 00:30:09 -05:00
nick black
8fe3e17b54
boxdemo: rotate colors through at finer granularity #1186 2020-12-08 10:12:25 -05:00
nick black
c95bb1ad48
demo: index summary from 1 2020-12-08 01:27:34 -05:00
nick black
7140d1349c
demo: fix demo_getc() to use MAXSLEEP (12.5ms) 2020-12-06 12:28:22 -05:00
nick black
4cf4a4ce0b
egcpool: fix cell_egc_idx() math #1179 2020-12-06 11:55:45 -05:00
nick black
03c95b2b14
demo: minimal-width debug plane 2020-12-06 07:51:08 -05:00
nick black
16320792c2
demo: turn on NCPLOT_OPTION_PRINTSAMPLE #1183 2020-12-06 06:40:39 -05:00
nick black
14fa544433
add NCPLOT_OPTION_PRINTSAMPLE #1183 2020-12-06 06:33:54 -05:00
nick black
5257232f2f
plot: use T-type intervalbase #1184 2020-12-06 06:07:18 -05:00
nick black
e46d9e2a2b
fpsgraph_stop: don't render 2020-12-06 03:10:11 -05:00
nick black
9b7238fdc9
demo: preserve plot/hud/etc. on shutdown
If we're using -k to inhibit use of the alternate screen
for notcurses-demo, we want to see what was on the screen
when we quit. If we're actually quitting, don't destroy
these components manually, so they remain visible.
2020-12-06 03:06:02 -05:00
nick black
a7f59e4fab
plots: use pool_blit_direct() #1182
Use pool_blit_direct() instead of ncplane_putwc_yx() in
redraw_plot(). This eliminates use of rtl_egc() and wcwidth()
on the EGCs used in plots, sidestepping Debian's -1 wcwidth
for sextants (in the same fashion blitting does) and slightly
speeding up plot drawing. At a plot rate of 10Hz, notcurses-demo
is now faster than it used to be at 1Hz, so that's nice.
2020-12-06 02:53:13 -05:00
nick black
73d9668d13
de-picklize eagles with help from k. sarkozy 2020-12-05 22:42:00 -05:00
nick black
8091e5c7e0
demo: plot by decisecond instead of second #1081 2020-12-05 03:37:22 -05:00
nick black
2cb8295146
demo: use braille for plot, looks great 2020-12-05 02:48:38 -05:00
nick black
66b911de38
move wcwidth()==-1 emoji to end of mojibake 2020-12-05 01:42:38 -05:00
nick black
35bd9aaae0
whiteout demo: change timing to allow for analysis 2020-12-04 18:09:52 -05:00
nick black
192c583aad
try forcing LC_CTYPE, C.UTF-8 if not inhibited #1150 2020-11-30 21:44:37 -05:00
nick black
47d5347f01
run mojibake after normal; it looks cool 2020-11-27 21:07:23 -05:00
nick black
2e78ae1c5e
update logo to notcurses II xray #1144 2020-11-27 20:55:38 -05:00
nick black
3ce7d36eed
eagle demo: explicitly request NCBLIT_2x2 2020-11-24 02:53:54 -05:00
nick black
61baabe9a1 eagle, HUD: use default blitter 2020-11-17 23:42:36 -05:00
nick black
f676cd34a8 convert remaining ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
3e209f3539 eagle, luigi, sliders, outro: ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
e8224dfa35 xray: ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
eef6df8c0a death to horiz #1115 2020-11-17 23:42:36 -05:00
nick black
c9d6809014
view: replay current media on blitter change #1111 2020-11-12 14:40:22 -05:00
nick black
61aa96fd8a
eagle: 3x2->2x2 to match cowardly defaults 2020-11-02 16:11:18 -05:00
nick black
16bffab27a
eagle demo: use NCBLIT_3x2 2020-11-01 00:16:04 -04:00
nick black
5f91990ed1
dragon demo: use NCBLIT_3x2 2020-11-01 00:13:53 -04:00
nick black
13a9b38390
demo: strip some explicit NCBLIT_2x2s, use NCBLIT_DEFAULT 2020-10-31 17:15:20 -04:00
nick black
f9b4993b07 notcurses-demo: implement debug window #1013 2020-10-29 19:06:06 -04:00
nick black
957d15410c notcurses-demo: draw debug window when relevant #1013 2020-10-29 19:06:06 -04:00
nick black
132c08e18c demo: add alt+d 'debug' menu option #1013 2020-10-29 19:06:06 -04:00
nick black
63abad4569 keller: use only meaningful blitters 2020-10-29 18:15:42 -04:00
nick black
77733b35d2 keller demo: also cycle warmech 2020-10-29 18:15:42 -04:00