Commit Graph

314 Commits

Author SHA1 Message Date
joseLuís
965a0771d8 rust: continue reworking the API & improve documentation
- rename `Pixel` to `NcPixel`
- rename `cell_simple_initializer` to `cell_char_initializer`
  and `cell_load_simple` to `cell_load_char`
- create constructor for `NcReader`
- fix and improve documentation for several types.
- Add `NcDirectOptions` struct and `NcDirectOptionHoriz` union
2020-11-08 14:00:09 +01:00
joseLuís
4673a86ea2 rust: API refactor & improve documentation
- rename EGC to Egc, EGCBackstop to EgcBackstop and ChannelPair to Channels.
- make the original type aliased structs non-public (e.g. ncdirect, ncalign…)
- fix and improve documentation for several types.
- revert renaming crate to nc on use.
- directly import the used types at the beginning of the module.

Now the rustdoc generated documentation is much cleaner.
2020-11-07 18:34:42 +01:00
joseLuís
d82f0934b3 rust: show inline documentation for curated bindings 2020-11-06 14:56:31 +01:00
joseLuís
27628e961a rust: improve bindings 2020-11-06 13:59:32 +01:00
joseLuís
a40cabb9d0 rust: move integration tests out of lib.rs 2020-11-06 13:57:29 +01:00
joseLuís
c8316d75ae rust: continue improving bindings and API
- use libc types and functions directly when possible
	- char32_t -> u32 -> char
	- size_t -> u64
	- free()
	- strcmp()
	NOTE: it seems libc::timespec doesn't work with notcurses_getc()
- rename types
  	- Input -> NcInput
	- Scale -> NcScale
- `suppuabize` function is now private.
- `bindings` module is now public.
- improve comments.
2020-11-06 13:40:52 +01:00
joseLuís
98a2fcf336 rust: explicit bindgen imports for a better world 2020-11-05 20:50:05 +01:00
joseLuís
4beec0845f rust: type changes
- rename types in order to make them more similar to the original ones,
  and so that they play better alongside the higher types defined by
  notcurses-rs.
  	- Plane -> NcPlane
	- DirectMode -> NcDirect
	- DirectModeFlags -> NcDirectFlags
	- FullMode -> Notcurses
	- Align -> NcAlign
	- Blitter -> NcBlitter
	- Scale -> NcScale
