Skip to main content

incular_core/
lib.rs

1//! Renderer- and platform-independent primitives shared by Incular.
2
3mod arena;
4mod context;
5mod geometry;
6pub mod hot_reload;
7/// Platform-neutral input event values and the standardized keyboard
8/// vocabulary. `Key` remains the logical keyboard key inside this module;
9/// the crate root re-exports it as [`KeyboardKey`] to avoid colliding with the
10/// retained widget-key trait.
11pub mod input;
12mod key;
13pub mod reactivity;
14mod restoration;
15pub mod time;
16mod widget;
17
18pub use arena::{Arena, ArenaId};
19pub use context::{BuildContext, ConsumerId, ContextGuard, DependencySnapshot};
20pub use geometry::{
21    ChangeImpact, Color, DirtyFlags, HslColor, HsvColor, Invalidation, Lerp, Offset, Rect, Size,
22    Transform, finite_non_negative, finite_or_zero,
23};
24pub use input::{
25    BACK_POINTER_BUTTON, Code, DragStartBehavior, FORWARD_POINTER_BUTTON, ImeEvent, InputEvent,
26    Key as KeyboardKey, KeyState, KeyboardEvent, Location, Modifiers, NamedKey, NormalizedPressure,
27    PRIMARY_POINTER_BUTTON, PointerDeviceKind, PointerPhase, PointerSampleMetadata,
28    SECONDARY_POINTER_BUTTON, StylusMetadata, StylusOrientation, TERTIARY_POINTER_BUTTON,
29    TrackpadGesture, TrackpadGestureKind, TrackpadGesturePhase, WindowResizeDirection,
30    additional_pointer_button_mask,
31};
32pub use key::{Key, KeyHandle, KeyId, KeyObject, LocalKey, StringKey, UniqueKey, ValueKey};
33pub use restoration::{RestorationBackend, RestorationKey, RestorationKeyError, RestorationScope};
34pub use widget::{BuildableWidget, Widget};