Struct InProcessClipboard
pub struct InProcessClipboard { /* private fields */ }Expand description
A clipboard private to this process, for hosts that offer no shared one.
Keeps copy → paste round-tripping inside the process so editors stay usable
and the caret/clipboard core stays testable headlessly. It refuses
ClipboardBackend::set_shared_text and images.
Trait Implementations§
§impl ClipboardBackend for InProcessClipboard
impl ClipboardBackend for InProcessClipboard
§fn set_text(&self, target: ClipboardTarget, text: &str) -> bool
fn set_text(&self, target: ClipboardTarget, text: &str) -> bool
Take ownership of
target and offer text on it. Returns false if
the backend could not.§fn text(&self, target: ClipboardTarget) -> Option<String>
fn text(&self, target: ClipboardTarget) -> Option<String>
Read
target as UTF-8. None when it is empty, unavailable, or holds
something that is not text.Offer
text only where other processes can read it. Returns false
rather than keeping it in a buffer private to this process, so a
secret is never reported as copied when it was not. The default is
set_text, right for a backend that only reaches a
shared clipboard.§fn request_text(&self, target: ClipboardTarget) -> Receiver<Option<String>>
fn request_text(&self, target: ClipboardTarget) -> Receiver<Option<String>>
Request text for an explicit paste. A native transfer may finish after
this call returns; the backend must wake its owner when it answers.
No answer may substitute text from an older selection or focus owner.
§fn rich_text(&self) -> Option<RichTextOffer>
fn rich_text(&self) -> Option<RichTextOffer>
Read HTML and its plain fallback from one Ctrl+V clipboard offer.
Optional: unsupported backends return
None without reading plain text.
A successful read consumes event-scoped offers; use the captured plain
fallback if decoding refuses the HTML. Never reread to recover a stale
selection, a permission refusal, or an active composition.§fn set_image(&self, width: usize, height: usize, rgba: &[u8]) -> bool
fn set_image(&self, width: usize, height: usize, rgba: &[u8]) -> bool
Offer an RGBA8 image on the clipboard. Optional: the default refuses,
which is appropriate for backends that only carry text.
§fn image(&self) -> Option<ClipboardImage>
fn image(&self) -> Option<ClipboardImage>
The image on the Ctrl+V clipboard, when it holds one: a screenshot,
an image copied in a viewer or a browser. Optional: the default reads
none, which is right for backends that only carry text.
§impl Debug for InProcessClipboard
impl Debug for InProcessClipboard
§impl Default for InProcessClipboard
impl Default for InProcessClipboard
§fn default() -> InProcessClipboard
fn default() -> InProcessClipboard
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for InProcessClipboard
impl RefUnwindSafe for InProcessClipboard
impl Send for InProcessClipboard
impl Sync for InProcessClipboard
impl Unpin for InProcessClipboard
impl UnsafeUnpin for InProcessClipboard
impl UnwindSafe for InProcessClipboard
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.