Commit Graph

569 Commits (9df980678139b8e04dfc83888712fe58c06f9f65)

Author SHA1 Message Date
joseLuís e5092ad4eb [rust] add ncvisual_from_rgb_* functions and methods
- update some docs.
3 years ago
joseLuís 4a16ccc78a [rust] temporary fix for bindgen warnings 3 years ago
joseLuís d38a63ca04 [rust] add NCDIRECT_OPTION[_VERY]_VERBOSE consts 3 years ago
joseLuís 391c58e4ed [rust]
- add ncdirect_canget_cursor
- made ncplane_notcurses require a non-mutable reference.
3 years ago
nick black bd633d697a
[rust] idiot 3 years ago
nick black b3ed98b686
rust: adapt to non-const ncdirect_get_{xy}() #1789 3 years ago
joseLuís 8f234368d8 make `ncplane_pixelgeom` require a const reference 3 years ago
joseLuís 1ea663229a [rust] refactor NcDirect
- add missing method `cansextant`.
- rename several cursor functions for consistency.
- fix & update poc-direct example.
- update docs.
3 years ago
joseLuís e74e2e3f67 [rust] add NcCapabilities & related NcDirect functions 3 years ago
joseLuís 7249ecccc1 [rust] add NCSTYLE_UNDERCURL 3 years ago
joseLuís c822aa345e [rust] remove duplicated method NcChannel.set_rgb 3 years ago
joseLuís 3e9b2c1fe4 [rust] rename `NcChannelPair` to `NcChannels`
- deprecate `NcChannelPair`
3 years ago
joseLuís 48876b42fb [rust] rename several constructor methods
For semantic consistency with the Rust API guidelines.

- rename most `NcChannel` & `NcCell` methods starting with `with_`* to `from_`*.
- update examples.
3 years ago
joseLuís 4c0268997c [rust] rename `NcColor` to `NcComponent`.
- fix docs.
3 years ago
joseLuís 2ba4777443 [rust] rename `NCCELL_`* constants to `NCALPHA_`*
- move `NCALPHA_`* constants to the channel module where `NcAlphaBits`
is defined.
- fix several docs and doclinks.
- rustfmt.
3 years ago
joseLuís bcd09be7d3 [rust] deprecate `Notcurses` use and rename it to `Nc`.
In order to be consistent with the rest of the naming scheme, and in order to avoid conflicts with the higher level rust wrappers, which will be using `Notcurses` for the wrapper struct from now on.

- also deprecate `NotcursesOptions` and rename it to `NcOptions`.
- update examples, docs and readme.
3 years ago
joseLuís d07071246b [rust] update docs
- add more NcPlane docs.
- minor fixes.
3 years ago
joseLuís e95f540c02 [rust] rename NcStyleMask to NcStyle 3 years ago
joseLuís 85cfca8df8 make `check_pixel_support` require a const reference
- fix rust bindings
- related #1766
3 years ago
joseLuís e14f77433f [rust]
- improve docs.
- fix some doclinks.
3 years ago
joseLuís 48c85d5220 [rust] rustfmt; fix docs 3 years ago
nick black ca4a1c7fd8 roll back wayward sed on rust 3 years ago
nick black cadd4aefee s/CELL_ALPHA_/NCCELL_ALPHA_/g 3 years ago
joseLuís 2c8a364f3a [rust] fix pixel-cell example
- fix column and row order in visual resize methods
3 years ago
joseLuís 3d830f5e73 [rust] updates against 2.3.4
- remove ncvisual_inflate and add ncvisual_resize_noninterpolative & fix example.
- add notcurses_detected_terminal & ncdirect_detected_terminal.
- take into account new static functions pending to implement:
  ncdirect_light_box, ncdirect_heavy_box, nccells_light_box, nccells_heavy_box, nccells_ascii_box.
