[][src]Trait prototty::View

pub trait View<T> {
    fn view<G, R>(&mut self, data: T, context: ViewContext<R>, grid: &mut G)
    where
        G: ViewGrid,
        R: ViewTransformRgb24
; fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size
    where
        R: ViewTransformRgb24
, { ... }
fn view_reporting_intended_size<G, R>(
        &mut self,
        data: T,
        context: ViewContext<R>,
        grid: &mut G
    ) -> Size
    where
        G: ViewGrid,
        R: ViewTransformRgb24
, { ... } }

Required methods

fn view<G, R>(&mut self, data: T, context: ViewContext<R>, grid: &mut G) where
    G: ViewGrid,
    R: ViewTransformRgb24

Update the cells in grid to describe how a type should be rendered. This mutably borrows self to allow the view to contain buffers/caches which are updated during rendering.

Loading content...

Provided methods

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24

Return the size of the visible component of the element without rendering it. By default this is the current context size.

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24

Render an element and return the size that the element, regardless of the size of the visible component of the element. This allows decorators to know the size of the output of a view they are decorating. By default this calls view keeping track of the maximum x and y components of the relative coords of cells which are set in grid.

Loading content...

Implementations on Foreign Types

impl<'a, T, V> View<T> for &'a mut V where
    V: View<T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

Loading content...

Implementors

impl<'a, L, T, E> View<(&'a MenuInstance<T>, &'a L)> for MenuInstanceView<E> where
    E: MenuEntryLookupView<T, L>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, S> View<S> for StringViewSingleLine where
    S: AsRef<str>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, S, W> View<S> for StringView<W> where
    S: AsRef<str>,
    W: Wrap
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T> View<T> for RichStringViewSingleLine where
    T: 'a + Into<RichTextPart<'a>> + Copy
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, E> View<&'a MenuInstance<T>> for MenuInstanceView<E> where
    E: MenuEntryView<T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, I> View<I> for RichTextViewSingleLine where
    I: IntoIterator<Item = &'a T>,
    T: 'a + Into<RichTextPart<'a>> + Copy
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, I, W> View<I> for RichTextView<W> where
    I: IntoIterator<Item = &'a T>,
    T: 'a + Into<RichTextPart<'a>> + Copy,
    W: Wrap
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a AlignData<T>> for AlignView<V> where
    V: View<&'a T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a BorderWithOwnedStyleData<T>> for BorderView<V> where
    V: View<&'a T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a BoundData<T>> for BoundView<V> where
    V: View<&'a T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a FillBackgroundData<T>> for FillBackgroundView<V> where
    V: View<&'a T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a VerticalScrollData<T>> for VerticalScrollView<V> where
    V: View<&'a T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<&'a VerticalScrollWithScrollbarData<T>> for VerticalScrollView<V> where
    V: View<&'a T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<BorderData<'a, T>> for BorderView<V> where
    T: Clone,
    V: View<T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<VerticalScrollData<T>> for VerticalScrollView<V> where
    T: Clone,
    V: View<T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V> View<VerticalScrollWithScrollbarData<T>> for VerticalScrollView<V> where
    T: Clone,
    V: View<T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, V, S> View<&'a TransformRgb24Data<S, T>> for TransformRgb24View<V> where
    S: ViewTransformRgb24,
    V: View<&'a T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<'a, T, W> View<T> for RichStringView<W> where
    T: 'a + Into<RichTextPart<'a>> + Copy,
    W: Wrap
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<S, I, W> View<I> for TextView<W> where
    I: IntoIterator<Item = S>,
    S: AsRef<str>,
    W: Wrap
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<T, V> View<AlignData<T>> for AlignView<V> where
    T: Clone,
    V: View<T>, 
[src]

fn visible_bounds<R>(&mut self, data: T, context: ViewContext<R>) -> Size where
    R: ViewTransformRgb24
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<T, V> View<BoundData<T>> for BoundView<V> where
    V: View<T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<T, V> View<FillBackgroundData<T>> for FillBackgroundView<V> where
    V: View<T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

impl<T, V, S> View<TransformRgb24Data<S, T>> for TransformRgb24View<V> where
    S: ViewTransformRgb24,
    V: View<T>, 
[src]

fn view_reporting_intended_size<G, R>(
    &mut self,
    data: T,
    context: ViewContext<R>,
    grid: &mut G
) -> Size where
    G: ViewGrid,
    R: ViewTransformRgb24
[src]

Loading content...