Skip to main content

ImageDecodeSubmit

Trait ImageDecodeSubmit 

Source
pub trait ImageDecodeSubmit<'a>: ImageDecode<'a> {
    type Session: Default + Send;
    type DeviceSurface: DeviceSurface;
    type SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>;

    // Required methods
    fn submit_to_device(
        &mut self,
        session: &mut Self::Session,
        fmt: PixelFormat,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_region_to_device(
        &mut self,
        session: &mut Self::Session,
        fmt: PixelFormat,
        roi: Rect,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_scaled_to_device(
        &mut self,
        session: &mut Self::Session,
        fmt: PixelFormat,
        scale: Downscale,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;
    fn submit_region_scaled_to_device(
        &mut self,
        session: &mut Self::Session,
        fmt: PixelFormat,
        roi: Rect,
        scale: Downscale,
        backend: BackendRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error>;

    // Provided method
    fn submit_request_to_device(
        &mut self,
        session: &mut Self::Session,
        fmt: PixelFormat,
        backend: BackendRequest,
        request: DecodeRequest,
    ) -> Result<Self::SubmittedSurface, Self::Error> { ... }
}
Expand description

Decode API for implementations that can submit work to a device backend.

Required Associated Types§

Source

type Session: Default + Send

Mutable session state shared across submissions.

Source

type DeviceSurface: DeviceSurface

Device surface returned by completed submissions.

Source

type SubmittedSurface: DeviceSubmission<Output = Self::DeviceSurface, Error = Self::Error>

Submission handle type.

Required Methods§

Source

fn submit_to_device( &mut self, session: &mut Self::Session, fmt: PixelFormat, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit full-image decode to the requested backend.

Source

fn submit_region_to_device( &mut self, session: &mut Self::Session, fmt: PixelFormat, roi: Rect, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit region decode to the requested backend.

Source

fn submit_scaled_to_device( &mut self, session: &mut Self::Session, fmt: PixelFormat, scale: Downscale, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit reduced-resolution decode to the requested backend.

Source

fn submit_region_scaled_to_device( &mut self, session: &mut Self::Session, fmt: PixelFormat, roi: Rect, scale: Downscale, backend: BackendRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit region decode at reduced resolution to the requested backend.

Provided Methods§

Source

fn submit_request_to_device( &mut self, session: &mut Self::Session, fmt: PixelFormat, backend: BackendRequest, request: DecodeRequest, ) -> Result<Self::SubmittedSurface, Self::Error>

Submit a normalized full/ROI/scaled decode request to a device backend.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§