- update module info headers notation.
3 years ago
nick black 160868d9e8
v2.3.4 3 years ago
nick black 4ca1036da9
v2.3.3 3 years ago
joseLuís 125ab361e6 [rust] add pending functions
- include new functions: ncdirect_stream, ncdirect_supported_styles, ncdirect_styles, nccell_width, ncinput_nomod_p.
- account for functions: ncplane_halign, ncplane_valign.
- rename ncpalette_get_rgb and ncpalette_set_rgb to ncpalette_get_rgb8 and ncpalette_set_rgb8 respectively.
- minor formatting fixes.
3 years ago
joseLuís 007af7f9af [rust] delete example issue #1753 3 years ago
joseLuís ad7b67ec5b [rust] fix docs 3 years ago
joseLuís 640a2b138e [rust] add example for issue #1753 3 years ago
joseLuís fce6ee22db [rust] update ncdirectf_geom & NcVGeom #1746 #1749 3 years ago
joseLuís 8432486b26 explain the return value of ncplane_set_base 3 years ago
joseLuís 0ea7c5236d [rust] add example issue #1751 3 years ago
joseLuís 8d902f5c2b [rust] update ncdirectf_render #1738 3 years ago
joseLuís f9418f875d [rust] update example #1716 #1742 3 years ago
joseLuís 9d1ca028c5 [rust] fix ncdirectf_render method #1738 3 years ago
joseLuís 852cde9a75 [rust] add NCVISUAL_OPTION_NOINTERPOLATE
- update the `pixel-cell` example.
- change the type of ncvisual flags parameter to u32.
- minor doc fixes.
3 years ago
joseLuís 6f1f544b77 [rust] add prsleep macro + fixes
- add prsleep macro for rendering & rasterizing a plane pline + sleep
- fix some comments and refactor a little
3 years ago
joseLuís 95cd7ad27e [rust] delete example #1732 3 years ago
nick black a6433caeaa add NCVISUAL_OPTION_NOINTERPOLATE #1576 3 years ago
Daniel Brooks 313f1caaa0 cargo doc complains about some urls that are not turned into links
so turn them into links.
3 years ago
joseLuís 9bbfd96dd7 [rust] delete examples for issues #1559 #1699 3 years ago
joseLuís 5d4ee0f294 [rust] fix examples 3 years ago
joseLuís 0d7b6619bb [rust] add example for issue #1732 3 years ago
nick black 7b7308e866
[rust] pixel-cell example: make 'em match #1728 3 years ago
Daniel Brooks 477797716f remove unsafe code from example “issue-1716”
Now that the NcDirectF type and its methods are defined, there is no
need to set a bad example.
3 years ago
joseLuís f44175b9c3 [rust] update example for issue #1716 3 years ago
joseLuís c3f1d6c4a3 [rust] wrap ncdirectf functions
- add type aliases: NcDirectF (NcVisual alias), NcDirectV (NcPlane alias).
- implement wrapper methods for the `ncdirect_*` functions on NcDirectF.
- the methods over NcDirectF are prefixed with `ncdirectf_` to distinguish them
  from the other NcVisual methods (since they are both type aliases, they
  share their methods).
- fix typos in `direct.h`:
  - ncdirect_geom_frame > ncdirectf_geom()
  - ncdirect_render_loaded_frame > ncdirectf_render()
