[][src]Function cursive::view::scroll::on_event

pub fn on_event<T, OnEvent, ImportantArea>(
    scroller: &mut T,
    event: Event,
    on_event: OnEvent,
    important_area: ImportantArea
) -> EventResult where
    T: Scroller,
    OnEvent: FnMut(&mut T, Event) -> EventResult,
    ImportantArea: FnMut(&T, XY<usize>) -> Rect

Performs View::on_event on a scroll::Scroller.

Example:

use cursive_core::event::{Event, EventResult};
use cursive_core::view::{scroll, View};
use cursive_core::{Printer, Rect, Vec2};

struct MyView {
    core: scroll::Core,
}

cursive_core::impl_scroller!(MyView::core);

impl MyView {
    fn inner_on_event(&mut self, event: Event) -> EventResult {
        EventResult::Ignored
    }

    fn inner_important_area(&self, size: Vec2) -> Rect {
        Rect::from_size((0, 0), size)
    }
}

impl View for MyView {
    fn on_event(&mut self, event: Event) -> EventResult {
        scroll::on_event(
            self,
            event,
            Self::inner_on_event,
            Self::inner_important_area,
        )
    }
}