Commit Graph

444 Commits

Author SHA1 Message Date
joseLuís
6966cd78b5 [rust] more channels refactor
- make ncplane_set_channels and NcPlane::set_channels don't return the NcChannelPair
- add safe function wrapper for ncplane_channels
- fix docs
2021-05-04 00:42:12 +02:00
joseLuís
d886e01fea [rust] refactor channels
- rename channel* functions to ncchannel*
- rename NcPlane methods:
  - fg_default_p to fg_default
  - bg_default_p to bg_default
- new functions:
  - ncplane_set_default
  - ncplane_set_not_default
  - ncplane_set_fg_not_default
  - ncplane_set_bg_not_default
- new NcPlane methods:
  - set_channels
  - set_default
  - set_not_default
  - set_fg_not_default
  - set_bg_not_default
- new safe wrapper functions:
  - ncplane_set_fchannel
  - ncplane_set_bchannel
  - ncplane_set_channels
2021-05-04 00:26:18 +02:00
joseLuís
e9a841954d [rust] more functions to manage the "default color"
- new functions:
  - channel_set_not_default
  - channels_set_fg_not_default
  - channels_set_bg_not_default
  - channels_set_default
  - channels_set_not_default
- new NcChannel methods:
  - set_not_default
- new NcChannelPair methods:
  - set_fg_not_default
  - set_bg_not_default
  - set_default
  - set_not_default
- improve the test of: channel_set_default
- add tests for:
  - channel_set
  - channel_set_not_default