- add NcVGeom struct.
- minor fixes & rustfmt.
3 years ago
joseLuís 812a29e219 [rust] add ncdirectf functions; fix build
- ncdirectf_from_file, ncdirectf_geom, ncdirectf_render, ncdirectf_free
3 years ago
joseLuís 1c6a50e047 [rust] add example for issue #1716 3 years ago
joseLuís 18446034e4 [rust] add ncblit functions
- ncblit_rgba, ncblit_bgrx, ncblit_rgb_packed, ncblit_rgb_loose
3 years ago
nick black 507d2c8d8e
v2.3.2 3 years ago
joseLuís 47c794050a [rust] update example #1699 3 years ago
Nick Black cd2b5de5fa
Panblitter ncplane_as_rgba() (#1697)
ncplane_as_rgba: genericize across blitters

ncplane_as_rgba() previously was implemented explicitly
in terms of NCBLIT_2x1. it now uses the `egcs` field of the
`blitset`. this supports NCBLIT_2x2 and NCBLIT_3x2 in
ncplane_rgba(). Closes #1490.
3 years ago
joseLuís 8fa70935fe [rust] update issue-1699 example 3 years ago
joseLuís e839a95c2b [rust] fix build, remove raqote 3 years ago
joseLuís 7e51f04111 [rust] new example issue-1699; issue #1700
- add raqote 2D graphics library as a dev-dependency
3 years ago
joseLuís bc2acf0ce8 [rust] bump bindgen version to 0.57 #1339 3 years ago
nick black 739c96032d
v2.3.1 3 years ago
nick black ea4c593455
v2.3.0 3 years ago
nick black dc9db79100
v2.2.11 3 years ago
nick black 8025beb6d8
[rust] fix issue-1559 example, i think #1559 3 years ago
joseLuís 95fa72c3e7 [rust] update mergedown doc comment
- fix more warnings
3 years ago
joseLuís 5ec11e5897 [rust] remove ncplane_vprintf
- remove `__va_list_tag`

The `printf` functions wont be implemented, since they require
`__va_list` which causes compatibility problems.
3 years ago
joseLuís 5f3b2f79cf [rust] fix bindgen imports
- update blacklist rules
- use ffi `__va_list_tags`
3 years ago
joseLuís c52e9c5a47 [rust] add NCVISUAL_OPTION_CHILDPLANE
- update docs
3 years ago
joseLuís 7e7082e836 [rust] adjust bindgen imports.
- only import functions from the notcurses public API
- exclude more unneeded types from being imported.
- use custom `__va_list_tag`
3 years ago
joseLuís 66e20bdac8 [rust] safely wrap ncmetric function & fix warnings
- fix warnings on doc generation from imported C API doc-comments
- fix remaining clippy warning
3 years ago
joseLuís 81f63f0e3b [rust] fix docs 3 years ago
joseLuís 87f92546db [rust] remove raw_wrap macro 3 years ago
joseLuís aa0e242a7a [rust] bugfix & a couple of minor updates 3 years ago
joseLuís b7bfbb0f90 [rust] fix hundreds of clippy warnings 3 years ago
joseLuís 129e208438 [rust] refactor Notcurses & NcDirect wrapping approach
- remove `Nc` & `NcD` wrappers, to move them to notcurses-rs library.
- update the summary header format for Notcurses and NcDirect
- update docs and examples
3 years ago
nick black 2d6bdd3b5b
v2.2.10 3 years ago
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
3 years ago
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
3 years ago
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.
3 years ago
joseLuís dcfb368b21 [rust] remove example for issue #1575; fix warning
- delete file issue-1573.rs (wrongly named)
- fix warning in example issue-1559
3 years ago
nick black 923bc40516
v2.2.9 3 years ago
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
3 years ago
Nick Black ba6088578d
Sixel unit tests #1580 (#1586)
Two unit tests on Sixel round trips, one with wipes #1580.
3 years ago
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
3 years ago
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
3 years ago
joseLuís 97d8c91a1a [rust] palette256 -> ncpalette #1573 3 years ago
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.
3 years ago
joseLuís a3017033a6 [rust] new example issue-1573 #1573 3 years ago
joseLuís c57a7b33cf [rust] derive Debug for Nc & NcD 3 years ago
joseLuís a38ccc4025 [rust] re-license with dual MIT OR Apache 2.0 3 years ago
joseLuís 292383f4fb [rust] include files explicitly; add some links 3 years ago
joseLuís b618e991e5 [rust] update dependencies' version constraints 3 years ago
joseLuís de51e3a86d [rust] update readme 3 years ago
joseLuís bc123fbba8 undo prev. ncvisual_resize related changes #1559 3 years ago
joseLuís 0ec15fa920 update doc for ncvisual_resize; fix #1559 3 years ago
nick black d5b58d9f58
v2.2.8 3 years ago
nick black eefc4fb91f
v2.2.7 3 years ago
joseLuís 6ab072c953 [rust] update example pixel-cell & remove poc-planebase 3 years ago
joseLuís 1e69b48bbd [rust] add example issue-1559 #1559 3 years ago
joseLuís c7f1c32f7f [rust] update pixel-cell example; #1546 3 years ago
joseLuís 8209bc6841 [rust] use deprecated blacklist_function; #1339 3 years ago