Skip to main content

Graphics

Struct Graphics 

Source
pub struct Graphics<'t> { /* private fields */ }
Available on crate feature kitty-graphics only.
Expand description

Opaque reference to a Kitty graphics image storage.

Obtained via Terminal::kitty_graphics. The reference is borrowed from the terminal with lifetime 't and remains valid until the next mutating terminal call (e.g. Terminal::vt_write or Terminal::reset).

Implementations§

Source§

impl<'t> Graphics<'t>

Source

pub fn image(&self, id: u32) -> Option<Image<'t>>

Look up a Kitty graphics image by its image ID.

Returns None if no image with the given ID exists.

Source

pub fn generation(&self) -> Result<u64>

Generation stamp of the last content mutation to this storage.

Content mutations are any image transmit or replace, placement add, or delete. Zero means the storage has never been mutated and is therefore empty.

If the generation is unchanged since a previous query, the set of placements and all image data are identical, so placement iteration and image staleness checks can be skipped entirely. Note that placement geometry may still have changed, since scrolling and resizing move placements without changing the storage contents, so rendering geometry must still be recomputed for frames marked dirty.

Stamps are unique and monotonically increasing process-wide: a value observed from any storage never recurs for different content, even across screen switches or terminal resets. It is therefore safe to key caches on this value alone.

Trait Implementations§

Source§

impl<'t> Debug for Graphics<'t>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'t> !Send for Graphics<'t>

§

impl<'t> !Sync for Graphics<'t>

§

impl<'t> Freeze for Graphics<'t>

§

impl<'t> RefUnwindSafe for Graphics<'t>

§

impl<'t> Unpin for Graphics<'t>

§

impl<'t> UnsafeUnpin for Graphics<'t>

§

impl<'t> UnwindSafe for Graphics<'t>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more