summaryrefslogtreecommitdiffstats
path: root/lazy/src/pure.rs
blob: dc500e5ee29d2783d5dd45207f67a5554fef4b42 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mod component;
mod responsive;

pub use component::Component;
pub use responsive::Responsive;

use iced_native::Size;
use iced_pure::Element;

/// Turns an implementor of [`Component`] into an [`Element`] that can be
/// embedded in any application.
pub fn component<'a, C, Message, Renderer>(
    component: C,
) -> Element<'a, Message, Renderer>
where
    C: Component<Message, Renderer> + 'a,
    C::State: 'static,
    Message: 'a,
    Renderer: iced_native::Renderer + 'a,
{
    component::view(component)
}

pub fn responsive<'a, Message, Renderer>(
    f: impl Fn(Size) -> Element<'a, Message, Renderer> + 'a,
) -> Responsive<'a, Message, Renderer>
where
    Renderer: iced_native::Renderer,
{
    Responsive::new(f)
}