fret_platform/external_drop.rs
1//! External drag-and-drop payload retrieval contracts.
2//!
3//! Fret uses a token-based model for external drops so the UI/runtime can stay portable:
4//! the backend captures an OS drop payload and assigns an opaque `ExternalDropToken`.
5//! The UI can later request reading the payload via effects.
6
7pub use fret_core::ExternalDropReadLimits;
8
9use fret_core::{ExternalDropDataEvent, ExternalDropToken};
10
11pub trait ExternalDropProvider {
12 fn read_all(
13 &mut self,
14 token: ExternalDropToken,
15 limits: ExternalDropReadLimits,
16 ) -> Option<ExternalDropDataEvent>;
17
18 fn release(&mut self, token: ExternalDropToken);
19}