Commit Graph

61 Commits

Author SHA1 Message Date
joseLuís
504dcaad59 [rust] remove NcSignalSet
- hopefully solved the remaining bug of #1339
2021-06-27 15:16:02 +02:00
joseLuís
c69c14e5be [rust] keep on solving multiple architecture bugs #1339
- fix notcurses_debug test on s390x & ppc64le.
- fix NcChannels parameters for NcPlane methods gradient & gradient_sized.
- fix ncplane_gradient & ncplane_gradient_sized on i686 & arm7hl by reimplementing them as a thin wrapper.
- fix ncdirect_hline_interp & ncdirect_vline_interp on i686 & arm7hl by reimplementing them as a thin wrapper.
- fix some docs & do some minimal refactoring.
2021-06-27 13:12:26 +02:00
joseLuís
cadca69138 [rust] fix the NcEgc mess.
- An `EGC` is an UTF-8 string of length 1, not a unicode code point (char).
- remove the `NcEgc` type and use `&str` and `String`, instead (for now).
- update some docs.
- rustfmt.
2021-06-26 12:33:04 +02:00
joseLuís
3fed537854 [rust] remove NcDirectV type alias, use NcPlane instead 2021-06-21 19:44:55 +02:00
joseLuís
90a2ff6fca [rust] fix pixel-cell example
- fix some docs and parameter names.
2021-06-20 13:48:26 +02:00
joseLuís
e5092ad4eb [rust] add ncvisual_from_rgb_* functions and methods
- update some docs.
2021-06-19 13:04:45 +02:00
joseLuís
d38a63ca04 [rust] add NCDIRECT_OPTION[_VERY]_VERBOSE consts 2021-06-19 09:49:48 +02:00
joseLuís
391c58e4ed [rust]
- add ncdirect_canget_cursor
- made ncplane_notcurses require a non-mutable reference.
2021-06-19 08:42:04 +02:00
nick black
bd633d697a
[rust] idiot 2021-06-19 00:20:40 -04:00
nick black
b3ed98b686
rust: adapt to non-const ncdirect_get_{xy}() #1789 2021-06-19 00:11:36 -04:00
joseLuís
1ea663229a [rust] refactor NcDirect
- add missing method `cansextant`.
- rename several cursor functions for consistency.
- fix & update poc-direct example.
- update docs.
2021-06-18 15:52:20 +02:00
joseLuís
e74e2e3f67 [rust] add NcCapabilities & related NcDirect functions 2021-06-18 12:17:45 +02:00
joseLuís
3e9b2c1fe4 [rust] rename NcChannelPair to NcChannels
- deprecate `NcChannelPair`
2021-06-17 00:00:31 +02:00
joseLuís
4c0268997c [rust] rename NcColor to NcComponent.
- fix docs.
2021-06-16 20:26:36 +02:00
joseLuís
e95f540c02 [rust] rename NcStyleMask to NcStyle 2021-06-15 18:22:48 +02:00
joseLuís
85cfca8df8 make check_pixel_support require a const reference
- fix rust bindings
- related #1766
2021-06-15 13:08:00 +02:00
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.
2021-06-13 13:07:00 +02:00
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.
2021-06-12 21:29:03 +02:00
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.
2021-06-03 16:08:54 +02:00
joseLuís
81f63f0e3b [rust] fix docs 2021-05-06 13:08:21 +02:00
joseLuís
b7bfbb0f90 [rust] fix hundreds of clippy warnings 2021-05-05 20:28:51 +02:00
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
2021-05-05 19:33:00 +02: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
c57a7b33cf [rust] derive Debug for Nc & NcD 2021-04-22 00:49:36 +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
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
joseLuís
435b8cb6a7 rust: refactor examples & palette_size method
- refactor Notcurses.palette_size() to return an NcResult.
- refactor & rename example direct-text.rs to direct-capabilities.rs.
- new example full-capabilities.rs
2021-04-07 14:49:44 +02:00
joseLuís
1c5ee9eb8c rust: add more functions and methods
- add functions: ncdirect_core_init & notcurses_core_init (methods pending)
- add functions & methods: ncdirect_readline & notcurses_can_braille
- minor fixes
2021-04-05 19:34:39 +02:00
joseLuís
5492119263 rust: add *_check_pixel_support functions + example 2021-04-05 11:16:34 +02:00
joseLuís
43d1f7192b rust: refactor NcError constructor methods 2021-03-31 14:45:47 +02:00
nick black
1a1305faee rust: adapt NcDirect::render_frame() #1411 2021-03-14 22:48:47 -04:00
joseLuís
da5f86cc8f rust: rename NcDimension to NcDim; rustfmt 2021-01-08 19:25:46 +01:00
joseLuís
1622375d41 rust: add NCDIRECT_OPTION_NO_QUIT_SIGHANDLERS 2021-01-08 19:22:12 +01:00
joseLuís
1218e8fb7f rust: refactor module header summary info
- refactor headers for Notcurses & NcDirect modules.
2021-01-04 22:13:08 +01:00
joseLuís
5eb8ac0be4 rust: improve documentation 2021-01-03 16:26:26 +01:00
joseLuís
797ef4b0ae rust: more changes and improvements
- raw field of new wrapping structs is now public just to the crate.
- NcNotcurses.stdplane method now doesn't return an NcResult since it can't fail.
- rename NcNotcurses to Notcurses and NcNotcursesOptions to NotcursesOptions.
- rename NcPlane::new_termsize constructor to with_termsize.
- bump MSV to 1.48 for the doc links.
- improve lib documentation.
- minor fixes.
2021-01-03 02:40:41 +01:00
joseLuís
bad3449205 rust: rename Notcurses to FullMode; update doc 2021-01-02 22:58:35 +01:00
joseLuís
f5f9397f7b rust: add new wrapper type over NcDirect called DirectMode. 2021-01-02 22:50:48 +01:00
joseLuís
6b2805937d rust: add new wrapper type over notcurses struct.
Create new wrapping types that can safely encapsulate the mutable references,
and implement Drop and automatic (de)referencing.

