Commit Graph

4204 Commits

Author SHA1 Message Date
nick black
4a36a3853e
notcurses-input: use 8x1 blitter for plot 2021-02-03 01:38:12 -05:00
nick black
cd33073b16
jungle: work on all geometries 2021-02-03 01:05:34 -05:00
nick black
0a6056fde4
reproduce MIT license in ncart.c #1323 2021-02-03 00:43:15 -05:00
nick black
b3569b6aef
Initialize Readline on demand
Eliminate NCDIRECT_OPTION_NO_READLINE (it was only introduced in
Notcurses 2.1.6). Add a new function, ncdirect_readline(). Upon
first call to this function, initialize libreadline. Destroy
libreadline in ncdirect_stop() iff we initialized it. Add
hilodirect guessing game PoC from #1325. Rename
notcurses_directmode.3 to notcurses_direct.3. Closes #1326.
2021-02-03 00:18:10 -05:00
nick black
5afa3f14a9
ncdirect: always preserve termios status #1325 2021-02-02 23:42:54 -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
289d0d6a54
notcurses.3: proper linker syntax for notcurses 2021-02-02 22:19:58 -05:00
nick black
072f68a014
add some actual zalgo to zalgo PoC 2021-02-02 22:09:04 -05:00
nick black
43dd0440f7
add raster timing stats #1324 2021-02-02 21:59:29 -05:00
nick black
d47337c4ae
nice 2021-02-02 21:59:13 -05:00
nick black
2491b693ba
Add missing channel_set_palindex()
Implement channels_set_fg_palindex() and channels_set_bg_palindex()
in terms of channel_set_palindex(). Add missing entries to
notcurses_channels.3 man page. Use uint32_t in place of unsigned
when dealing with channels in notcurses.h.
2021-02-02 20:36:59 -05:00
nick black
46f17f4794
add LICENSE to rust/ 2021-02-02 20:36:46 -05:00
nick black
8416e6dfcf add José and igo95862 to README.md 2021-02-02 17:59:44 -05:00
nick black
68776b24e8 Add José to Cargo.toml, copy LICENSE #1163 2021-02-02 17:59:44 -05:00
nick black
b10588e97f
ncvisual_render: replace fprintf with logwarn() 2021-02-02 01:03:35 -05:00
nick black
2507a1712b paint(): need blittedquads != 0 to stack blitters #1068 2021-02-02 00:57:58 -05:00
nick black
87def26efb paint(): need invert bits not logic for stacked blitters #1068 2021-02-02 00:57:58 -05:00
nick black
b112b93901 use byteswap.h on GNU/Hurd #1320 2021-02-02 00:57:58 -05:00
nick black
39563058ca new unit test breaks #1068 2021-02-02 00:57:58 -05:00
nick black
1a69044d8a fold blends into s bitfield 2021-02-02 00:57:58 -05:00
nick black
02d09ef47b quadblitter: unit test for crossed quadrants #1068 2021-02-02 00:57:58 -05:00
nick black
33d9e60003 quadblitter: unit test for stacked blits #1068 2021-02-02 00:57:58 -05:00
nick black
b0915d1db6 Proper transparent blitter stacking
This completes the work for #1068. This addressed a subtle issue.
When we're using pixel->semigraphic art, we want slightly different
rendering. Essentially, imagine that we have two images, each two
pixels tall and one pixel wide. The top image is a transparent pixel
above a white pixel. The bottom image is a white pixel above a black
pixel. We'd expect the result to be two white pixels, but we can
instead get a black pixel above a white pixel. This is because the
*background* color is being merged from the bottom plane, but really
we want the *top* color. Ncvisuals are now blitted along with
information regarding which quadrants they draw over, and when
appropriate, we invert the foreground and background. Closes #1068.
2021-02-02 00:57:58 -05:00
nick black
cb58f45dd3 Write blit quadrants to channel
Reclaim the "blitted" and "full foreground" bits in the
channels. Instead, we now write four bits, encoding the
four quadrants we might occupy as the result of a blit.
These four imply the previous two, leaving us with four
free bits remaining in the channels. This opens a clear
path to O(1)-time, zero-space blitter stacking #1068.
w00t!
2021-02-02 00:57:58 -05:00
nick black
0446dc0f6d enable blitterstacking unit test -- fails for now 2021-02-02 00:57:58 -05:00
nick black
0f5c76d070 intro: use actual inverted blocks 2021-02-02 00:57:58 -05:00
nick black
6c48c82171 rust: CELL_NOBACKGROUND_MASK oughtn't be exported 2021-02-02 00:57:58 -05:00
nick black
ded9ac6aaa paint(): set crender->blitterstacked
Iff cell_blitted_p() when we select the glyph in paint(),
we ought enter blitter stacking mode. Make this decision
in paint() #1068.
2021-02-02 00:57:58 -05:00
nick black
72e09004ba Add blitterstacked bool to crender struct
We need track whether we've entered blitterstacking
mode across the paint() of a given cell. This means
stashing it in the crender rvec #1068.
2021-02-02 00:57:58 -05:00
nick black
f37ebba78d Add CELL_BLITTEDMASK to track ncvisual cells
For properly stacking transparent blittings (#1068), we
need tag those cells which both (1) originated in an
ncvisual operation and (2) have some transparency. For
the three affected blitters (halfblock, quadrant, and
sexblitter), call cell_set_blitted().
2021-02-02 00:57:58 -05:00
nick black
cdf2e591b3 halfblock blitter: use pool_blit_direct() 2021-02-02 00:57:58 -05:00
nick black
294d3b7535
ncls.1: fix man syntax 2021-01-28 22:45:03 -05:00
nick black
7e227744d4
link to FOSDEM presentation video 2021-01-28 18:51:14 -05:00
nick black
52b9b9304a
link to FOSDEM presentation 2021-01-28 18:46:30 -05:00
nick black
c419bda980
initialize crenderlen, stupid #1302 2021-01-27 01:30:21 -05:00
nick black
89a557278b
engorge_crender_vec: stash crenderlen
Rather than checking to see if there is enough space
for the crender vec following a geometry change, stash
the previous allocation, and realloc() whenever it
changes (i.e. whenever we get a resize). This brings
the crender vec back down in size if the screen gets
smaller, and seems to eliminate the problem in #1302.
2021-01-27 01:21:46 -05:00
nick black
76983d6ba7
add skip path writeup to HACKING.md 2021-01-25 05:50:46 -05:00
nick black
692689399c
don't infinitely recurse in ncvisual_stream(), ack 2021-01-24 22:48:03 -05:00
nick black
54318583a2
fix up null vimpl include guard 2021-01-24 07:38:43 -05:00
nick black
2cddb73962
add details to pkg-config Descriptions 2021-01-24 05:43:56 -05:00
nick black
d2c5543995
kill off mathtext pocpp 2021-01-24 05:26:36 -05:00
nick black
de0b61925e
properly dispatch remaining visual specifications 2021-01-24 05:13:05 -05:00
nick black
5e96ec7447
define none multimedia implementation
Without defining a null implementation for the
USE_MULTIMEDIA=none case, we print a warning in programs
which linked against notcurses-core about not being built
with multimedia support. This warning is both (a) inaccurate
and (b) irrelevant. We can now distinguish between "no support"
(implementation != NULL) and "linked against notcurses-core"
(implementation == NULL). Move the warning to the shim.
2021-01-24 04:48:32 -05:00
nick black
89c3fd46f3
release-checklist: drop reprepro 2021-01-23 22:30:28 -05:00
nick black
740093fbb3
ffmpeg: kill per-ncviusal subtitle context memory leak 2021-01-22 01:52:39 -05:00
nick black
fe50c8ba29
ncneofetch: only free cpu_model if we know we'll replace it 2021-01-21 23:51:33 -05:00
nick black
5c5f892b3e
progbar: eliminate dead store 2021-01-21 23:51:21 -05:00
nick black
e9cd118525
ncdirect_flush: remove dead store 2021-01-21 23:42:16 -05:00
nick black
659df1725b
ncneofetch: fall back to ncart if we can't display image #1304 2021-01-21 23:03:04 -05:00