Incular logoIncular
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.