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;
15mod widget;
16
17pub use arena::{Arena, ArenaId};
18pub use context::{BuildContext, ConsumerId, ContextGuard, DependencySnapshot};
19pub use geometry::{
20    ChangeImpact, Color, DirtyFlags, HslColor, HsvColor, Invalidation, Lerp, Offset, Rect, Size,
21    Transform, finite_non_negative, finite_or_zero,
22};
23pub use input::{
24    BACK_POINTER_BUTTON, Code, FORWARD_POINTER_BUTTON, ImeEvent, InputEvent, Key as KeyboardKey,
25    KeyState, KeyboardEvent, Location, Modifiers, NamedKey, NormalizedPressure,
26    PRIMARY_POINTER_BUTTON, PointerDeviceKind, PointerPhase, PointerSampleMetadata,
27    SECONDARY_POINTER_BUTTON, StylusMetadata, StylusOrientation, TERTIARY_POINTER_BUTTON,
28    TrackpadGesture, TrackpadGestureKind, TrackpadGesturePhase, WindowResizeDirection,
29    additional_pointer_button_mask,
30};
31pub use key::{Key, KeyHandle, KeyId, KeyObject, LocalKey, StringKey, UniqueKey, ValueKey};
32pub use restoration::{RestorationBackend, RestorationKey, RestorationKeyError, RestorationScope};
33pub use widget::{BuildableWidget, Widget};