Skip to main content

MimeType

Enum MimeType 

Source
pub enum MimeType {
    TextUtf8,
    CrcblRon,
    UriList,
    Other(&'static str),
}
Expand description

The format of a clipboard or drag-and-drop payload.

A small enum with an escape hatch rather than a bare string, so the two formats the engine cares about cannot be misspelled, and so a match on the interesting cases reads as one.

Variants§

§

TextUtf8

text/plain;charset=utf-8 — what every other application understands.

Backends must accept the text/plain spelling without the charset parameter as equivalent when receiving, and offer the explicit charset when sending: X11 clients in particular offer both STRING and UTF8_STRING and mean this.

§

CrcblRon

application/x-crcbl+ron — the engine’s own lossless format.

Copying a scene node between two editor windows goes through this; pasting into a text editor goes through TextUtf8, which is why both are offered at once.

§

UriList

text/uri-list — file paths, the format both a file-manager drop and a “copy file” paste arrive in.

§

Other(&'static str)

Anything else, by literal mime string.

&'static str rather than String keeps MimeType Copy and keeps the whole payload type free of allocation on the send path. A backend receiving a mime it has no variant for reports it here.

Implementations§

Source§

impl MimeType

Source

pub const fn as_str(self) -> &'static str

The wire form of this mime type.

Source

pub fn recognize(mime: &str) -> Option<Self>

Recognizes a mime string the window system offered.

Accepts the text/plain spelling without a charset as TextUtf8: X11 and the browser both produce it, and treating it as an unknown format would mean refusing the single most common paste there is.

Trait Implementations§

Source§

impl Clone for MimeType

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MimeType

Source§

impl Debug for MimeType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for MimeType

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for MimeType

Source§

impl From<MimeType> for ReceivedMime

Source§

fn from(mime: MimeType) -> Self

Converts to this type from the input type.
Source§

impl Hash for MimeType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for MimeType

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MimeType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.