Commit Graph

459 Commits

Author SHA1 Message Date
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
joseLuís
7c6083ee1a rust: add missing functions & constants; refactor
- implement methods for ncplane_resize_marginalized & notcurses_debug_caps.
- add constants NCPLANE_OPTION_MARGINALIZED & NCPLANE_OPTION_VERALIGNED.
- signature updates for NcChannel* & NcPixel trait methods.
- minor improvements.
2021-04-08 08:35:35 +02:00
joseLuís
36a7355cd8 rust: minor examples updates 2021-04-07 21:27:10 +02:00
joseLuís
ae2af14281 rust: new methods, refactor methods and planes example
- add NcChannelPair constructors.
- change some NcChannel methods to return Self: set(), set_alpha()
- add NcPlane methods move_rel() & resize_simple_rel().
- add example full-planes (WIP).
- remove proto-example full-basics.
- small update of poc-menu example.
2021-04-07 20:32:46 +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
1e274287f6 rust: add NcTree widget.
- created all methods except .goto().
- WIP callback types.
- minor updates.
- rustfmt.
2021-04-07 14:19:13 +02:00
joseLuís
aa9bf7a0e7 rust: add ncplane_abs_yx, ncplane_abs_y, ncplane_abs_x
- minor updates
2021-04-07 11:47:05 +02:00
joseLuís
29ac41440c rust: add NcPlane methods resize_maximize & rgba; fix #1508 2021-04-06 19:29:03 +02:00
joseLuís
8cf52672cb rust: rustfmt 2021-04-06 12:31:19 +02:00
joseLuís
63d8645f04 rust: improve pixel-cell example 2021-04-06 12:30:32 +02:00
joseLuís
89e38c11f3 rust: add ncvisual methods & pixel-cell example 2021-04-05 23:55:24 +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
nick black
6760929f91
rust: s/blacklist/blocklist/g 2021-04-04 14:30:05 -04:00
nick black
8c78b089e1
v2.2.5 2021-04-04 14:28:16 -04:00
joseLuís
43d1f7192b rust: refactor NcError constructor methods 2021-03-31 14:45:47 +02:00
nick black
57114c8005
[bitmaps] remove redundant PixelWipeBlocks test 2021-03-28 16:59:02 -04:00
nick black
a8a42c2a50 [planes] implement ncplane_resize_marginalized() #1472 2021-03-27 07:07:48 -04:00
nick black
50df69ab31 [planes] implement MARGINALIZED in ncplane_create() #1472 2021-03-27 07:07:48 -04:00
nick black
a9d9093e22 rust: fix up notcurses_align() unification #1468 2021-03-27 02:31:51 -04:00
nick black
df85fb55ba [bitmaps] fix bitmap placement when making a new plane #1468 2021-03-27 02:31:51 -04:00
nick black
229c1ab3c2 ncplane_new_internal: use ncplane_valign() #1468 2021-03-27 02:31:51 -04:00
nick black
fc79dcd77a update rust for halign/valign #1468 2021-03-27 02:31:51 -04:00
nick black
033ae7f93e [capabilities] eradicate notcurses_canpixel() 2021-03-25 20:41:02 -04:00
nick black
1a1305faee rust: adapt NcDirect::render_frame() #1411 2021-03-14 22:48:47 -04:00
nick black
bc84987af5
v2.2.3 2021-03-08 07:10:50 -05:00
nick black
70be457071
rust: hide blitset definition 2021-03-07 22:59:02 -05:00
nick black
74f7597d09 rust: drop unused import 2021-02-27 19:03:42 -05:00
nick black
53c52e30ff remove c++/rust channel wholesalers 2021-02-27 19:03:42 -05:00
nick black
16ec1c3618 rust: purge NCOPTION_VERIFY_SIXEL 2021-02-27 19:03:42 -05:00
nick black
7724f6301e s/notcurses_cansixel/notcurses_canpixel/g #200 2021-02-27 19:03:42 -05:00
nick black
901ccc2d28 rust/python: ncblit_sixel -> ncblit_pixel 2021-02-27 19:03:42 -05:00
Ben Spencer
9625450848 rust: fix a couple of doc comments 2021-02-21 15:11:21 -05:00
nick black
d732ffc1f4
rust: use CELL_BG_ALPHA_MASK not CHANNEL_ALPHA_MASK 2021-02-21 08:22:25 -05:00
nick black
c10f5a40ce
v2.2.2 2021-02-18 07:07:26 -05:00
nick black
f775ae6b59 rust: update stats() 2021-02-18 04:14:41 -05:00
nick black
be4a9154a8
v2.2.1 2021-02-09 19:34:03 -05:00
nick black
3cdf7160de
v2.2.0 2021-02-08 09:35:34 -05:00
nick black
54ca2249df
v2.1.8 2021-02-03 08:34:49 -05:00
nick black
46f17f4794
add LICENSE to rust/ 2021-02-02 20:36:46 -05:00
nick black
68776b24e8 Add José to Cargo.toml, copy LICENSE #1163 2021-02-02 17:59:44 -05:00
nick black
6c48c82171 rust: CELL_NOBACKGROUND_MASK oughtn't be exported 2021-02-02 00:57:58 -05:00
nick black
121f10a9c5
v2.1.7 2021-01-21 03:21:31 -05:00
nick black
57271d09ce
v2.1.6 2021-01-21 02:44:00 -05:00
nick black
3ecdde74d0
v2.1.5 2021-01-15 05:14:07 -05: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
6938188b19 rust: NcCell updates
- update NcCell documentation according to last release.
- implement NcCell.load method.
- bonus: remove old "width bias" info from the python bindings.
- bonus: add some (commented out) profile settings to Cargo.toml.
2021-01-04 14:29:56 +01:00
nick black
e617acecc7
v2.1.4 2021-01-03 19:55:32 -05:00
José Luis Cruz
1c12b73a80 remove warning 2021-01-03 19:20:19 -05:00
nick black
69e54bf9e3 rust: drop more wideasian 2021-01-03 19:20:19 -05:00
nick black
a229d64703 purge some wideasian cruft from rust wrappers 2021-01-03 19:20:19 -05: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
3bf9f11c80 rust: improve direct-cursor example.
- add `rand` as a dev-dependency.
2021-01-01 21:47:41 +01:00
joseLuís
9156cec58f rust: add handy constructors for NcChannel
- fix direct-cursor example.
2021-01-01 20:56:30 +01:00
joseLuís
500456e2e5 rust: continue working on the poc-menu example.
- change return type of NcMenu.selected to Option.
- change type to &str in ncplane_set_base.
- bonus: update some comments.
2021-01-01 14:17:01 +01:00
joseLuís
1d4653e7c8 rust: rename NcInput's new() to new_empty(); add new() 2021-01-01 13:59:30 +01:00
joseLuís
a29e9f0014 rust: fix ncdirect_getc_blocking(), and corresponding method 2021-01-01 13:06:59 +01:00
nick black
70b74a749b
v2.1.3 2020-12-31 02:57:16 -05:00
joseLuís
8c29276c70 rust: improve some comments 2020-12-31 03:56:36 +01:00
joseLuís
5e7bf86b9c rust: almost complete poc-menu example, still has bugs.
- add NcMenuSection::new_separator() constructor.
- rename constructor method for an empty NcInput to new();
- fix notcurses_getc_blocking() function name and error logic.
- improve comments.
- change type of NCMENU_OPTION_* to u64 (like in C API)
- fix error_str![] macro.
- improve error messages.
2020-12-31 00:11:49 +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
8e5e60f588 rust: Continue with poc-menu example.
- add NcPlane.pustr_aligned() method.
- disable notcurses_stddim_yx* functions & methods for now.
- make input argument optional for notcurses_getc_nblocking().
- update full-basics example.
- fix comments.
2020-12-30 18:40:54 +01:00
joseLuís
624bee6d71 rust: add most NcCell methods
- add & fix comments.
- add methods links.
2020-12-30 00:48:09 +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
ff2a22a9a9 rust: Finish adding NcChannel* methods.
- make channels_set[f|b]g_rgb() functions (and corresponding methods) return the NcChannelPair, taking advantage of the fact that those functions can't fail in Rust.
- documentation fixes.
- fix NCSCALE definition typo.
2020-12-28 17:59:27 +01: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
5d90e7de15 rust: update more NcPlane methods' return type to NcResult.
- rustfmt, comments…
2020-12-27 20:27:46 +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
55d49a43f6 rust: continue NcMenu PoC example; fixes
- modify ncmenu constructor Accept &mut[] instead of Vec<> to avoid FFI related problems. Furthermore, from rust 1.48 it's easy to convert a Vec into an array using the std::convert::TryInto trait.
- fix ncmenu method names.
- fix & refactor Notcurses contructors; add `with_debug` constructor.
- make NcPlane.set_base receive a char instead of a reference, since it's copy.
- add `rre` cargo alias for running examples on release.
2020-12-27 19:00:32 +01:00
joseLuís
a880eaf018 rust: new NcMenu PoC example & more error refactoring.
- new example poc-menu (WIP).
- improve constructors for NcMenu*.
- divide NcMenu* methods into submodules.
- fix return type for NcPlane constructors.
- use NcResult on functions returning references.
- fix a couple of Notcurses methods.
- add more NcChannelPair methods.
- refactor NcInput constructors.
- rename error_ptr![] to error_ref_mut![]
- new macro cstring_mut![].
- new error_ref![] macro.
- update examples & tests.
- bump version in readme.
2020-12-26 20:29:06 +01:00
nick black
55d563b646
v2.1.2 2020-12-26 02:53:40 -05:00
joseLuís
2762e9e561 rust: refactor errors for NcPlane & NcReader.
- add ncplane_new_bound_test helper function.
- update examples & tests as needed.
- rustfmt & minor fixes.
2020-12-26 07:34:26 +01:00
joseLuís
e966348321 rust: add NcMenu methods & fix error_ptr macro 2020-12-26 06:16:54 +01:00
joseLuís
e75432fcf2 rust: deprecate ncvisual_default_blitter 2020-12-26 05:46:05 +01:00
joseLuís
05d5c36622 rust: remove integration tests
- they really are unit tests.
- move version test to its right place.
- BONUS: add rstring![] macro.
2020-12-26 05:41:17 +01:00
joseLuís
fbe4352233 rust: refactor sleep macros
- receive a variable number of arguments.
- make rsleep use methods and deal with NcResult.
- new fsleep to flush an NcDirect context.
- fix macro usages in examples.
2020-12-26 05:14:27 +01:00
joseLuís
763f3efdc5 rust: continue refactoring the error system.
- deal with null()|null_mut() being returned from
  functions, previously ignored.
- new macros: error_ptr & error_str to deal with
  functions returning *mut T & *const c_char into
  NcResult<&mut T> or NcResult<String>, respectively.
2020-12-26 03:58:55 +01:00
joseLuís
bef4f534e9 rust: fix missing imports 2020-12-25 23:12:08 +01:00