- make `types` module re-exportable.
- rename nc module to notcurses.
- improve comments.
2020-11-05 18:35:11 +01:00
joseLuís
d59d05990b rust: direct mode changes
- rename ncdirect_start to ncdirect_new
- add direct mode option flags
- fix examples
- refactor comments
2020-11-04 18:31:12 +01:00
joseLuís
94827c12a2 rust: update dependencies 2020-11-04 12:02:13 +01:00
joseLuís
fed2d7cb9b rust: fix comments 2020-11-03 21:05:57 +01:00
joseLuís
e8ff092f50 rust: fix input; add constructor 2020-11-03 20:59:57 +01:00
joseLuís
2f3d99e4e7 rust: fix visual 2020-11-03 20:40:04 +01:00
joseLuís
cfb2bf0824 rust: add input module with 1 static function 2020-11-03 20:26:33 +01:00
joseLuís
09bdf6ebd4 rust: add visual module 2020-11-03 19:59:13 +01:00
joseLuís
cb16c52eef rust: review functions; update headers 2020-11-03 19:59:10 +01:00
joseLuís
40621b7b95 rust: finish converting missing rgb calls 2020-11-03 19:56:54 +01:00
joseLuís
42250179f3 rust: add Blitter and Scale types 2020-11-03 19:56:28 +01:00
nick black
8189d21709
v2.0.2 2020-10-25 10:10:50 -04:00
nick black
a4546c86e3
v2.0.1 2020-10-19 03:15:32 -04:00
nick black
65974aeb0b
v2.0.0 2020-10-12 12:33:21 -04:00
nick black
8c9611d085
v1.7.6 2020-10-09 20:07:01 -04:00
nick black
c6c157a5ad
notcurses_stats_alloc() everywhere 2020-10-07 04:24:10 -04:00
nick black
20a49d053d
v1.7.5 2020-09-29 13:12:17 -04:00
joseLuís
bcc5481899 rust: update example
- use ncdirect_flush function for flushing
2020-09-22 13:34:10 +02:00
joseLuís
5be9edd6f4 rust: convert all rgb calls & new plane functions #1024
- add (TBD) ncplane_putchar, ncplane_putchar_yx
- delete ncplane_bound, ncplane_new, ncplane_pusimple & ncplane_putsimple_yx
- rename `.*_[bf]g.*_rgb` → .`*_[bf]g.*_rgb8`
- rename `.*_[bf]g` → .`*_[bf]g.*_rgb`
2020-09-22 13:33:13 +02:00
joseLuís
a09ed747ca rust: update example direct-cursor 2020-09-21 20:03:18 +02:00
nick black
f02263e977
v1.7.4 2020-09-20 17:30:46 -04:00
nick black
21b8a50da0
rust: s/NCCHANNEL_ALPHA_MASK/CHANNEL_ALPHA_MASK/g 2020-09-20 16:16:40 -04:00
nick black
97dc50db1a kill stray entry in NEWS 2020-09-20 05:52:27 -04:00
nick black
4459efa216
v1.7.3 2020-09-19 21:21:52 -04:00
nick black
e42dbdfd60 _stainable() -> _stained() #985 2020-09-18 02:02:08 -04:00
nick black
bc097a5674
v1.7.2 2020-09-10 04:14:01 -04:00
nick black
70f062aff5
v1.7.1 2020-08-31 21:49:39 -04:00
nick black
64fe8f6c07
v1.7.0 2020-08-30 19:12:16 -04:00
nick black
4c7a1d0427 ncdirect_init: add flags parameter #976 2020-08-30 13:38:33 -04:00
nick black
c93243fd54
v1.6.20 2020-08-30 01:25:44 -04:00
nick black
e92b7fd6ea
v1.6.19 2020-08-27 12:43:28 -04:00
nick black
6526e58c00
v1.6.18.4 2020-08-27 12:30:29 -04:00
nick black
6ea73e6e45
v1.6.18.3 2020-08-27 08:18:38 -04:00
nick black
550c02d8ac
v1.6.18.2 2020-08-27 07:26:28 -04:00
nick black
d11d8175d0
v1.6.18.1 2020-08-27 03:10:48 -04:00
nick black
6d7f9eb501
v1.6.18 2020-08-25 18:24:19 -04:00
nick black
026b94969d cffi heap allocations are zero-initialized #942 2020-08-23 22:27:50 -04:00
joseLuís
1e6558fed9 new type aliases FullMode & Input 2020-08-23 18:29:17 +02:00
joseLuís
246cde91f9 +notcurses_align & modify ncplane_align #937 2020-08-23 18:27:14 +02:00
nick black
4ebf8f748c
v1.6.16 2020-08-22 23:12:04 -04:00
joseLuís
eab553d3d1 rust: update libc 2020-08-21 10:31:31 +02:00
joseLuís
2c1c150969 rust: add more type aliases, format
add new type aliases for: cell, ncplane, palette256, ncalign_e &
ncdirect + alignment constants.
2020-08-21 10:26:49 +02:00
joseLuís
ed748a5162 rust: new example: direct cursor
issue: only updates the screen after a newline
2020-08-20 18:02:03 +02:00
joseLuís
8c2d7bc5ac rust: EGC type safe wrapping for real this time 2020-08-20 17:25:24 +02:00
joseLuís
73961c04ce rust: rename ffi:: namespace to nc::
+rustfmt
2020-08-20 16:50:28 +02:00
joseLuís
9dc847c8b5 rust: add simple wrapper over ncdirect_init 2020-08-20 16:40:15 +02:00
joseLuís
d17460b875 rust: del uneeded alias 2020-08-20 16:01:25 +02:00
joseLuís
e975211a29 rust: even safer casting to char 2020-08-20 16:00:22 +02:00
joseLuís
356b44b015 rust: finish up EGC type safe wrapping. 2020-08-20 15:53:57 +02:00
joseLuís
3e4a074f8f rust: del ncplane_highgradient_sized due to #922 2020-08-19 19:17:10 +02:00
joseLuís
cac8202e03 rust: egc char related fixes 2020-08-19 18:36:49 +02:00
joseLuís
f25ba1b83c rust: +11 plane functions, ±finishing ncplane.
- Functions ncplane_putw* considered unnecessary from Rust.
- Functions & macros ncplane_printf* pending evaluation.
2020-08-19 18:09:58 +02:00
joseLuís
9b827f22b6 rust: +6 plane functions 2020-08-19 03:21:29 +02:00
joseLuís
915d59fb3e rust: +2 cell functions, finishing cells
- cell_prime and cells_load_box are unsafe fn, until a safer abstraction
  is built around gcluster, to avoid raw pointers dereferencing.
