1#![doc = include_str!("../../docs/api/core.md")]
2
3pub mod activation;
4pub mod collision;
5pub mod components;
6pub mod effects;
7pub mod hooks;
8pub mod machine;
9pub mod model;
10pub mod modifiers;
11pub mod monitor;
12pub(crate) mod platform;
13pub mod registry;
14mod session;
15pub mod state;
16pub mod strings;
17pub mod types;
18pub mod viewport;
19pub mod world;
20
21pub use activation::{ActivationConstraint, ActivationPolicy, Activator};
22pub use collision::{
23 rank_collisions, Collision, CollisionDetector, CollisionRequest, CollisionStrategy,
24 ReleasePolicy, ZoneCandidate,
25};
26pub use components::{
27 use_parent_zone, BridgeDropZone, BridgeParentZoneBoundary, DndProvider, DragHandle,
28 DragOverlay, Draggable, DropZone, NoDrag, ParentZone, SettleSlot,
29};
30pub use effects::{DropEffects, DropQuery};
31pub use hooks::{
32 client_point, element_point, use_bridge_world, use_dnd, use_dnd_provider, use_rect_refresh,
33 use_zone_id, use_zone_registry, BridgeGeometry, BridgeWorld,
34};
35pub use machine::{
36 transition, transition_with, GestureEffect, GestureEvent, GesturePhase, Promotion,
37};
38pub use model::{
39 apply_clone_or_move, apply_list_clone_or_move, try_apply_clone_or_move,
40 try_apply_list_clone_or_move, use_dnd_model, ApplyDropError, DndScope,
41};
42pub use modifiers::{apply_modifiers, DragModifier, ModifierCtx};
43pub use monitor::{use_dnd_monitor, CancelReason, DndEvent, DragSnapshot, DropReceipt};
44pub use registry::{RectRefresh, ZoneRecord, ZoneRegistration, ZoneRegistry};
45pub(crate) use session::DragCompletion;
46pub use state::{DndContext, DragStart, DragState};
47pub use strings::{use_dnd_strings, DndStrings};
48pub use types::{
49 edge_of, effective_effect, Direction, DragId, DragMode, DragSessionId, DropEffect, DropOutcome,
50 Edge, EdgeSet, Point, PointerKind, Rect, TouchSense, ZoneId,
51};
52pub use viewport::{
53 screen_delta_to_world, screen_to_world, world_delta_to_screen, world_to_screen, CanvasViewport,
54};
55pub use world::{
56 use_dnd_world, use_joined_window, DndWorld, JoinedWindow, WindowGeometry, WindowKey,
57 WindowRecord, ZoneLocation,
58};