Skip to main content

ScaleFramebuffer

Trait ScaleFramebuffer 

Source
pub trait ScaleFramebuffer<T = ()> {
    type Error;
    type Context;

    // Required method
    fn scale(
        &mut self,
        scaling: Scale2D,
        format: ImageFormat,
        viewport_size: &Size<u32>,
        source_size: &Size<u32>,
        original_size: &Size<u32>,
        should_mipmap: bool,
        context: &Self::Context,
    ) -> Result<Size<u32>, Self::Error>;

    // Provided methods
    fn scale_feedback_framebuffers<P>(
        source_size: Size<u32>,
        viewport_size: Size<u32>,
        original_size: Size<u32>,
        feedback: &mut FramebufferPool<Self>,
        passes: &[P],
        callback: impl FnMut(usize, &P, &Self) -> Result<(), Self::Error>,
    ) -> Result<(), Self::Error>
       where Self: Sized,
             Self::Context: Default,
             P: FilterPassMeta { ... }
    fn scale_feedback_framebuffers_with_context<P>(
        source_size: Size<u32>,
        viewport_size: Size<u32>,
        original_size: Size<u32>,
        feedback: &mut FramebufferPool<Self>,
        passes: &[P],
        context: &Self::Context,
        callback: impl FnMut(usize, &P, &Self) -> Result<(), Self::Error>,
    ) -> Result<(), Self::Error>
       where Self: Sized,
             P: FilterPassMeta { ... }
    fn scale_output_framebuffers<P>(
        source_size: Size<u32>,
        viewport_size: Size<u32>,
        original_size: Size<u32>,
        output: &mut FramebufferPool<Self>,
        passes: &mut [P],
        callback: impl FnMut(usize, &mut P, &Self, Size<u32>) -> Result<(), Self::Error>,
    ) -> Result<(), Self::Error>
       where Self: Sized,
             Self::Context: Default,
             P: FilterPassMeta { ... }
    fn scale_output_framebuffers_with_context<P>(
        source_size: Size<u32>,
        viewport_size: Size<u32>,
        original_size: Size<u32>,
        output: &mut FramebufferPool<Self>,
        passes: &mut [P],
        context: &Self::Context,
        callback: impl FnMut(usize, &mut P, &Self, Size<u32>) -> Result<(), Self::Error>,
    ) -> Result<(), Self::Error>
       where Self: Sized,
             P: FilterPassMeta { ... }
}
Expand description

Trait for owned framebuffer objects that can be scaled.

Required Associated Types§

Required Methods§

Source

fn scale( &mut self, scaling: Scale2D, format: ImageFormat, viewport_size: &Size<u32>, source_size: &Size<u32>, original_size: &Size<u32>, should_mipmap: bool, context: &Self::Context, ) -> Result<Size<u32>, Self::Error>

Scale the framebuffer according to the provided parameters, returning the new size.

Provided Methods§

Source

fn scale_feedback_framebuffers<P>( source_size: Size<u32>, viewport_size: Size<u32>, original_size: Size<u32>, feedback: &mut FramebufferPool<Self>, passes: &[P], callback: impl FnMut(usize, &P, &Self) -> Result<(), Self::Error>, ) -> Result<(), Self::Error>
where Self: Sized, Self::Context: Default, P: FilterPassMeta,

Scale the sparse feedback framebuffers, invoking callback for each pass that is referenced as feedback so the runtime can refresh its bound feedback texture.

Source

fn scale_feedback_framebuffers_with_context<P>( source_size: Size<u32>, viewport_size: Size<u32>, original_size: Size<u32>, feedback: &mut FramebufferPool<Self>, passes: &[P], context: &Self::Context, callback: impl FnMut(usize, &P, &Self) -> Result<(), Self::Error>, ) -> Result<(), Self::Error>
where Self: Sized, P: FilterPassMeta,

Scale the sparse feedback framebuffers with a user provided context.

Source

fn scale_output_framebuffers<P>( source_size: Size<u32>, viewport_size: Size<u32>, original_size: Size<u32>, output: &mut FramebufferPool<Self>, passes: &mut [P], callback: impl FnMut(usize, &mut P, &Self, Size<u32>) -> Result<(), Self::Error>, ) -> Result<(), Self::Error>
where Self: Sized, Self::Context: Default, P: FilterPassMeta,

Scale the pooled output framebuffers, invoking callback for each pass with its routed render target and scaled output size so the runtime can draw it.

Source

fn scale_output_framebuffers_with_context<P>( source_size: Size<u32>, viewport_size: Size<u32>, original_size: Size<u32>, output: &mut FramebufferPool<Self>, passes: &mut [P], context: &Self::Context, callback: impl FnMut(usize, &mut P, &Self, Size<u32>) -> Result<(), Self::Error>, ) -> Result<(), Self::Error>
where Self: Sized, P: FilterPassMeta,

Scale the pooled output framebuffers with a user provided context.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§