2020-08-19 03:18:47 +02:00
joseLuís
11287b6081 rust: rename types, add cell init macros
- +3 macros: cell_initializer, cell_simple_initializer and
  cell_trivial_initializer
- rename GraphemeCluster to EGC and GraphemeClusterBackStop to
EGCBackstop
- improve EGC doc comments
2020-08-18 20:46:12 +02:00
joseLuís
9c08411e27 rust: rustfmt 2020-08-18 18:28:17 +02:00
joseLuís
e324cd404c rust: finish notcurses functions
+4 notcurses functions
2020-08-18 16:27:53 +02:00
joseLuís
154d3ef312 rust: +14 cell functions
WIP: cell_prime & cells_load_box
2020-08-18 15:33:26 +02:00
joseLuís
5eb9dc37d4 rust: finish channel functions
remove channels_blend()
2020-08-18 15:31:33 +02:00
nick black
05da44b06b
hide blending functions #917 2020-08-18 08:41:55 -04:00
joseLuís
a4d5817940 rust: cargo clippy alias 2020-08-18 13:09:39 +02:00
joseLuís
18f90e394c rust: +22 cell functions 2020-08-18 00:01:47 +02:00
joseLuís
6cfd3d6ad7 rust: fix clippy compat with bindgen
and fix a couple of lints in plane.rs
2020-08-17 18:21:37 +02:00
joseLuís
b1b8400165 rust: +8 plane functions; refactor 2020-08-17 17:54:43 +02:00
joseLuís
a5fecf021e rust: update cells code 2020-08-17 17:54:17 +02:00
joseLuís
4382487652 rust: update example 2020-08-17 17:54:07 +02:00
joseLuís
8eefeb2a73 rust: fix builder rerun condition 2020-08-16 21:58:29 +02:00
nick black
49ae79341d
v1.6.15 2020-08-16 11:04:43 -04:00
joseLuís
ccac3d033e rust: update types 2020-08-16 16:22:58 +02:00
joseLuís
59546eaf40 rust: update dependency cstr_core; fixes #898 2020-08-16 16:20:48 +02:00
nick black
dc99d56ac1
v1.6.14 2020-08-16 10:06:33 -04:00
nick black
e897de3700
v1.6.13 2020-08-16 08:54:22 -04:00
nick black
202b88615f
kill ncplane_styles(), duplicates ncplane_attrs() 2020-08-16 07:26:16 -04:00
nick black
8b072c0b5f rust: attrword -> stylemask, u32 -> u16 2020-08-16 01:44:36 -04:00
joseLuís
62e9c28a0a rust: update types info 2020-08-14 11:09:38 +02:00
joseLuís
8c2ed36c3a rust: update types info 2020-08-14 10:40:37 +02:00
joseLuís
9ff74c393a rust: improve types info 2020-08-13 22:15:36 +02:00
joseLuís
d9596883d3 rust: make examples no_std compatible too 2020-08-13 22:14:00 +02:00
joseLuís
5ba618d6a8 rust: several fixes
- rename Alpha to AlphaBits
- fix pixel alpha mask
- fix syntax errors
2020-08-13 17:28:59 +02:00
joseLuís
55ad6153d2 rust: add a lot of info about types 2020-08-13 17:23:13 +02:00
joseLuís
d3d8051f36 rust: fix channel tests 2020-08-13 09:13:50 +02:00
joseLuís
d0f691af5f rust: +8 plane functions; fix headers; minor fixes 2020-08-13 00:47:00 +02:00
joseLuís
4720f23b12 rust: improve some channel functions & comments
Functions `channel_set_alpha()`, `channels_set_fg_alpha()` &
`channels_set_bg_alpha()` don't return an error anymore. Instead
of failing when the alpha value has others bits set, it gets
cleaned of other possible bits with bitmasking.

