#[non_exhaustive]pub struct ImageRequest<D> {
pub format: ImageDataFormat,
pub data: D,
pub max_decoded_len: u64,
pub downscale: Option<ImageDownscaleMode>,
pub mask: Option<ImageMaskMode>,
pub entries: ImageEntriesMode,
pub parent: Option<ImageEntryMetadata>,
}Expand description
Represent a image load/decode request.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.format: ImageDataFormatImage data format.
data: DImage data.
Bytes layout depends on the format, data structure is IpcBytes or IpcReceiver<IpcBytes> in the view API.
max_decoded_len: u64Maximum allowed decoded size.
View-process will avoid decoding and return an error if the image decoded to BGRA (4 bytes) exceeds this size.
This limit applies to the image before the downscale.
downscale: Option<ImageDownscaleMode>A size constraints to apply after the image is decoded. The image is resized to fit or fill the given size. Optionally generate multiple reduced entries.
If the image contains multiple images selects the nearest reduced alternate that can be downscaled.
If entries requests REDUCED only the alternates smaller than the requested downscale are included.
mask: Option<ImageMaskMode>Convert or decode the image into a single channel mask (R8).
entries: ImageEntriesModeDefines what images are decoded from multi image containers.
parent: Option<ImageEntryMetadata>Image is an entry (or subtree) of this other image.
This value is now used by the view-process, it is just returned with the metadata. This is useful when an already decoded image is requested after a respawn to maintain the original container structure.
Implementations§
Source§impl<D> ImageRequest<D>
impl<D> ImageRequest<D>
Sourcepub fn new(
format: ImageDataFormat,
data: D,
max_decoded_len: u64,
downscale: Option<ImageDownscaleMode>,
mask: Option<ImageMaskMode>,
) -> Self
pub fn new( format: ImageDataFormat, data: D, max_decoded_len: u64, downscale: Option<ImageDownscaleMode>, mask: Option<ImageMaskMode>, ) -> Self
New request.
Trait Implementations§
Source§impl<D: Clone> Clone for ImageRequest<D>
impl<D: Clone> Clone for ImageRequest<D>
Source§fn clone(&self) -> ImageRequest<D>
fn clone(&self) -> ImageRequest<D>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<D: Debug> Debug for ImageRequest<D>
impl<D: Debug> Debug for ImageRequest<D>
Source§impl<'de, D> Deserialize<'de> for ImageRequest<D>where
D: Deserialize<'de>,
impl<'de, D> Deserialize<'de> for ImageRequest<D>where
D: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl<D> Freeze for ImageRequest<D>where
D: Freeze,
impl<D> RefUnwindSafe for ImageRequest<D>where
D: RefUnwindSafe,
impl<D> Send for ImageRequest<D>where
D: Send,
impl<D> Sync for ImageRequest<D>where
D: Sync,
impl<D> Unpin for ImageRequest<D>where
D: Unpin,
impl<D> UnwindSafe for ImageRequest<D>where
D: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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>
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