Commit Graph

5436 Commits

Author SHA1 Message Date
nick black
95072d0f5c
No glyph emission on sprixelated planes
Guard against attempts to output glyphs to a sprixelated
plane in ncplane_putc_yx(), the lowest-level common end
of all ncplane_put*() functions. Add unit test #1572.
2021-04-24 04:47:05 -04:00
nick black
5a72383cb0
reject sprixels larger than plane, add unit test #1572 2021-04-24 04:41:23 -04:00
nick black
cc73811dd4
sprixelated planes may be resized after all #1572 2021-04-24 03:46:19 -04:00
nick black
dc347c99d7
no resizing of sprixelated planes #1572 2021-04-24 03:26:53 -04:00
nick black
a926fe70f8
intro: render the orce only after our first frame 2021-04-24 03:23:47 -04:00
nick black
d3877cbe44
NCBLIT_PIXEL restrictions for planes
Go ahead and allow the standard plane to be used with
NCBLIT_PIXEL, but enforce placement at the origin with
any provided plane. Implement this in ncvisual_blitter_geom()
so that it applies everywhere #1572.
2021-04-24 03:22:23 -04:00
nick black
ea809345e3
kill tacachey/tacachex in ncplane #1572 2021-04-24 03:10:12 -04:00
nick black
cc657bbe35
notcurses_plane(3): document sprixelated effects #1585 2021-04-24 02:38:30 -04:00
nick black
23ef5313e3
document pixel blitting vis-a-vis planes #1585 #1572 2021-04-24 02:28:23 -04:00
Nick Black
ba6088578d
Sixel unit tests #1580 (#1586)
Two unit tests on Sixel round trips, one with wipes #1580.
2021-04-24 01:51:26 -04:00
nick black
4cceb01acf
fix inputs to sws_getCachedContext for ffmpeg #1559 2021-04-23 19:41:55 -04:00
nick black
b58919f145
[sixel] correct deepclean #1580 2021-04-23 14:57:45 -04:00
nick black
68db5d5df6
notcurses(3) add paragraph on visuals #1585 2021-04-23 11:22:51 -04:00
nick black
b54ab84b5b yield: properly size legend plane for final 100% 2021-04-22 23:58:48 -04:00
nick black
6dcb3229e4
unit test for sixel deepclean #1580 2021-04-22 19:54:24 -04:00
nick black
445bf4b58f
Merge branch 'master' of github.com:dankamongmen/notcurses 2021-04-22 09:27:17 -04:00
nick black
c84b1cb778
drone: use new 2021-04-22a autobuilders 2021-04-22 09:26:57 -04:00
joseLuís
bb669965c2 [rust] #1339 1st fix attempt multiple architecture bugs
# List of architectures per type of bug

>  `__va_list_tag` not found
> (differentiate between x86_64|s390x and the rest)
i686:
aarch64:
armv7l: (a similar name exists in the module: `__va_list`)
ppc64le:

- [x] bindings.rs:24

> (expected u32, found u64)
> (differentiate between i686|armv7l and the rest)
i686:
armv7l:

- [x] src/notcurses/methods.rs:531:75 `notcurses_render_to_buffer`
- [x] src/plane/reimplemented.rs:167:55 `ncplane_putnstr_yx`

> expected [0;32]
> (differentiate between i686|armv7l and the rest)
i686:
armv7l:

- [x] src/signal.rs:15:23 `__val: [0; 16]`

> (expected `u8`, found `i8`)
> (differentiate between x86_64|i686 and the rest)
aarch64:
armv7l:
ppc64le:
s390x:

- [x] src/direct/methods.rs:663:60 `ncdirect_hline_interp`
- [x] src/direct/methods.rs:685:60 `ncdirect_vline_interp`
- [x] src/notcurses/methods.rs:531:65 `notcurses_render_to_buffer`
- [x] src/plane/methods.rs:1901:17
- [x] src/plane/reimplemented.rs:697:13
2021-04-22 14:49:14 +02:00
joseLuís
9e2add4e46 [rust] update capabilities, support new functions.
- add new Notcurses methods: `canhalfblock()` and `canquadrant()`.
- add doc links to NCBLIT_* flags from the capabilities methods.
- update the full-capabilites example to include `canhalfblock`, `canquadrant`,
  `canchangecolor` and `canfade` functions.
