Commit Graph

4421 Commits (66725909961fc790298ba4dd5b2a8a49cc2027a7)
 

Author SHA1 Message Date
nick black db7281ae54
PoC ncwidth: do a wcswidth() verify pass #1329 3 years ago
nick black 07db12f5e0
keller: always use white for text #1331 3 years ago
nick black 8b4c5fdeb9
cell_load: ingest pool_load() 3 years ago
nick black e8f03235eb
pool_blit_direct: set width rather than in pool_load_direct 3 years ago
nick black 38ec72f4f2
triablitter: use pool_blit_direct() 3 years ago
nick black b4d80ebfaf
term_putc: remove iscntrl check #1316 3 years ago
nick black d66042306f
pool_load_direct(): don't check for full block
We used to set all four quadrant bits if a full block
came through pool_direct_load(). Since users of this
function are going to be explicitly setting the quadrant
bits themselves immediately after this call, there's no
point (except for manual writes of full blocks, but those
ought be uncommon enough not to tip the scales the other
way -- this optimization was directed at blitters).
About a 5% speedup in notcurses-demo. Originates in #1316.
3 years ago
nick black 02c57186b4
Stacking tests: remove cruft, this works now #1318 3 years ago
nick black 56686348d7
more README.md trimming 3 years ago
nick black dc436ec026
reorganize documentation, trim README.md 3 years ago
nick black 8d4a8b5d62
[PoCs] rename wcwidth -> ncwidth for less ambiguity 3 years ago
nick black 4e8f857be0 use entirely delegated initializers in tests/ 3 years ago
nick black aa3cbda9a4
blitterstack: must set all 4 bits on full form #1322 3 years ago
nick black c35c87ba75
FAQs: add Q about COLORTERM and ssh 3 years ago
nick black 54ca2249df
v2.1.8 3 years ago
nick black 2ae1a764d9
stats: properly initialize raster_min_ns 3 years ago
nick black 2b42498c0d
add some notes regarding tmux #1314 3 years ago
nick black 4a36a3853e
notcurses-input: use 8x1 blitter for plot 3 years ago
nick black cd33073b16
jungle: work on all geometries 3 years ago
nick black 0a6056fde4
reproduce MIT license in ncart.c #1323 3 years ago
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.
3 years ago
nick black 5afa3f14a9
ncdirect: always preserve termios status #1325 3 years ago
nick black 94172303be
implement raster timing stats #1324 3 years ago
nick black ddc524420d
jungle demo: more precise timing 3 years ago
nick black 289d0d6a54
notcurses.3: proper linker syntax for notcurses 3 years ago
nick black 072f68a014
add some actual zalgo to zalgo PoC 3 years ago
nick black 43dd0440f7
add raster timing stats #1324 3 years ago
nick black d47337c4ae
nice 3 years ago
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.
3 years ago
nick black 46f17f4794
add LICENSE to rust/ 3 years ago
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