Commit Graph

314 Commits

Author SHA1 Message Date
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
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
joseLuís
1687af89e0 rust: refactor error system.
We need to use Result<> to manage error flow,
at least on the methods API. This way it will
finally feel idiomatic Rust and more concise.
Also, we can't return a non Result from main.

- rename NcResult to NcIntResult.
- new NcError & NcResult types.
- new error![] macro to reduce boilerplate.
- change return type of NcDirect methods to NcResult.
  - refactor several examples to return NcResult:
    direct-cursor, poc-direct & poc-kittyzapper.
- BONUS: fix test not stopping notcurses context.
- update lib doc-comment.
- fix typo in readme.
2020-12-25 05:16:34 +01:00
joseLuís
5d1dfe1d02 rust fix poc-direct; update readme deps badge 2020-12-25 00:53:03 +01:00
joseLuís
ab2675b358 rust: add poc-direct example
- fix NcDirect dim_[y|x] methods.
- add NcDirect.dim_yx() method.
2020-12-24 19:56:12 +01:00
joseLuís
a9413eafb2 rust: add poc-kittyzapper example
- fix ncdirect_[b|f]g_rgb8 functions.
- fix NcDirect.bg_rgb8 method.
- new printf![] macro.
2020-12-24 18:40:33 +01:00
joseLuís
3c8328c9cc rust: add all NcDirect methods.
- add missing ncdirect_* static inline functions.
- update Notcurses.getc().
- add NcTime constructor.
- add NcSigSet type + constructor.
- minor fixes.
2020-12-24 18:02:33 +01:00
joseLuís
7d53abc1b1 rust: finish Notcurses methods & fix tests 2020-12-24 03:24:39 +01:00
joseLuís
b62c1ec74b rust: refactor NcCell constructors 2020-12-24 03:04:46 +01:00
joseLuís
815507293d rust: fix tests 2020-12-23 22:12:04 +01:00
joseLuís
c07b68f783 rust: add example poc-cjkscroll 2020-12-23 21:50:23 +01:00
joseLuís
bf7f5de745 rust: fix putchar related methods.
- refactor NcCell constructors.
- add Notcurses.term_dim_yx method.
- reduce name imports.
- fix comments.
2020-12-23 21:49:36 +01:00
joseLuís
ca38d9109e rust: add NcCell Methods.
- improve some apis.
- made some functions const.
- add comments and intra-doc links.
- fix comments.
2020-12-23 20:07:25 +01:00
joseLuís
bda47b7403 rust: add methods for NcResizeCb & NcPalette.
- fix intra-doc links.
- refactor palette module.
2020-12-23 18:45:19 +01:00
joseLuís
1afa9cc1db rust: add more methods.
- add NcChannel & NcChannelPair methods.
- add more NcPlane methods.
- add comments and intra-links.
- refactor intra-links style in all modules.
2020-12-23 13:38:28 +01:00
joseLuís
3be38890c9 rust: refactor input module.
- unify NcInput & NcKey in the same module.
- fix lifetimes issue.
2020-12-23 00:40:28 +01:00
joseLuís
298f250ee8 rust: refactor unsafe functions.
- remove unneeded unsafe.
- simplify lifetimes.
- fix ncplane_gradient_sized.
- fix NcChannelPair
- fix comments.
- rustfmt.
2020-12-23 00:27:29 +01:00
joseLuís
af11b123fa rust: add NcProgBar widget 2020-12-23 00:12:30 +01:00
joseLuís
4c048ef625 rust: finish adding Notcurses methods. 2020-12-22 15:17:50 +01:00
joseLuís
fa693a89c1 rust: add most Notcurses methods.
- fix some comments.
2020-12-22 15:01:07 +01:00
joseLuís
fd1b81c0f8 rust: add NcPixel methods.
- finish updating the functions.
2020-12-21 21:15:10 +01:00
joseLuís
0db4e48a6b rust: endianess updates for NcPixel & NcCell
- Update NcPixel functions, and their descriptions.
- Update NcPixel constructor.
2020-12-21 20:34:50 +01:00
joseLuís
6752741982 rust: add dynamic linesig control
- add new functions notcurses_linesigs_disable & notcurses_linesigs_enable.
- fix comments.
2020-12-21 16:44:04 +01:00
joseLuís
240b58d52b rust: update msrv in readme 2020-12-20 19:00:08 +01:00
joseLuís
de56912cc4 rust: keep adding NcPlane methods & more
- new type NcResizeCb.
- new functions ncresizecb_safe & ncresizecb_unsafe.
- update NcPlaneOptions constructors.
- Improve & fix comments.
2020-12-20 18:56:46 +01:00
joseLuís
183d6473cd rust: continue adding NcPlane methods.
- add new module fade.
  - new type NcFadeCb.
  - move NcFadeCtx here.