- Notcurses
  - rename Notcurses* to NcNotcurses*.
  - rename NotcursesOptions to NcNotcursesOptions.
  - new Notcurses struct.
    - implement Drop, AsRef, AsMut, Deref & DerefMut.
    - override stop method to be no-op.
    - reimplement constructors and associated methods.
  - remove without_altscreen_with_banners constructor.
- update examples and tests.
- rustfmt.
2021-01-02 19:45:15 +01:00
joseLuís
9323f17d92 rust: keep improving errors & fix some return types
- add more string messages to error! macro invocations for NcPlane & NcCell methods.
- refactor NcPlane.base() to return the NcCell.
- fix cell_prime & NcCell.prime to accept gcluster as &str, as well as cells_load_box.
- fix several return types (u32 instead of NcDimension for counting).
2021-01-01 21:49:34 +01:00
joseLuís
a29e9f0014 rust: fix ncdirect_getc_blocking(), and corresponding method 2021-01-01 13:06:59 +01:00
joseLuís
31e7305ce8 rust: start improving errors reporting.
- refactor error![] macro, switch place for $msg & $ok parameters.
- add more meaningful NcError return values in several functions related with poc-menu example, for starters.
- the poc-menu example now doesn't randomly fail, IDKW but OK I guess.
- minor unrelated corrections.
2020-12-30 19:11:55 +01:00
joseLuís
7b4c105fdf rust: finish updating rust for ncdirect changes
- update function and method names.
- update intra-doc links.
- update examples.
2020-12-29 02:56:01 +01:00
nick black
a7b131a11c
update rust for ncdirect changes 2020-12-28 20:15:26 -05:00
joseLuís
b6c84cfce2 rust: more 2.1.2 catch-ups
- deprecate old ncdirect_style_* functions.
- add `NCSCALE_*_HIRES` constants.
- BONUS: update ncdirect_raster_frame, removed parameters.
2020-12-28 13:47:44 +01:00
joseLuís
9dda358364 rust: make modifications to match v2.1.2
- add new ffi::functions: ncplane_resize_maximize, notcurses_cansextant,
- substitute rust reimplementions of ncplane_at_cursor_cell & ncplane_at_yx_cell by ffi ones.
- substitute ncvisual_default_blitter by ncvisual_defblitter.
- rename cell style functions
2020-12-27 19:55:13 +01:00
joseLuís
bef4f534e9 rust: fix missing imports 2020-12-25 23:12:08 +01:00
joseLuís
36e81a573a rust: finish NcDirect & Notcurses methods.
- add missing NcDirect methods: raster_frame & render_frame.
- finish refactoring Notcurses methods.
  - turn more Option returns into NcResult.
2020-12-25 20:10:31 +01:00
joseLuís
6049e07d27 rust: continue refactoring the error system.
- made const NotcursesOptions constructors.
- refactor Notcurses constructors to return NcResult.
- pass NotcursesOptions by value, since it's Copy.
- update tests.
- add helper modules for Notcurses & NcPlane.
  - new initialization functions to be used in tests.
- BONUS:
  - refactor NcDirect
  - update examples.
2020-12-25 19:35:21 +01:00
joseLuís
b12abeddc9 rust: finish NcDirect error system refactor
- change Option return type for NcResult when appropriate.
- make NcDirect constructors return NcResult.
- rename NcError::new() to with_msg() and simplify new().
- refactor examples:
  - rename direct-image.rs to direct-image-c.rs
  - recreate using rust methods, as direct-image-rust.rs
  - differentiate more throughly between both styles.
  - remove the sys namespace on both examples.
2020-12-25 17:41:02 +01:00