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
32
33
34
35
36
37
38
39
40
41
42
43
#[macro_use]
extern crate lazy_static;


use pax::*;

pub mod types;
pub mod stacker;

pub mod components {
    pub use super::stacker::*;
}


pub mod primitives {
    use pax::pax_primitive;

    #[cfg(feature = "parser")]
    use pax_compiler_api;
    #[cfg(feature = "parser")]
    use pax_compiler_api::ManifestContext;
    #[cfg(feature = "parser")]
    use pax_compiler_api::PathQualifiable;

    #[pax_primitive("./pax-std-primitives",  crate::FrameInstance)]
    pub struct Frame {}

    #[pax_primitive("./pax-std-primitives",  crate::GroupInstance)]
    pub struct Group {}

    #[pax_primitive("./pax-std-primitives",  crate::RectangleInstance)]
    pub struct Rectangle {
        pub stroke: pax::Property<crate::types::Stroke>,
        pub fill: pax::Property<crate::types::Color>,
    }

    #[pax_primitive("./pax-std-primitives",  crate::TextInstance)]
    pub struct Text {
        pub content: pax::Property<String>,
        pub font: pax::Property<crate::types::Font>,
        pub fill: pax::Property<crate::types::Color>,
    }
}