- rustfmt
2021-04-22 12:25:24 +02:00
joseLuís
97d8c91a1a [rust] palette256 -> ncpalette #1573 2021-04-22 11:57:07 +02:00
Nick Black
c8680255be
palette256 -> ncpalette #1570 (#1573)
everything prefixed with palette256 is now prefixed with ncpalette
2021-04-22 04:11:06 -04:00
nick black
5e6862f34c
per-ncpile sprixel list #1462 2021-04-22 03:26:15 -04:00
nick black
d1a01e8fe8
bitmaps: never allow the last row to be used #1571 2021-04-22 01:18:33 -04:00
nick black
41d129c1d2
[view] name all planes for debug 2021-04-22 00:41:18 -04:00
nick black
c7d284a9af
demo: make debug plane 81 wide, with transparent last column 2021-04-22 00:38:05 -04:00
nick black
f4aa419a31
add notcurses_canhalfblock()/notcurses_canquadrant() #1575 2021-04-22 00:10:55 -04:00
nick black
9b38fe515c
ncdirect_stream: need to call new pixel_remove #1537 2021-04-21 20:31:33 -04:00
joseLuís
5c216c2f9b [rust] blitter related updates
- move blitter type, NCBLIT_* constants and NcPixelGeometry from the plane module to the visual module.
- add information about blitter graceful degradation the NcBlitter type.
- add cross linking from/to the NCVISUAL_OPTION_NODEGRADE flag.
- update the full-capabilites example to include braille.
2021-04-22 02:12:08 +02:00
joseLuís
a3017033a6 [rust] new example issue-1573 #1573 2021-04-22 01:44:59 +02:00
nick black
f665828712
sixel: deepclean on any draw
Whether a draw is due to a move or a simple invalidation,
we need to go ahead and apply any outstanding deepclean to
the sixel beforehand. This eliminates the last bit of
flicker in the intro demo, at the orca's first location.
Also, never emit a '-$' sequence when deepcleaning a sixel.
Closes #1574. Closes #1568.
2021-04-21 19:25:49 -04:00
joseLuís
c57a7b33cf [rust] derive Debug for Nc & NcD 2021-04-22 00:49:36 +02:00
nick black
1b7ea2037a
kitty_delete: always damage if s->n link is broken on hide #1562 2021-04-21 18:47:50 -04:00
nick black
0cddfdde7b
sprixel_debug: print plane location 2021-04-21 17:22:48 -04:00
nick black
d8004ef508
kitty: return -1 on failed fprintf in kitty_delete 2021-04-21 17:22:48 -04:00
nick black
4d0ea5e6b5
notcurses_debug: emit no more than 79 columns per line 2021-04-21 17:22:48 -04:00
nick black
8f2398132c
notcurses.h: move deprecated functions to end of file 2021-04-21 17:22:47 -04:00
nick black
31ee680ea8
demo: destroy debug window at end #1569 2021-04-21 17:22:47 -04:00
joseLuís
a38ccc4025 [rust] re-license with dual MIT OR Apache 2.0 2021-04-21 18:09:44 +02:00
nick black
ee6c3579db
stats: catch sprixel emission in rasterize_sprixels() #1566 2021-04-21 12:01:16 -04:00
nick black
ac72c982d7
stats: count up sprixel elisions/emissions #1566 2021-04-21 11:51:46 -04:00
nick black
6c7b40debf
add stats for sprixel emissions/elisions #1563 2021-04-21 11:43:10 -04:00
joseLuís
6650fafca7 update .gitignore
exclude temporary script outputs
2021-04-20 22:38:42 +02:00
joseLuís
292383f4fb [rust] include files explicitly; add some links 2021-04-20 22:30:35 +02:00
joseLuís
b618e991e5 [rust] update dependencies' version constraints 2021-04-20 22:08:22 +02:00
joseLuís
de51e3a86d [rust] update readme 2021-04-20 21:51:45 +02:00
nick black
71c7432e46
[intro] manually resize greatscott to always hit cell boundary 2021-04-20 06:11:12 -04:00
nick black
16c47430d6
[view] add a sweet little picture-in-a-picture when pixel blitting is available 2021-04-20 05:55:55 -04:00
Nick Black
05662e54c2
Deepclean sixel on move (#1567)
Normally, we don't bother to edit Sixels in-place upon annihilation, since you can just print the character over them and be done with it. If we move one, however, we need to cut the annihilated pixels out of the Sixel. Failure to do so was leading to flicker around the base of the orca's Segway in the intro demo. This was a bit of a struggle, but it seems to work beautifully (though a bit slower than I would care for -- we'll do something about that). Closes #1555.
2021-04-20 05:23:56 -04:00
nick black
c05b0683ec [sixel] don't emit $ prior to - #1565 2021-04-20 03:32:28 -04:00
nick black
60f5e8a210
stats: don't post failed_renders from update_render_bytes 2021-04-20 01:34:32 -04:00