- add TOC for NcPlane methods sections.
- fix & improve comments.
- remove deprecated ncplane functions.
2020-12-20 00:30:46 +01:00
joseLuís
84987b61a9 rust: refactor ncbox, ncalign; add NcPlane methods.
- wrap NCBOX* constants.
- new NcBoxMask type.
- new NCRESULT_MAX const.
- add NcPlane box & perimeter methods.
- move NcAlign to notcurses mod.
- update notcurses_align & test.
- improve comments.
- rustfmt.
2020-12-19 18:01:28 +01:00
joseLuís
493298f0f1 rust: new dimension types & NcPlane methods.
- add new NcDimension and NcOffset types.
- add more NcPlane methods.
- remove NcPlane methods:
  - ncplane_put_egc.
- add missing NCKEY_ESC and NCKEY_SPACE keycodes.
- add notcurses methods: getc_nblock.
- fix comments.
- rustfmt.
2020-12-19 03:44:55 +01:00
joseLuís
2957893da9 rust: update cell tests; minor doc fix 2020-12-17 22:03:05 +01:00
joseLuís
7f175cf37c rust: NcCell width-aware constructors #1203 #1205 2020-12-17 12:10:36 +01:00
nick black
2d07bbee59
Merge branch 'master' of github.com:dankamongmen/notcurses 2020-12-16 17:42:11 -05:00
nick black
d6d5757b1d
v2.1.1 2020-12-16 17:42:06 -05:00
joseLuís
4cca3ddd48 rust: working on input
- make char: all NCKEY_* constants.
- make const fn: nckey_mouse_p, ncinput_equal_p & NcInput::new.
- make rsleep!() return the notcurses_render() result.
- new Notcurses constructor with_flags().
- new example: full-input.rs.
- fix comments.
2020-12-16 23:15:29 +01:00
nick black
6edafd1f84
v2.1.0 2020-12-13 03:04:23 -05:00
Nick Black
6106dea18a
track+use width for polycolumn EGCs #1203 (#1205)
Some EGCs are more than 2 columns (wcwidth() never returns more than 2, so far as i can tell, but when multiple characters combine, we use the sum). An example would be ကြေ (Myanmar) which occupies three columns over the course of three characters. Track the width (biased by 1) in cell->width, taking over 8 bits from cell->reserved. Use this width in rasterization. Closes #1203.
2020-12-12 22:25:08 -05:00
nick black
8497ee1877
v2.0.12 2020-12-12 06:42:47 -05:00
joseLuís
b229f0247c rust: update some comments 2020-12-09 17:17:30 +01:00
nick black
eb485cda21
v2.0.11 2020-12-09 00:34:37 -05:00
nick black
10c8dec7c0
fix up notcurses_debug rust test #1189 2020-12-08 05:46:44 -05:00
nick black
361a253aea
v2.0.10 2020-12-06 13:22:26 -05:00
joseLuís
ac29cab8e4 rust: fix documentation building; #1125
- Preparing to host the documentation in the github pages, at least until
- libnotcurses-sys can get into Ubuntu 20.
- fix Cargo.toml, add documentation link.
- update documentation link in README.
- improve lib doc comment, among others.
2020-12-06 17:59:32 +01:00
joseLuís
98d86ec286 rust: remove cc build dep. & stdout.c file; #355 2020-12-06 11:58:46 +01:00
joseLuís
a0e1577b56 rust: fix comments 2020-12-06 11:40:07 +01:00
joseLuís
96eaa29484 rust: add lib doc comments with examples 2020-12-06 11:00:41 +01:00