Skip to main content

teksilo_core/
lib.rs

1#![allow(clippy::type_complexity)]
2// SPDX-License-Identifier: MPL-2.0
3// SPDX-FileCopyrightText: 2026 FernTech
4
5pub mod accessibility;
6pub mod action;
7pub mod animated_quad;
8pub mod animation;
9pub mod animation_builder;
10pub mod announcer;
11pub mod app_event;
12pub mod arena;
13pub mod async_completion;
14pub mod binding;
15pub mod build_context;
16pub mod color_prop;
17pub mod deferred_subtree;
18pub mod dim_when_inactive;
19pub mod drag_payload;
20pub(crate) mod drag_state;
21pub mod environment;
22pub mod event;
23pub(crate) mod event_handlers;
24pub mod event_source;
25pub mod focus;
26pub mod frame_tick_scheduler;
27pub mod gesture;
28pub mod idle;
29pub mod ime;
30pub mod intent;
31pub mod kinetic;
32pub mod menu_item_id;
33pub mod modal;
34pub mod motion_visibility;
35mod off_thread;
36pub mod overlay;
37pub mod overscroll;
38pub mod paint_prop;
39pub mod partition;
40pub mod pointer;
41pub mod presets;
42/// Per-node press state — see the module docs for why the router owns it.
43pub(crate) mod press;
44pub mod raw_handle;
45pub mod shortcut;
46pub mod signal;
47pub mod styles;
48pub mod telemetry;
49pub mod text_input_document;
50pub mod text_surface;
51pub mod text_touch;
52pub mod widget;
53pub mod widget_builder;
54pub mod widget_builder_branching;
55pub mod widget_id;
56pub mod widget_tree;
57pub mod window;
58pub mod window_chrome;
59
60#[cfg(test)]
61pub(crate) mod test_widgets;
62
63pub use accessibility::{AccessNodeBuilder, AccessibilityInfo, Announcement};
64#[doc(hidden)]
65pub use action::ApplicationScope;
66pub use action::{Action, ActionBuilder, ActionHandler};
67pub use animated_quad::{AnimatedQuadHandle, AnimatedQuadKind, AnimatedQuadRegistry};
68pub use animation::AnimationRequest;
69pub use animation::AnimationScheduler;
70pub use animation_builder::AnimationSpec;
71pub use announcer::Politeness;
72pub use app_event::AppEvent;
73#[allow(deprecated)]
74pub use app_event::RepaintWindowRequest;
75pub use arena::WidgetArena;
76pub use async_completion::{AsyncCompletionHandle, AsyncCompletionPayload};
77pub use binding::{BindingLevel, BindingRegistry};
78pub use build_context::BuildContext;
79pub use color_prop::{ColorProp, TextStyleProp};
80pub use drag_payload::{
81    DragData, DragImageData, DragOrigin, DragPayload, DropOutcome, ExternalDropData, OsDragId,
82    OsDragStart, OsHandoff, OutboundDragData,
83};
84pub use drag_state::DropFeedback;
85pub use environment::{Environment, ExploreByTouch, LayoutDirection, ScreenReaderState};
86pub use event::{
87    ButtonMask, EventResponse, ImeOrigin, Key, Modifiers, PointerButton, ScrollDelta, WidgetEvent,
88};
89pub use event_source::{
90    AppEventPoster, EventSource, EventSourceAdapter, SubscriptionHandle, SubscriptionId,
91};
92pub use focus::{FocusOrigin, TraversalScopePolicy};
93pub use frame_tick_scheduler::{FrameTickScheduler, FrameTickSubscription};
94pub use gesture::{
95    DoubleTapRecognizer, DragRecognizer, GestureArena, GestureArenaSet, GestureEvent, GestureProto,
96    GestureRecognizer, GestureResult, LongPressRecognizer, MultiContact, RawPointerEvent,
97    RecognizerContext, SwipeDirection, SwipeRecognizer, TapEvent, TapRecognizer, TapStreak,
98    TripleTapRecognizer,
99};
100pub use idle::IdleDeadline;
101pub use ime::{ImeContext, ImePurpose};
102pub use intent::{Intent, IntentKind, IntentResponse};
103pub use kinetic::{
104    BouncingSimulation, ClampingSimulation, FlingDriver, KineticScroller, ScrollSimulation,
105    ScrollStep, VelocityEstimate, VelocityTracker, rubber_band,
106};
107pub use menu_item_id::MenuItemId;
108pub use modal::{
109    ModalBuilder, ModalCloseBehavior, ModalContent, ModalPlacement, ModalPresentation,
110    ModalRequest, QueuedModalRequest,
111};
112pub use off_thread::{
113    LiveImageAttachment, LiveImageSignals, PullOutcome, RepaintTrigger, RepaintTriggerStats,
114};
115pub use overlay::{
116    DismissBehavior, OverlayId, OverlayLayer, OverlayManager, OverlayPlacement, OverlayRequest,
117};
118pub use overscroll::{OverscrollBehavior, SCROLL_MOVE_EPSILON};
119pub use paint_prop::{GradientStopProp, PaintProp, angle_to_endpoints};
120pub use partition::{TargetRegion, partition_targets};
121pub use pointer::clock::{InputClock, ManualClock, MonotonicClock};
122pub use pointer::hit_slop::{HitCandidate, HitContext, HitSlop};
123pub use pointer::touch_action::{Axis, PanAxes, PanClaim, TouchAction};
124pub use pointer::{
125    BackendDeviceKey, CancelReason, CoalescedSample, EventTime, PointerAxes, PointerId,
126    PointerIdAllocator, PointerInfo, PointerPhase, PointerSample, ScrollPhase, ScrollSample,
127    ScrollSource,
128};
129pub use raw_handle::ParentHandle;
130pub use shortcut::{
131    CaptureHandle, EffectiveShortcut, KeyCaptureCallback, KeyStroke, KeyStrokeOverride, Shortcut,
132    ShortcutBuilder, ShortcutOnActivate, ShortcutRegistry, ShortcutScope, SlotOverride,
133    StandardEdit,
134};
135pub use signal::{ObserverHandle, Prop, Signal, SignalAccessError};
136pub use styles::{Theme, ThemeAppearance, ThemeExtensions, ThemeId};
137pub use widget::{
138    CursorIcon, EventContext, LayoutContext, LayoutResponse, PaintContext, PendingChild, Widget,
139    WidgetPlacement,
140};
141pub use widget_builder::{
142    AccessSubtreeMode, AccessibilityOverrides, HandlerSet, WidgetBuilder, WidgetWithHandlers,
143};
144pub use widget_builder_branching::{
145    IntoTeksiChild, IntoTeksiCondition, TeksiBranch, TeksiBranch3, TeksiBranch4,
146};
147pub use widget_id::WidgetId;
148pub use widget_tree::WidgetTree;
149pub use widget_tree::pan_arbiter::ScrollDelivery;
150pub use widget_tree::touch_route::LongPressRole;
151pub use window::state::WindowStateInit;
152pub use window::{
153    CloseBlockedCallback, CloseDecision, CloseGuard, CloseResponse, DecorationsMode, ModalConfig,
154    NoopWindowOps, PostRootBuilder, QuitSource, RootBuilder, SizeToContent, TeksiloWindowId,
155    UserAttentionKind, WindowCommand, WindowConfig, WindowIcon, WindowOps, WindowPlacement,
156    WindowRemovedCallback, WindowRemovedEvent, WindowState,
157};
158pub use window_chrome::{
159    ControlTarget, HitRegions, PlatformError, PlatformTitleBarHost, ResizeBorders, ResizeEdge,
160    TitleBarHostCallbacks, TitleBarHoverEvent, TitleBarSyntheticEvent,
161};
162
163pub use accesskit;