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
#![cfg_attr(docsrs, feature(doc_cfg))]

//! A cross-platform framework for efficient user interfaces.
//!
//! Concoct is statically-typed UI library for building applications with Rust
//! that run on multiple platforms.

mod modify;

pub use modify::Modify;

pub mod view;
pub use view::View;

#[cfg(feature = "native")]
#[cfg_attr(docsrs, doc(cfg(feature = "native")))]
pub mod native;

#[cfg(feature = "web")]
#[cfg_attr(docsrs, doc(cfg(feature = "web")))]
pub mod web;

/// Backend rendering platform.
pub trait Platform {
    type Event;

    /// Advance the element count.
    /// This should be called when a view is skipped.
    fn advance(&mut self);
}