Commit Graph

2194 Commits (068b1c952a4fe3308267570ff5ba2a11340a9ba9)
 

Author SHA1 Message Date
Nick Black 068b1c952a
Dragon demo #708 (#710)
* define dragon curve demo #708
* demo: distinguish abort from fail, color-wise
* dragon: ncvisual-based #708
4 years ago
nick black 909040eade
christ nick get your head in the game 4 years ago
nick black ed824fe0d2
eep! #709 4 years ago
nick black 5bbd183db4
rotate_channels: handle top half block #707 4 years ago
nick black 03c748476b
normal: speed up rotation out #599 4 years ago
nick black 4f8f16df8d
qrcode: really remove getrandom() for freebsd < 12 4 years ago
nick black 3e23ca524f normal: improve coloring 4 years ago
nick black b119cec29e
normal: finally move to pi/4 rotations #599 4 years ago
nick black dc49bb943b
demo: destory about screen before restarting #706 4 years ago
nick black e74e7860c5
demo: explicitly set menu/about colors #705 4 years ago
nick black a069745c49
notcurses-ncreel: remove unused field 'id' 4 years ago
nick black 3936d1b528
adapt callers of ncvisual_geom() 4 years ago
nick black 70183ee283
Rewrite plot tests using C interface #703
The Plot unit tests were reaching directly into the objects,
which meant the implementations couldn't include anything
we didn't want public. This was annoying, so I've changed it.
This required adding ncdplot_sample() and ncuplot_sample(),
which we should have had anyway.
4 years ago
nick black 4d9171aee1
rust: get libnotcurses-sys compiling #704 4 years ago
nick black 185742fd08
Rendering now does tripartite fallback to basecell
Each plane has a "base cell", which like all other cells is
initialized to the null glyph, opaque default foreground color,
and opaque default background color. Prior to this change, at
each cell of a plane, we decided whether to use that cell (the
"viscell") or the base cell depending on whether the viscell had
a non-null glyph. We now evaluate each component independently.
If the viscell has a null glyph, we use the base cell's glyph.
If the viscell has a default foreground, we use the base's fg.
If the viscell has a default background, we use the base's bg.
This was done because (a) it seems more intuitive (if I set a cell
to red, I expect red, not red iff there's a glyph in that cell
for this plane), and (b) because otherwise it was impossible to
do a multicolor overlay without blowing away underlying glyphs
(since without a glyph, you always reduced to the same base cell,
which could have only one fore- and background per render).

Existing code will need to change any instances where cells
lacking glyphs are colored, and those colors are not desired.
Since any such coloring had no effect before, it seems unlikely
that any ought exist (this did bring to light an instance in
the "qrcode" demo where we were staining overmuch of the plane).

This closes #395, the last big open worry regarding our API.
4 years ago
nick black 4391c661be
don't pull logging into plot #703 4 years ago
nick black f98acad7f6
add NCPLOT_OPTIONS_DETECTMAXONLY #610 4 years ago
nick black 2b89b0850c
jungle/normal: improve behavior under ASCII mode #696 4 years ago
nick black a10ba4dac6
highgradient: degrade to gradient #700 #696 4 years ago
nick black 20322fe805
demo improvements for ASCII mode (#696)
* eagle: use new ncvisual_geom() to properly zoom
* qrcode: skip for now (#699)
* luigi: draw with spaces, not full blocks
4 years ago
nick black af46077775
ncvisual_geom: take degradation into account #697
In order to properly determine the scaling of an ncvisual to
be rendered, ncvisual_geom() needs know the blitting method.
For this reason, it took an ncblitter_e argument. It also,
however, needs handle degradation, which means knowing whether
NCVISUAL_OPTIONS_NODEGRADE is in use. It thus really wants the
struct ncvisual_options. Pass and accept it. Closes #697, and
fixes the "yield" demo in ASCII mode (#696).
4 years ago
nick black 827c2f2013
ncplot: don't print spaces #695 4 years ago
nick black 0e1617811f
eagle: require UTF8 for now #697 #696 4 years ago
nick black 7fc38d8fdd
v1.5.0 4 years ago
nick black 470c4f13e2
remove duplicate NEWS entry 4 years ago
nick black 09f3f9097d
input: extract most of main() into input_demo() 4 years ago
nick black 1cd3ffc89a
outro: transparent legend at borrom #687 4 years ago
nick black 1ffd871784
blocks poc: handle std coredump-free #645 4 years ago
nick black a3369d77a9
outro: plug memory leak post-fade 4 years ago
nick black c8caa23090
brailleblitter: honor transparency #649 4 years ago
Nick Black 28431914a8
First go at ncplane_puttext() (#690)
Very simple take at ncplane_puttext(), a new function for linebroken text. Also some very basic unit tests. I doubt this works very well yet, but it handles the simplest cases #682. Added nclog(), internal function for logging. #520
4 years ago
nick black 7736e4a7dc all: don't put legend so far away from plane 4 years ago
Marek Habersack 4d2e4e82d3 [C++] API sync
Changed:

 * Visual: tiny reformatting to fit the overall ncpp style
 * Visual: added error guard in `render`
 * Visual: error_guard update in `rotate`

Added:

 * Visual: simple_streamer (`ncvisual_simple_streamer`)
 * Visual: polyfill (`ncvisual_polyfill_yx`)
 * Visual: at (`ncvisual_at_yx`)
 * Visual: set (`ncvisual_set_yx`)
4 years ago
nick black 841c0a4b8f
quadblitter: respect transparency #686 4 years ago
nick black 10cbaedc77
visual: implement NC_SCALE on both paths #683 4 years ago
nick black f1da9406f9
view: plug small memory leak 4 years ago
nick black 7e6ec274bb
view: clear standard plane between renders #685 4 years ago
nick black 6e7996f1a8
notcurses_init: properly check flags for unknowns 4 years ago
nick black 3668b201af
USAGE: update for new notcurses_options 4 years ago
nick black b2dcc50606
notcurses_options: fold bools into flags 4 years ago
nick black e2b43092c3
outro: fade in samoa while fading out changes #652 4 years ago
nick black 700d59dbad
yield demo: don't stain menu 4 years ago
nick black 71f6b7b02e
USAGE: pixel -> ncpixel 4 years ago
nick black 465f4694b8
rename pixel -> ncpixel 4 years ago
nick black 9f97b7b969
demo HUD: unify blur 4 years ago
nick black 77362a50f4
yield demo looks hot, hot, hot! 4 years ago
nick black 990f401427
ncvisual_set_yx() 4 years ago
nick black d863220e23
add pixels PoC 4 years ago
nick black b9628ca21a
sync definitions of ncvisual_from_plane() 4 years ago
nick black fb13b148e9
add Pixel API 4 years ago