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    PointerSource,
24};
25
26pub mod prelude {
27    pub use crate::modifier::{
28        BasicModifierNodeContext, Constraints, DrawModifierNode, InvalidationKind,
29        LayoutModifierNode, Measurable, ModifierNode, ModifierNodeChain, ModifierNodeContext,
30        ModifierNodeElement, PointerInputNode, SemanticsNode, Size,
31    };
32
33    #[allow(unused_imports)]
34    pub use crate::modifier_helpers::*;
35
36    pub use crate::nodes::input::prelude::*;
37    // Re-export the helper macros for convenience
38    pub use crate::{
39        impl_draw_node, impl_focus_node, impl_modifier_node, impl_pointer_input_node,
40        impl_semantics_node,
41    };
42}