Crate cursive_core

source ·
Expand description

Cursive-core

This library defines the core components for the Cursive TUI.

The main purpose of cursive-core is to write third-party libraries to work with Cursive.

If you are building an end-user application, then cursive is probably what you want.

Re-exports

pub use self::vec::Vec2;

Modules

Tools to control view alignment.
Define the backend trait for actual terminal interaction.
Direction-related structures.
User-input events and their effects.
Logging utilities.
Build menu trees.
Re-export crates used in the public API
Handle colors and themes in the UI.
Commonly used traits bundled for easy import.
Toolbox to make text layout easier.
Points on the 2D character grid.
Base elements required to build views.
Various views to use when creating the layout.

Macros

Macro to wrap a FnMut with 1 argument into a Fn.
Macro to wrap a FnMut with 2 arguments into a Fn.
Macro to wrap a FnMut with 3 arguments into a Fn.
A macro to help with creating toggleable views.
Implements the Scroller trait for any type.
Convenient macro to implement the getters for inner View in ViewWrapper.
Macro to wrap a FnOnce with 1 argument into a FnMut.
Convenient macro to implement the ViewWrapper trait.

Structs

Central part of the cursive library.
Event loop runner for a cursive instance.
Represents a dump of everything from a Cursive instance.
Convenient interface to draw on a subset of the screen.
A non-empty rectangle on the 2D grid.
A generic structure with a value for each axis.

Traits

Main trait defining a view behaviour.
Generic trait to enable chainable API

Type Definitions

Convenient alias to the result of Cursive::cb_sink.
Identifies a screen in the cursive root.