- add doc comments to existing NcChannel reimplemented functions tests.
2021-05-03 19:25:05 +02:00
joseLuís
dcfb368b21 [rust] remove example for issue #1575; fix warning
- delete file issue-1573.rs (wrongly named)
- fix warning in example issue-1559
2021-05-03 18:22:04 +02:00
nick black
923bc40516
v2.2.9 2021-05-03 02:51:04 -04:00
Nick Black
2c5d938cbd
Paint sprixels bottom-to-top (#1589)
* Paint sprixels in order, bottom-to-top

We don't want to have to track sprixel order whenever someone
moves an ncplane, so just keep a list growing backwards as we
pass top-to-bottom in notcurses_render_internal(). Each time
we hit a sprixel plane, splice it out of the sprixel list, and
add it to the front of our temporary list. When we hit the
bottom, stick this temporary list on the end of our existing
list (any such planes are to be deleted, which comes before
drawing). Closes #1575.

* reorder collected sprixellist; solves kitty but breaks sixel =/ #1575

* remove debugging cruft

* [rust] fix up mergedown mutability
2021-04-24 13:08:09 -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
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
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
joseLuís
c57a7b33cf [rust] derive Debug for Nc & NcD 2021-04-22 00:49:36 +02:00
joseLuís
a38ccc4025 [rust] re-license with dual MIT OR Apache 2.0 2021-04-21 18:09:44 +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
joseLuís
bc123fbba8 undo prev. ncvisual_resize related changes #1559 2021-04-18 22:03:17 +02:00
joseLuís
0ec15fa920 update doc for ncvisual_resize; fix #1559 2021-04-18 21:38:25 +02:00
nick black
d5b58d9f58
v2.2.8 2021-04-18 13:24:24 -04:00
nick black
eefc4fb91f
v2.2.7 2021-04-18 12:34:41 -04:00
joseLuís
6ab072c953 [rust] update example pixel-cell & remove poc-planebase 2021-04-18 17:14:28 +02:00
joseLuís
1e69b48bbd [rust] add example issue-1559 #1559 2021-04-18 15:46:53 +02:00
joseLuís
c7f1c32f7f [rust] update pixel-cell example; #1546 2021-04-18 13:56:49 +02:00
joseLuís
8209bc6841 [rust] use deprecated blacklist_function; #1339 2021-04-18 12:08:14 +02:00
joseLuís
08a3edb71f [rust] update pixel-cell example; #1546 2021-04-18 11:33:58 +02:00
joseLuís
88c89f2d30 [rust] add ncvisual_inflate; update function-summary; fixes
- add ncvisual_inflate function
- update function-summary script & related data
- update cell inner comments.
- fix several doc inner links.
2021-04-18 11:15:33 +02:00
joseLuís
eaee89c99f [rust] renamed FullMode & DirectMode to Nc & NcD
- improve pixel-cell example.
- rustfmt
2021-04-17 22:13:43 +02:00
nick black
e1d97bfb62
[rust] cell_ -> nccell_ drudgery #1532 2021-04-15 22:41:48 -04:00
nick black
b070b69eb2
get last remaining cell_ functions -> nccell_ #1532 2021-04-15 22:29:53 -04:00
joseLuís
452b7cd535 [rust] renamed cell_* functions to nccell_* 2021-04-15 20:45:08 +02:00
Nick Black
e591ec2e98
cell -> nccell throughout much of remaining API (#1535)
cell -> nccell throughout much of the API #1532
2021-04-14 06:42:14 -04:00
nick black
e017dcba89
v2.2.6 2021-04-12 05:01:58 -04:00
joseLuís
5f96acc9e3 [rust] refacture NcVisual module
- separate the methods into its own module.
- add constants NCVISUAL_OPTION_ADDALPHA, NCVISUAL_OPTION_HORALIGNED, NCVISUAL_OPTION_VERALIGNED
- add NcRgba type.
- update the docs.
2021-04-10 20:19:13 +02:00
joseLuís
48ab7e0945 [rust] fix #1509
- fix bugs in macros: error, error_ref & error_ref_mut
- remove issue-1509 example
- minor improvements
- rustfmt
2021-04-10 19:26:55 +02:00
nick black
76241f81d2 [rust] adapt pixel-cell.rs 2021-04-10 12:02:58 -04:00
nick black
bb0d6c2e80 [rust] update fullsize_pixel_without_plane() 2021-04-10 12:02:58 -04:00
nick black
bac7d634d9 [visual] pipe transcolor through, use it everywhere #1518 2021-04-10 12:02:58 -04:00
joseLuís
932f4c1b7c [rust] simplify issue-1509 example 2021-04-10 15:54:38 +02:00
nick black
33929cf91e
[rust] update to nccell 2021-04-10 09:33:01 -04:00
joseLuís
bc80350384 [rust] several fixes
- fix after renaming cell functions.
- fix some NcVisual method names and docs
- fix some rustdoc warnings
2021-04-10 15:29:55 +02:00
nick black
849ec2748f
[rust] nccell updates 2021-04-10 09:23:42 -04:00
nick black
ff76dba6ed
cell_strdup -> nccell_strdup 2021-04-10 09:21:52 -04:00
joseLuís
1afe6f162e rust: add new pixel geometry functionality
- add NcPlane method .pixelgeom.
- upgrade full-capabilities example.
- fix NcVisual method .blitter_geom docs.
- rustfmt
2021-04-10 15:09:02 +02:00
joseLuís
66d4f323e8 rust: fix .gitignore; remove issue example
- make .gitignore just ignore the *root* build dir
- remove unneeded rust/.gitignore
- remove no longer needed issue-rgba.rs
2021-04-10 13:03:54 +02:00
Nick Black
04b1ba8ed2
Dankamongmen/unify geom (#1514)
deprecate ncvisual_geom() in favor of new ncvisual_blitter_geom(), which allows caller to get the blitter used. replace the checks and calculations in ncvisual_render() with a call to ncvisual_blitter_geom(), unifying the two paths (and eliminating several bugs in the unloved ncvisual_geom()).
2021-04-10 04:04:02 -04:00
joseLuís
429ca673d3 rust: several fixes; add example for issue #1509
- fix method name: NcPlane.at_yx_cell().
- tell bidngen derive more traits when it can
- update .gitignore so it doesn't ignore rust/build
2021-04-08 14:48:16 +02:00
joseLuís
7d51756a12 rust: new poc-planebase example; doc improvements
- improve NcVisual.from_rgba documentation.
- fix Notcurses.term_dim_yx documentation.
- new example `poc-planebase` to help find the bug.
- improve full-capabilities example a little.
2021-04-08 13:11:06 +02:00
joseLuís
60c874f835 rust: impl ncplane_as_rgba; refactor macros
- rename and refactor NcPlane method rgba() to as_rgba().
- add example `issue-rgba` that shows a problem when the plane has text.
- refactor `error_ref` & `error_ref_mut` macros to allow custom return values
2021-04-08 11:07:04 +02:00
joseLuís
4996bebad0 rust: add constant NCOPTION_NO_CLEAR_BITMAPS 2021-04-08 09:22:56 +02:00