Skip to main content

DataFormat

Struct DataFormat 

Source
pub struct DataFormat { /* private fields */ }
Expand description

Represents a format usable with the clipboard and drag-and-drop.

A format is a value: two formats are equal when their kind and their identifier are equal. The typed counterpart, which also carries the type of the data, is DataFormatOf; it dereferences to DataFormat.

Implementations§

Source§

impl DataFormat

Source

pub fn data_type(&self) -> Option<TypeId>

The type of the values of the format (String for a format of strings, Rc<[u8]> for a format of bytes), when the format was created with one: the counterpart of asking whether a format of the managed original is a DataFormat<string> or a DataFormat<byte[]>, which a platform backend does to decide how to read data the system does not describe. Two formats that differ in it alone are equal.

Source

pub fn kind(&self) -> DataFormatKind

The kind of the data format.

Source

pub fn identifier(&self) -> &str

The identifier of the data format.

Source

pub fn text() -> DataFormatOf<String>

A data format representing plain text. Its data type is String.

Source

pub fn bitmap() -> DataFormatOf<Rc<Bitmap>>

A data format representing a bitmap. Its data type is a shared Bitmap.

Source

pub fn file() -> DataFormatOf<Rc<dyn IStorageItem>>

A data format representing a single file. Its data type is a shared IStorageItem.

Source

pub fn to_system_name(&self, application_prefix: &str) -> String

Creates a name for this format, usable by the underlying platform.

application_prefix is the system prefix used to recognize the name as an application format.

§Panics

This method can only be called if kind is DataFormatKind::Application or DataFormatKind::Platform.

Source

pub fn create_bytes_application_format( identifier: &str, ) -> DataFormatOf<Rc<[u8]>>

Creates a new format specific to the application that returns an array of bytes.

To avoid conflicts with system identifiers, identifier isn’t passed to the underlying platform directly. However, two different applications using the same identifier with create_bytes_application_format or create_string_application_format are able to share data using this format.

§Panics

Only ASCII letters (A-Z, a-z), digits (0-9), the dot (.) and the hyphen (-) are accepted in the identifier, which must not be empty.

Source

pub fn create_string_application_format( identifier: &str, ) -> DataFormatOf<String>

Creates a new format specific to the application that returns a String.

See create_bytes_application_format for the identifier.

Source

pub fn create_in_process_format<T: 'static>(identifier: &str) -> DataFormatOf<T>

Creates a new format that stays within the current process and is never serialized to a platform clipboard or drag-and-drop operation.

T is the data type. identifier is only used for equality comparisons within the process and is never passed to the underlying platform.

§Panics

Panics if the identifier is empty.

Source

pub fn create_bytes_platform_format(identifier: &str) -> DataFormatOf<Rc<[u8]>>

Creates a new format for the current platform that returns an array of bytes.

identifier is not validated and is passed as is to the underlying platform. Most systems use mime types, but macOS requires Uniform Type Identifiers (UTI).

§Panics

Panics if the identifier is empty.

Source

pub fn create_string_platform_format(identifier: &str) -> DataFormatOf<String>

Creates a new format for the current platform that returns a String.

See create_bytes_platform_format for the identifier.

Source

pub fn from_system_name<T: 'static>( system_name: &str, application_prefix: &str, ) -> DataFormatOf<T>

Creates a format from a name coming from the underlying platform.

application_prefix is the system prefix used to recognize the name as an application format. This is an implementation detail of the platform backends.

Trait Implementations§

Source§

impl Clone for DataFormat

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 Debug for DataFormat

Source§

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

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

impl Display for DataFormat

Source§

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

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

impl Eq for DataFormat

Source§

impl<T> From<DataFormatOf<T>> for DataFormat

Source§

fn from(value: DataFormatOf<T>) -> DataFormat

Converts to this type from the input type.
Source§

impl Hash for DataFormat

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 DataFormat

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl<T> PartialEq<DataFormat> for DataFormatOf<T>

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl<T> PartialEq<DataFormatOf<T>> for DataFormat

Source§

fn eq(&self, other: &DataFormatOf<T>) -> bool

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

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

Inequality operator !=. Read more

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> AnyValue for T
where T: PartialEq + 'static,

Source§

fn any_value_as_any(&self) -> &(dyn Any + 'static)

Source§

fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool

Source§

fn any_value_type_name(&self) -> &'static str

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> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). 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> PropertyValue for T
where T: Clone + PartialEq + 'static,

Source§

impl<T> ResourceKeyObject for T
where T: Eq + Hash + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn dyn_eq(&self, other: &(dyn ResourceKeyObject + 'static)) -> bool

Source§

fn dyn_hash(&self, state: &mut dyn Hasher)

Source§

fn key_type_name(&self) -> &'static str

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.