Skip to main content

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}