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§
Sourcefn 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>
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§
Sourcefn 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>
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>
Scale the sparse feedback framebuffers, invoking callback for each pass that is
referenced as feedback so the runtime can refresh its bound feedback texture.
Sourcefn 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_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.
Sourcefn 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>
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>
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.
Sourcefn 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,
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".