makepad_derive_live/
lib.rs1#![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#[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