Skip to main content

cranpose_foundation/
lib.rs

1//! Foundation elements for Cranpose: modifiers, input, and core functionality
2
3#![deny(unsafe_code)]
4#![allow(non_snake_case)]
5
6pub mod gesture_constants;
7pub mod lazy;
8pub mod modifier;
9pub mod modifier_helpers;
10pub mod nodes;
11pub mod text;
12pub mod velocity_tracker;
13
14// Re-export gesture constants at crate root for convenience
15pub use gesture_constants::{DRAG_THRESHOLD, MAX_FLING_VELOCITY};
16pub use velocity_tracker::VelocityTracker1D;
17
18pub use modifier::*;
19#[allow(unused_imports)]
20pub use modifier_helpers::*;
21pub use nodes::input::{
22    PointerButton, PointerButtons, PointerEvent, PointerEventKind, PointerId, PointerPhase,
23};
24
25pub mod prelude {
26    pub use crate::modifier::{
27        BasicModifierNodeContext, Constraints, DrawModifierNode, InvalidationKind,
28        LayoutModifierNode, Measurable, ModifierNode, ModifierNodeChain, ModifierNodeContext,
29        ModifierNodeElement, PointerInputNode, SemanticsNode, Size,
30    };
31
32    #[allow(unused_imports)]
33    pub use crate::modifier_helpers::*;
34
35    pub use crate::nodes::input::prelude::*;
36    // Re-export the helper macros for convenience
37    pub use crate::{
38        impl_draw_node, impl_focus_node, impl_modifier_node, impl_pointer_input_node,
39        impl_semantics_node,
40    };
41}