ncursesw-win 0.4.0

An extension wrapper around the ncursesw TUI library (ncurses)
docs.rs failed to build ncursesw-win-0.4.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: ncursesw-win-0.6.3

ncursesw-win Build Status Crates.io

This is a wrapper crate around the ncursesw crate, it's purpose is too abstracts away the raw pointers that NCurses uses and function in a more safe way, however a knowledge of how NCurses works is advised to use the true power of this library.

Please see the README.md for ncursesw for more details.

Inclusion

[dependencies]
ncursesw-win = "0.4"

Or to use the latest git version

[dependencies]
ncursesw-win = { git = "https://github.com/narfit66/ncursesw-win-rs" }

Building

The compiled library will be built in the target directory.

cargo build

How to Use

extern crate ncurseswwin;

use ncurseswwin::*;

To use attributes and color pairs

use ncurseswwin::normal::*; // for 'ansi' color pairs and attributes...
use ncurseswwin::extend::*; // or for 'extended' color pairs and attributes.

To use menus

use ncurseswwin::menu::*;

Instead of calling initscr() and endwin() to initialise and teardown the NCurses library (these can still be called as the ncursesw crate is public) use the ncursesw_entry(). This initialises and tears down NCurses and provided the ability to catch panics in a controlled maner by passing them back to the client code as the error type NCurseswWinError::Panic { message }.

To create a window use Window::new() which will teardown correctly when going out of scope and provides all NCurses functionality associatiated with a NCurses window. Likewise a pad is created using Pad::new() and a panel using Panel::new().

All NCurses methods associated with a Window, Pad or RipoffWindow use either their original ncurses name or where specificlly passed the pointer _win_st the 'w' has been removed, for example the ncurses 'C' function wget_wch(*WINDOW) has become the method self.get_wch().

The NCurses ripoff and mouse features are encapsulated, please see example code for how to use these features.

Examples

Examples are built by cargo build --examples. To run them, use cargo run --example <EXAMPLE>.

Current examples are Safe Initialisation/Calling Of NCurses (ncursesw_entry-test), Ansi Border Drawing (border-test), Unicode Border Drawing (border_set-test), Unicode Box Drawing (box_drawing-test), Mouse Events (mouse-test), Ripoff Lines (ripoff-test), Non-Blocking Get (getch_nonblocking-test) and Menu (menu-test).

Documentation

Please use cargo doc --open for this crate for the time being!.

License

Licensed under the MIT license, see LICENSE