Commit Graph

231 Commits (4a10801bb56138d83a4c05c8c63f4524023dee7a)

Author SHA1 Message Date
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
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 c57a7b33cf [rust] derive Debug for Nc & NcD 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
joseLuís 88c89f2d30 [rust] add ncvisual_inflate; update function-summary; fixes
- add ncvisual_inflate function
- update function-summary script & related data
- update cell inner comments.
- fix several doc inner links.
3 years ago
joseLuís eaee89c99f [rust] renamed FullMode & DirectMode to Nc & NcD
- improve pixel-cell example.
- rustfmt
3 years ago
nick black e1d97bfb62
[rust] cell_ -> nccell_ drudgery #1532 3 years ago
nick black b070b69eb2
get last remaining cell_ functions -> nccell_ #1532 3 years ago
joseLuís 452b7cd535 [rust] renamed cell_* functions to nccell_* 3 years ago
Nick Black e591ec2e98
cell -> nccell throughout much of remaining API (#1535)
cell -> nccell throughout much of the API #1532
3 years ago
joseLuís 5f96acc9e3 [rust] refacture NcVisual module
- separate the methods into its own module.
- add constants NCVISUAL_OPTION_ADDALPHA, NCVISUAL_OPTION_HORALIGNED, NCVISUAL_OPTION_VERALIGNED
- add NcRgba type.
- update the docs.
3 years ago
joseLuís 48ab7e0945 [rust] fix #1509
- fix bugs in macros: error, error_ref & error_ref_mut
- remove issue-1509 example
- minor improvements
- rustfmt
3 years ago
nick black bb0d6c2e80 [rust] update fullsize_pixel_without_plane() 3 years ago
nick black bac7d634d9 [visual] pipe transcolor through, use it everywhere #1518 3 years ago
nick black 33929cf91e
[rust] update to nccell 3 years ago
joseLuís bc80350384 [rust] several fixes
- fix after renaming cell functions.
- fix some NcVisual method names and docs
- fix some rustdoc warnings
3 years ago
nick black 849ec2748f
[rust] nccell updates 3 years ago
nick black ff76dba6ed
cell_strdup -> nccell_strdup 3 years ago
joseLuís 1afe6f162e rust: add new pixel geometry functionality
- add NcPlane method .pixelgeom.
- upgrade full-capabilities example.
- fix NcVisual method .blitter_geom docs.
- rustfmt
3 years ago
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()).
3 years ago
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
3 years ago
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.
3 years ago
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
3 years ago
joseLuís 4996bebad0 rust: add constant NCOPTION_NO_CLEAR_BITMAPS 3 years ago
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.
3 years ago
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.
3 years ago
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
3 years ago
joseLuís 1e274287f6 rust: add NcTree widget.
- created all methods except .goto().
- WIP callback types.
- minor updates.
- rustfmt.
3 years ago
joseLuís aa9bf7a0e7 rust: add ncplane_abs_yx, ncplane_abs_y, ncplane_abs_x
- minor updates
3 years ago
joseLuís 29ac41440c rust: add NcPlane methods resize_maximize & rgba; fix #1508 3 years ago
joseLuís 8cf52672cb rust: rustfmt 3 years ago
joseLuís 89e38c11f3 rust: add ncvisual methods & pixel-cell example 3 years ago
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
3 years ago
joseLuís 5492119263 rust: add *_check_pixel_support functions + example 3 years ago
joseLuís 43d1f7192b rust: refactor NcError constructor methods 3 years ago
nick black a8a42c2a50 [planes] implement ncplane_resize_marginalized() #1472 3 years ago
nick black 50df69ab31 [planes] implement MARGINALIZED in ncplane_create() #1472 3 years ago
nick black a9d9093e22 rust: fix up notcurses_align() unification #1468 3 years ago
nick black df85fb55ba [bitmaps] fix bitmap placement when making a new plane #1468 3 years ago
nick black 229c1ab3c2 ncplane_new_internal: use ncplane_valign() #1468 3 years ago
nick black fc79dcd77a update rust for halign/valign #1468 3 years ago
nick black 033ae7f93e [capabilities] eradicate notcurses_canpixel() 3 years ago
nick black 1a1305faee rust: adapt NcDirect::render_frame() #1411 3 years ago
nick black 70be457071
rust: hide blitset definition 3 years ago
nick black 74f7597d09 rust: drop unused import 3 years ago
nick black 53c52e30ff remove c++/rust channel wholesalers 3 years ago