And in case of trying to use high contrast for the background
alpha gets reset to a default opaque.
2020-08-13 00:19:16 +02:00
joseLuís
e1cfe9394f +2 plane functions; fix comments 2020-08-12 18:13:03 +02:00
joseLuís
4ac4f1b09e rust: clean root, move build files inside folder 2020-08-12 18:10:18 +02:00
joseLuís
e22232774d rust: add direct-image example 2020-08-12 17:53:50 +02:00
nick black
adcabfae52
rust: assimilate #883 2020-08-12 10:46:59 -04:00
nick black
9704f5cbe7
v1.6.12 2020-08-12 09:37:59 -04:00
nick black
1ada631e94 purge rust/notcurses 2020-08-12 08:42:22 -04:00
joseLuís
efdb4ba4f1 pass rustfmt & fix typos 2020-08-11 18:31:18 +02:00
joseLuís
03f2e7c871 rust: implement palette functions 2020-08-11 18:29:49 +02:00
joseLuís
dbec390fac rust: improve some channel functions
Functions `channel_set()`, `channels_set_fg()`, `channels_set_bg()`
don't return an error anymore. Instead of failing when the rgb value
has any of the last 8 bits set, now it just ignores those bits.
2020-08-11 16:41:18 +02:00
joseLuís
6424e453aa rust: add test modules skeletons 2020-08-11 14:31:57 +02:00
joseLuís
ec92d13306 rust: improve info headers 2020-08-11 14:25:40 +02:00
joseLuís
da34965fcd rust: implement pixel functions 2020-08-11 12:27:40 +02:00
joseLuís
7790913d2f fix typos & improve comments 2020-08-11 11:38:30 +02:00
joseLuís
8b01f26730 rust: improve info headers for maximum consistency
and implement 1 palette fuction
2020-08-11 11:31:29 +02:00
joseLuís
70adc5645b rust: reimplement keys fns & consts 2020-08-11 10:50:51 +02:00
joseLuís
a29fa0395d add handy cargo aliases 2020-08-10 23:56:57 +02:00
joseLuís
ba660aa69b make rust bindings no_std compatible, fixes #872 2020-08-10 23:56:09 +02:00
joseLuís
0362a11f63 make it compatible with no_std environment 2020-08-10 23:48:56 +02:00
joseLuís
799407f98c prepare modules for pending work 2020-08-10 23:44:40 +02:00
joseLuís
2f1b4074eb fix & refactor Rust bindings
- move types functions out of lib.rs into their own modules
- add modules types, and for cell & plane functions
- change error handling for consistency with the underlying lib
- reformat the code
2020-08-09 16:48:26 +02:00
José Luis Cruz
92350b4694
turn off doctests
Fixes bindgen errors due to invalid Rust comments imported from functions `ncmultiselector_options` and `ncselector_item`.

Related:
- https://github.com/rust-lang/rust-bindgen/issues/426
- https://github.com/rust-lang/rust-bindgen/issues/1749
2020-08-09 16:24:58 +02:00
joseLuís
e9bf400a7e tidy up & update crate deps, categories & keywords 2020-08-09 13:36:43 +02:00
joseLuís
84c637d3e8 copy all comments as doc Rust comments
In principle it would be better to write the comments intented
for documentation as `///` (or `/** */` for multi-line), but
this way it works mostly, without having to change them all.

