API ReferencePlatform & Testing
Clipboard & Transfer
Formats, representations, read requests, and error taxonomy.
TransferFormat: PlainText / Html / UriList / Files / Rgba8Image /
Custom(MediaType), each with a media_type() string.
use incular::prelude::*;
fn main() {
let item = TransferItem::single(TransferRepresentation::plain_text("hi"));
println!(
"has text: {}",
item.representation(&TransferFormat::PlainText).is_some()
);
let request = TransferReadRequest::formats([
TransferFormat::PlainText,
TransferFormat::Html,
]);
println!("wants html: {}", request.includes(&TransferFormat::Html));
let ops = TransferOperations::COPY;
println!("copy: {}", ops.contains(TransferOperation::Copy));
}TransferDataError: bad media types/dimensions/lengths, duplicate formats,
type mismatches, provider failures. ClipboardError: unavailable,
unsupported format/combination, transfer, backend. ClipboardWriteReport
lists written vs skipped formats.
DataTransferCapabilities snapshots text/rich/custom clipboard plus
drag-drop support. TransferFormatCapabilities records per-format
support for one clipboard direction (support(format), all(support)).
Related: Desktop.