cranpose_foundation/
lib.rs

1//! Foundation elements for Cranpose: modifiers, input, and core functionality
2
3#![allow(non_snake_case)]
4
5pub mod gesture_constants;
6pub mod lazy;
7pub mod measurement_proxy;
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
18// Re-export commonly used items
19pub use measurement_proxy::*;
20pub use modifier::*;
21#[allow(unused_imports)] // Module exists for API compatibility
22pub use modifier_helpers::*;
23pub use nodes::input::{
24    PointerButton, PointerButtons, PointerEvent, PointerEventKind, PointerId, PointerPhase,
25};
26
27pub mod prelude {
28    pub use crate::measurement_proxy::*;
29    pub use crate::modifier::{
30        BasicModifierNodeContext, Constraints, DrawModifierNode, InvalidationKind,
31        LayoutModifierNode, Measurable, ModifierElement, ModifierNode, ModifierNodeChain,
32        ModifierNodeContext, ModifierNodeElement, PointerInputNode, SemanticsNode, Size,
33    };
34
35    #[allow(unused_imports)] // Helper module exists for API compatibility
36    pub use crate::modifier_helpers::*;
37
38    pub use crate::nodes::input::prelude::*;
39    // Re-export the helper macros for convenience
40    pub use crate::{
41        impl_draw_node, impl_focus_node, impl_modifier_node, impl_pointer_input_node,
42        impl_semantics_node,
43    };
44}