Enum ScalingFilter
#[non_exhaustive]pub enum ScalingFilter {
Linear,
Nearest,
Trilinear,
}Expand description
How a live picture is sampled when it is drawn at another size.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Linear
Bilinear, from the full-size picture only. The sharpest choice from half size up.
Nearest
The nearest texel, from the full-size picture only: crisp integer upscaling, and exact at 1:1.
Trilinear
Trilinear, through a chain of halved copies of the picture: for a
picture drawn below half size, such as a thumbnail, where Linear
aliases; above half size it is softer than Linear. The window
builds the chain on the GPU the first time it draws the source this
way, with one whole upload into a texture that has the levels, and
in each later frame that draws it so rebuilds only the part an upload
changed, one small pass per level. The levels cost a third more
texture memory, and stay with the texture while the source is also,
or only, drawn another way, until its size changes.
Trait Implementations§
§impl Clone for ScalingFilter
impl Clone for ScalingFilter
§fn clone(&self) -> ScalingFilter
fn clone(&self) -> ScalingFilter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ScalingFilter
§impl Debug for ScalingFilter
impl Debug for ScalingFilter
§impl Default for ScalingFilter
impl Default for ScalingFilter
§fn default() -> ScalingFilter
fn default() -> ScalingFilter
impl Eq for ScalingFilter
§impl Hash for ScalingFilter
impl Hash for ScalingFilter
§impl PartialEq for ScalingFilter
impl PartialEq for ScalingFilter
impl StructuralPartialEq for ScalingFilter
Auto Trait Implementations§
impl Freeze for ScalingFilter
impl RefUnwindSafe for ScalingFilter
impl Send for ScalingFilter
impl Sync for ScalingFilter
impl Unpin for ScalingFilter
impl UnsafeUnpin for ScalingFilter
impl UnwindSafe for ScalingFilter
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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