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_framebuffers<P>(
source_size: Size<u32>,
viewport_size: Size<u32>,
original_size: Size<u32>,
output: &mut [Self],
feedback: &mut [Self],
passes: &[P],
callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> Result<(), Self::Error>>,
) -> Result<(), Self::Error>
where Self: Sized,
Self::Context: Default,
P: FilterPassMeta { ... }
fn scale_framebuffers_with_context<P>(
source_size: Size<u32>,
viewport_size: Size<u32>,
original_size: Size<u32>,
output: &mut [Self],
feedback: &mut [Self],
passes: &[P],
context: &Self::Context,
callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> 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_framebuffers<P>(
source_size: Size<u32>,
viewport_size: Size<u32>,
original_size: Size<u32>,
output: &mut [Self],
feedback: &mut [Self],
passes: &[P],
callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> Result<(), Self::Error>>,
) -> Result<(), Self::Error>
fn scale_framebuffers<P>( source_size: Size<u32>, viewport_size: Size<u32>, original_size: Size<u32>, output: &mut [Self], feedback: &mut [Self], passes: &[P], callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> Result<(), Self::Error>>, ) -> Result<(), Self::Error>
Scale framebuffers with default context.
Sourcefn scale_framebuffers_with_context<P>(
source_size: Size<u32>,
viewport_size: Size<u32>,
original_size: Size<u32>,
output: &mut [Self],
feedback: &mut [Self],
passes: &[P],
context: &Self::Context,
callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> Result<(), Self::Error>>,
) -> Result<(), Self::Error>where
Self: Sized,
P: FilterPassMeta,
fn scale_framebuffers_with_context<P>(
source_size: Size<u32>,
viewport_size: Size<u32>,
original_size: Size<u32>,
output: &mut [Self],
feedback: &mut [Self],
passes: &[P],
context: &Self::Context,
callback: Option<&mut dyn FnMut(usize, &P, &Self, &Self) -> Result<(), Self::Error>>,
) -> Result<(), Self::Error>where
Self: Sized,
P: FilterPassMeta,
Scale framebuffers with user provided context.