There are two comments that are not valid Rust doc-comments,
and arerendered badly: The are the ones in:
`ncmultiselector_options` and `ncselector_item`.
2020-08-08 18:32:45 +02:00
joseLuís
de643589b1 export all new channel functions 2020-08-08 18:04:00 +02:00
José Luis Cruz
8368380b66
Merge pull request #867
Remove warnings about improper_ctypes
2020-08-08 17:54:51 +02:00
joseLuís
590fbf4f1f move channels.rs to libnotcurses-sys crate 2020-08-08 17:49:12 +02:00
joseLuís
2842ffb751 add remaining channel functions 2020-08-08 10:53:32 -04:00
joseLuís
2e640d4146 rewriting the channels inline functions in Rust 2020-08-08 10:53:32 -04:00
José Luis Cruz
9366028919
Remove warnings about improper_ctypes
Fixes: #856
2020-08-08 15:32:02 +02:00
joseLuís
1caba6ac29 refactor test module
- new function for creating the notcurses options for tests
- hide the initial statistics for cleaner test output
- reformat file with rustfmt
2020-08-07 15:39:01 -04:00
nick black
df25fc99b9 rust: generate direct mode bindings
When we split direct.h out from notcurses.h, I forgot to add
the new header file to the bindgen-rs includes. I've added
it, and also added a simple directmode unit test.

Closes #853. Thanks @joseluis for reporting this issue!
2020-08-06 08:15:53 -04:00
nick black
fa76f5a432
v1.6.11 2020-08-03 02:47:07 -04:00
nick black
8cfd1677c4
v1.6.10 2020-08-01 17:53:19 -04:00
nick black
d126c71dd6
v1.6.9 2020-07-26 23:27:11 -04:00
nick black
f8c16ceb79
v1.6.8 2020-07-26 22:20:52 -04:00
nick black
4f8673b0e9
v1.6.7 2020-07-26 21:25:52 -04:00
nick black
f6d1aa74fc
serial_test seems sufficient? 2020-07-21 23:35:24 -04:00
nick black
a1c68b78cb
serial_test seems sufficient? 2020-07-21 23:35:03 -04:00
nick black
17f1323c20
v1.6.6 2020-07-19 21:55:10 -04:00
nick black
308b49da5a
v1.6.5 2020-07-19 21:16:53 -04:00
nick black
b2e924319b
v1.6.4 2020-07-19 20:09:14 -04:00
nick black
a4ee5bd9c7
v1.6.3 2020-07-16 12:53:42 -04:00
nick black
3f544a4ed1
v1.6.2 2020-07-15 23:34:25 -04:00
Nick Black
9ca7d14c2b rust: drop libc_stdout from libnotcurses-sys tests #788 2020-07-13 02:41:19 -04:00
Nick Black
e3e7b40440 rust: use pkg-config results for -I values #788 2020-07-13 02:35:50 -04:00
nick black
1cc0371373
v1.6.1 2020-07-12 03:20:50 -04:00
nick black
284dfc4fad
v1.6.0 2020-07-04 22:40:32 -04:00
nick black
6ab11e679f
v1.5.3 2020-06-28 16:18:57 -04:00
nick black
64d42212a3
v1.5.2 2020-06-19 15:25:41 -04:00
nick black
bea281d120
rust: update for new notcurses_options 2020-06-14 18:16:44 -04:00
nick black
0657267274
v1.5.1 2020-06-14 17:17:49 -04:00
nick black
4d9171aee1
rust: get libnotcurses-sys compiling #704 2020-06-11 23:32:31 -04:00
nick black
7fc38d8fdd
v1.5.0 2020-06-08 06:05:17 -04:00
nick black
3bc9a4cfa2
v1.4.5 2020-06-05 06:09:17 -04:00
nick black
6bbf15cbd4
bump rust versions 2020-06-03 10:12:28 -04:00
nick black
354ece5826
v1.4.4.1 2020-06-01 16:18:56 -04:00
nick black
230f3af8e1
v1.4.4 2020-06-01 15:32:23 -04:00
nick black
c08c9b7f7f
v1.4.3 2020-05-22 09:18:39 -04:00
nick black
5537692bd1
cells_rounded_box() is now exported 2020-05-17 10:36:20 -04:00
nick black
99990e9a92
sigh, rust 2020-05-17 09:23:56 -04:00