Commit Graph

4291 Commits (cef5e45be6751b1a2013d8590ddaded371afc9de)
 

Author SHA1 Message Date
nick black 8416e6dfcf add José and igo95862 to README.md 3 years ago
nick black 68776b24e8 Add José to Cargo.toml, copy LICENSE #1163 3 years ago
nick black b10588e97f
ncvisual_render: replace fprintf with logwarn() 3 years ago
nick black 2507a1712b paint(): need blittedquads != 0 to stack blitters #1068 3 years ago
nick black 87def26efb paint(): need invert bits not logic for stacked blitters #1068 3 years ago
nick black b112b93901 use byteswap.h on GNU/Hurd #1320 3 years ago
nick black 39563058ca new unit test breaks #1068 3 years ago
nick black 1a69044d8a fold blends into s bitfield 3 years ago
nick black 02d09ef47b quadblitter: unit test for crossed quadrants #1068 3 years ago
nick black 33d9e60003 quadblitter: unit test for stacked blits #1068 3 years ago
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.
3 years ago
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!
3 years ago
nick black 0446dc0f6d enable blitterstacking unit test -- fails for now 3 years ago
nick black 0f5c76d070 intro: use actual inverted blocks 3 years ago
nick black 6c48c82171 rust: CELL_NOBACKGROUND_MASK oughtn't be exported 3 years ago
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.
3 years ago
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.
3 years ago
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().
3 years ago
nick black cdf2e591b3 halfblock blitter: use pool_blit_direct() 3 years ago
nick black 294d3b7535
ncls.1: fix man syntax 3 years ago
nick black 7e227744d4
link to FOSDEM presentation video 3 years ago
nick black 52b9b9304a
link to FOSDEM presentation 3 years ago
nick black c419bda980
initialize crenderlen, stupid #1302 3 years ago
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.
3 years ago
nick black 76983d6ba7
add skip path writeup to HACKING.md 4 years ago
nick black 692689399c
don't infinitely recurse in ncvisual_stream(), ack 4 years ago
nick black 54318583a2
fix up null vimpl include guard 4 years ago
nick black 2cddb73962
add details to pkg-config Descriptions 4 years ago
nick black d2c5543995
kill off mathtext pocpp 4 years ago
nick black de0b61925e
properly dispatch remaining visual specifications 4 years ago
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.
4 years ago
nick black 89c3fd46f3
release-checklist: drop reprepro 4 years ago
nick black 740093fbb3
ffmpeg: kill per-ncviusal subtitle context memory leak 4 years ago
nick black fe50c8ba29
ncneofetch: only free cpu_model if we know we'll replace it 4 years ago
nick black 5c5f892b3e
progbar: eliminate dead store 4 years ago
nick black e9cd118525
ncdirect_flush: remove dead store 4 years ago
nick black 659df1725b
ncneofetch: fall back to ncart if we can't display image #1304 4 years ago
nick black b8596a1b43
don't install INSTALL.md 4 years ago
nick black 6ebedd73bd
notcurses_core.3: syntax in SEE ALSO 4 years ago
nick black 66968cddab
write out NotcursesCoreConfigVersion.cmake 4 years ago
nick black 3167066de5
player: don't mix designated and undesignated initializers 4 years ago
nick black e20fb4ac8f
install NotcursesCore cmake support files 4 years ago
nick black 6bb88c42ef
simplify wording in FAQ entry 4 years ago
nick black 7eafcfe598
rename notcurses-tetris -> nctetris 4 years ago
nick black 121f10a9c5
v2.1.7 4 years ago
nick black b4709bbb4e
tag libnotcurses.so with soversion 4 years ago
nick black 57271d09ce
v2.1.6 4 years ago
nick black b0301c834d
git mv TERMS.md TERMINALS.md 4 years ago
nick black 3aae597ddd
add notcurses-core to Requires for rust linking 4 years ago
nick black 07ec5206cb
install notcurses-core.pc pkg-config support 4 years ago