Skip to main content

freya_core/
lib.rs

1pub mod accessibility;
2pub mod animation_clock;
3pub mod current_context;
4pub mod cursor;
5pub mod data;
6pub mod debug;
7pub mod diff_key;
8pub mod element;
9pub mod elements;
10pub mod event_handler;
11pub mod events;
12pub mod events_combos;
13pub mod extended_hashmap;
14pub mod fifo_cache;
15pub mod helpers;
16pub mod hooks;
17pub mod layers;
18pub mod lifecycle;
19pub mod lru_cache;
20pub mod node_id;
21pub mod notify;
22pub mod path_element;
23pub mod platform;
24pub mod reactive_context;
25pub mod render_pipeline;
26pub mod rendering_ticker;
27pub mod runner;
28pub mod scope;
29pub mod scope_id;
30pub mod style;
31pub mod text_cache;
32pub mod tree;
33pub mod tree_layout_adapter;
34pub mod user_event;
35
36#[cfg(feature = "hotreload")]
37pub mod hotreload {
38    pub use dioxus_devtools::*;
39}
40
41/// Used by all end users.
42pub mod prelude {
43    pub use bytes::Bytes;
44    pub use cursor_icon::CursorIcon;
45    pub use keyboard_types::{
46        Code,
47        Key,
48        Modifiers,
49        NamedKey,
50    };
51
52    pub use crate::{
53        accessibility::{
54            focus::*,
55            focus_strategy::*,
56            focusable::*,
57            id::{
58                AccessibilityId,
59                AccessibilityRole,
60            },
61            screen_reader::*,
62        },
63        animation_clock::AnimationClock,
64        cursor::*,
65        data::*,
66        debug::*,
67        diff_key::DiffKey,
68        element::{
69            App,
70            Component,
71            ComponentKey,
72            ComponentOwned,
73            Element,
74            IntoElement,
75            RenderContext,
76        },
77        elements::{
78            extensions::*,
79            image::{
80                AspectRatio,
81                ImageCover,
82                SamplingMode,
83                image,
84            },
85            label::{
86                Label,
87                TextWidth,
88                label,
89            },
90            paragraph::{
91                Paragraph,
92                ParagraphHolder,
93                Span,
94                paragraph,
95            },
96            rect::{
97                Rect,
98                rect,
99            },
100        },
101        event_handler::{
102            Callback,
103            EventHandler,
104            NoArgCallback,
105        },
106        events::{
107            data::*,
108            modifiers::*,
109            *,
110        },
111        events_combos::*,
112        hooks::{
113            previous_and_current::*,
114            use_id::*,
115        },
116        layers::Layer,
117        lifecycle::{
118            base::*,
119            context::*,
120            effect::*,
121            future_task::*,
122            memo::*,
123            reactive::*,
124            readable::*,
125            state::*,
126            task::*,
127            writable::*,
128            writable_utils::*,
129        },
130        platform::*,
131        reactive_context::ReactiveContext,
132        rendering_ticker::RenderingTicker,
133        scope_id::ScopeId,
134        style::{
135            border::*,
136            color::*,
137            corner_radius::*,
138            cursor::*,
139            fill::*,
140            font_size::*,
141            font_slant::*,
142            font_weight::*,
143            font_width::*,
144            gradient::*,
145            scale::*,
146            shader::*,
147            shadow::*,
148            text_align::*,
149            text_decoration::*,
150            text_height::*,
151            text_overflow::*,
152            text_shadow::*,
153            transform_origin::*,
154            vertical_align::*,
155        },
156        user_event::UserEvent,
157    };
158}
159
160/// Used by renderers such as freya-testing, freya-winit or just integration crates.
161pub mod integration {
162    pub use rustc_hash::*;
163
164    pub use crate::{
165        accessibility::{
166            dirty_nodes::*,
167            focus_strategy::*,
168            id::*,
169            screen_reader::*,
170            tree::*,
171        },
172        animation_clock::AnimationClock,
173        data::*,
174        element::*,
175        elements::extensions::*,
176        events::{
177            data::*,
178            executor::*,
179            measurer::*,
180            modifiers::*,
181            name::*,
182            platform::*,
183        },
184        lifecycle::{
185            state::State,
186            writable_utils::WritableUtils,
187        },
188        node_id::NodeId,
189        platform::*,
190        render_pipeline::RenderPipeline,
191        rendering_ticker::*,
192        runner::Runner,
193        scope_id::ScopeId,
194        style::default_fonts::default_fonts,
195        tree::{
196            DiffModifies,
197            Tree,
198        },
199        user_event::*,
200    };
201}