Struct cursive::views::Canvas [−][src]
pub struct Canvas<T> { /* fields omitted */ }
A blank view that forwards calls to closures.
You can use this view to easily draw your own interface.
Methods
impl<T: 'static + View> Canvas<T>
[src]
impl<T: 'static + View> Canvas<T>
pub fn wrap(view: T) -> Self
[src]
pub fn wrap(view: T) -> Self
Creates a new Canvas around the given view.
By default, forwards all calls to the inner view.
impl<T> Canvas<T>
[src]
impl<T> Canvas<T>
pub fn new(state: T) -> Self
[src]
pub fn new(state: T) -> Self
Creates a new, empty Canvas.
Examples
let canvas = Canvas::new(()) .with_draw(|printer, _| { // Print the view });
ⓘImportant traits for &'a mut Rpub fn state_mut(&mut self) -> &mut T
[src]
pub fn state_mut(&mut self) -> &mut T
Gets a mutable reference to the inner state.
pub fn set_draw<F>(&mut self, f: F) where
F: 'static + Fn(&T, &Printer),
[src]
pub fn set_draw<F>(&mut self, f: F) where
F: 'static + Fn(&T, &Printer),
Sets the closure for draw(&Printer)
.
pub fn with_draw<F>(self, f: F) -> Self where
F: 'static + Fn(&T, &Printer),
[src]
pub fn with_draw<F>(self, f: F) -> Self where
F: 'static + Fn(&T, &Printer),
Sets the closure for draw(&Printer)
.
Chainable variant.
pub fn set_on_event<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Event) -> EventResult,
[src]
pub fn set_on_event<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Event) -> EventResult,
Sets the closure for on_event(Event)
.
pub fn with_on_event<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Event) -> EventResult,
[src]
pub fn with_on_event<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Event) -> EventResult,
Sets the closure for on_event(Event)
.
Chainable variant.
pub fn set_required_size<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Vec2) -> Vec2,
[src]
pub fn set_required_size<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Vec2) -> Vec2,
Sets the closure for required_size(Vec2)
.
pub fn with_required_size<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Vec2) -> Vec2,
[src]
pub fn with_required_size<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Vec2) -> Vec2,
Sets the closure for required_size(Vec2)
.
Chainable variant.
pub fn set_layout<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Vec2),
[src]
pub fn set_layout<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Vec2),
Sets the closure for layout(Vec2)
.
pub fn with_layout<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Vec2),
[src]
pub fn with_layout<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Vec2),
Sets the closure for layout(Vec2)
.
Chainable variant.
pub fn set_take_focus<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Direction) -> bool,
[src]
pub fn set_take_focus<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, Direction) -> bool,
Sets the closure for take_focus(Direction)
.
pub fn with_take_focus<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Direction) -> bool,
[src]
pub fn with_take_focus<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, Direction) -> bool,
Sets the closure for take_focus(Direction)
.
Chainable variant.
pub fn set_needs_relayout<F>(&mut self, f: F) where
F: 'static + Fn(&T) -> bool,
[src]
pub fn set_needs_relayout<F>(&mut self, f: F) where
F: 'static + Fn(&T) -> bool,
Sets the closure for needs_relayout()
.
pub fn with_needs_relayout<F>(self, f: F) -> Self where
F: 'static + Fn(&T) -> bool,
[src]
pub fn with_needs_relayout<F>(self, f: F) -> Self where
F: 'static + Fn(&T) -> bool,
Sets the closure for needs_relayout()
.
Chainable variant.
pub fn set_call_on_any<F>(&mut self, f: F) where
F: 'static + for<'a> FnMut(&mut T, &Selector, AnyCb<'a>),
[src]
pub fn set_call_on_any<F>(&mut self, f: F) where
F: 'static + for<'a> FnMut(&mut T, &Selector, AnyCb<'a>),
Sets the closure for call_on_any()
.
pub fn with_call_on_any<F>(self, f: F) -> Self where
F: 'static + for<'a> FnMut(&mut T, &Selector, AnyCb<'a>),
[src]
pub fn with_call_on_any<F>(self, f: F) -> Self where
F: 'static + for<'a> FnMut(&mut T, &Selector, AnyCb<'a>),
Sets the closure for call_on_any()
.
Chainable variant.
pub fn set_important_area<F>(&mut self, f: F) where
F: 'static + Fn(&T, Vec2) -> Rect,
[src]
pub fn set_important_area<F>(&mut self, f: F) where
F: 'static + Fn(&T, Vec2) -> Rect,
Sets the closure for important_area()
.
pub fn with_important_area<F>(self, f: F) -> Self where
F: 'static + Fn(&T, Vec2) -> Rect,
[src]
pub fn with_important_area<F>(self, f: F) -> Self where
F: 'static + Fn(&T, Vec2) -> Rect,
Sets the closure for important_area()
.
Chainable variant.
pub fn set_focus_view<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, &Selector) -> Result<(), ()>,
[src]
pub fn set_focus_view<F>(&mut self, f: F) where
F: 'static + FnMut(&mut T, &Selector) -> Result<(), ()>,
Sets the closure for focus_view()
.
pub fn with_focus_view<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, &Selector) -> Result<(), ()>,
[src]
pub fn with_focus_view<F>(self, f: F) -> Self where
F: 'static + FnMut(&mut T, &Selector) -> Result<(), ()>,
Sets the closure for focus_view()
.
Chainable variant.
Trait Implementations
impl<T: 'static> View for Canvas<T>
[src]
impl<T: 'static> View for Canvas<T>
fn draw(&self, printer: &Printer)
[src]
fn draw(&self, printer: &Printer)
Draws the view with the given printer (includes bounds) and focus. Read more
fn on_event(&mut self, event: Event) -> EventResult
[src]
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, ...). Read more
fn required_size(&mut self, constraint: Vec2) -> Vec2
[src]
fn required_size(&mut self, constraint: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
fn layout(&mut self, size: Vec2)
[src]
fn layout(&mut self, size: Vec2)
Called once the size for this view has been decided. Read more
fn take_focus(&mut self, source: Direction) -> bool
[src]
fn take_focus(&mut self, source: Direction) -> bool
This view is offered focus. Will it take it? Read more
fn needs_relayout(&self) -> bool
[src]
fn needs_relayout(&self) -> bool
Returns true
if the view content changed since last layout phase. Read more
fn focus_view(&mut self, selector: &Selector) -> Result<(), ()>
[src]
fn focus_view(&mut self, selector: &Selector) -> Result<(), ()>
Moves the focus to the view identified by the given selector. Read more
fn important_area(&self, view_size: Vec2) -> Rect
[src]
fn important_area(&self, view_size: Vec2) -> Rect
What part of the view is important and should be visible? Read more
fn call_on_any<'a>(&mut self, selector: &Selector, cb: AnyCb<'a>)
[src]
fn call_on_any<'a>(&mut self, selector: &Selector, cb: AnyCb<'a>)
Runs a closure on the view identified by the given selector. Read more