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