[][src]Crate cursive_core

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

align

Tools to control view alignment.

backend

Define backends using common libraries.

direction

Direction-related structures.

event

User-input events and their effects.

logger

Logging utilities

menu

Build menu trees.

theme

Handle colors and themes in the UI.

traits

Commonly used traits bundled for easy import.

utils

Toolbox to make text layout easier.

vec

Points on the 2D character grid.

view

Base elements required to build views.

views

Various views to use when creating the layout.

Macros

immut1

Macro to wrap a FnMut with 1 argument into a Fn.

immut2

Macro to wrap a FnMut with 2 arguments into a Fn.

immut3

Macro to wrap a FnMut with 3 arguments into a Fn.

impl_enabled

A macro to help with creating toggleable views.

impl_scroller

Implements the Scroller trait for any type.

inner_getters

Convenient macro to implement the getters for inner View in ViewWrapper.

once1

Macro to wrap a FnOnce with 1 argument into a FnMut.

wrap_impl

Convenient macro to implement the ViewWrapper trait.

Structs

Cursive

Central part of the cursive library.

Dump

Represents a dump of everything from a Cursive instance.

Printer

Convenient interface to draw on a subset of the screen.

Rect

A non-empty rectangle on the 2D grid.

XY

A generic structure with a value for each axis.

Traits

View

Main trait defining a view behaviour.

With

Generic trait to enable chainable API

Type Definitions

CbSink

Convenient alias to the result of Cursive::cb_sink.

ScreenId

Identifies a screen in the cursive root.