makepad_derive_live/
lib.rs

1#![cfg_attr(lines, feature(proc_macro_span))]
2
3use proc_macro::{TokenStream};
4
5mod derive_live;
6use crate::derive_live::*;
7
8mod derive_live_atomic;
9use crate::derive_live_atomic::*;
10
11mod derive_live_hook;
12use crate::derive_live_hook::*;
13
14mod derive_live_read;
15use crate::derive_live_read::*;
16
17
18mod live_design_macro;
19use crate::live_design_macro::*;
20
21mod live_macro;
22use crate::live_macro::*;
23
24mod generate_cast;
25use crate::generate_cast::*;
26
27mod derive_live_registry;
28use crate::derive_live_registry::*;
29
30//#[path = "../../live_tokenizer/src/colorhex.rs"]
31//mod colorhex;
32
33#[proc_macro_derive(Live, attributes(
34    calc,
35    live,
36    rust,
37    pick,
38    animator,
39    walk,
40    layout,
41    deref,
42    designable,
43    live_ignore,
44    live_debug
45))]
46pub fn derive_live(input: TokenStream) -> TokenStream {
47    derive_live_impl(input)
48}
49
50#[proc_macro_derive(LiveHook)]
51pub fn derive_live_apply(input: TokenStream) -> TokenStream {
52    derive_live_hook_impl(input)
53}
54
55#[proc_macro_derive(LiveRegister)]
56pub fn derive_live_register(input: TokenStream) -> TokenStream {
57    derive_live_register_impl(input)
58}
59
60
61#[proc_macro_derive(LiveRead)]
62pub fn derive_live_read(input: TokenStream) -> TokenStream {
63    derive_live_read_impl(input)
64}
65
66#[proc_macro]
67pub fn live(input: TokenStream) -> TokenStream {
68    live_impl(input)
69}
70
71#[proc_macro]
72pub fn color(input: TokenStream) -> TokenStream {
73    color_impl(input)
74}
75
76#[proc_macro]
77pub fn live_array(input: TokenStream) -> TokenStream {
78    live_array_impl(input)
79}
80
81#[proc_macro]
82pub fn live_object(input: TokenStream) -> TokenStream {
83    live_object_impl(input)
84}
85
86#[proc_macro]
87pub fn generate_any_trait_api(input: TokenStream) -> TokenStream {
88    generate_any_trait_api_impl(input)
89}
90
91#[proc_macro]
92pub fn generate_any_send_trait_api(input: TokenStream) -> TokenStream {
93    generate_any_send_trait_api_impl(input)
94}
95
96#[proc_macro]
97pub fn live_design(input: TokenStream) -> TokenStream {
98    live_design_impl(input)
99}
100
101#[proc_macro_derive(LiveComponentRegistry)]
102pub fn derive_live_component_registry(input: TokenStream) -> TokenStream {
103    derive_live_component_registry_impl(input)
104}
105
106#[proc_macro_derive(LiveAtomic)]
107pub fn derive_live_atomic(input: TokenStream) -> TokenStream {
108    derive_live_atomic_impl(input)
109}
110
111#[proc_macro_derive(DefaultNone)] 
112pub fn derive_widget_action(input: TokenStream) -> TokenStream {
113    derive_default_none_impl(input)
114}
115