#[non_exhaustive]#[repr(u8)]pub enum ImageRendering {
Auto = 0,
CrispEdges = 1,
Pixelated = 2,
}Expand description
Image scaling algorithm in the renderer.
If an image is not rendered at the same size as their source it must be up-scaled or
down-scaled. The algorithms used for this scaling can be selected using this enum.
Note that the algorithms used in the renderer value performance over quality and do a good enough job for small or temporary changes in scale only, such as a small size correction or a scaling animation. If and image is constantly rendered at a different scale you should considered scaling it on the CPU using a slower but more complex algorithm or pre-scaling it before including in the app.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Auto = 0
Let the renderer select the algorithm, currently this is the same as CrispEdges.
CrispEdges = 1
The image is scaled with an algorithm that preserves contrast and edges in the image, and which does not smooth colors or introduce blur to the image in the process.
Currently the Bilinear interpolation algorithm is used.
Pixelated = 2
When scaling the image up, the image appears to be composed of large pixels.
Currently the Nearest-neighbor interpolation algorithm is used.
Trait Implementations§
Source§impl Clone for ImageRendering
impl Clone for ImageRendering
Source§fn clone(&self) -> ImageRendering
fn clone(&self) -> ImageRendering
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ImageRendering
impl Debug for ImageRendering
Source§impl<'de> Deserialize<'de> for ImageRendering
impl<'de> Deserialize<'de> for ImageRendering
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ImageRendering, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ImageRendering, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for ImageRendering
impl Hash for ImageRendering
Source§impl PartialEq for ImageRendering
impl PartialEq for ImageRendering
Source§impl PxToWr for ImageRendering
impl PxToWr for ImageRendering
Source§fn to_wr_device(self) -> <ImageRendering as PxToWr>::AsDevice
fn to_wr_device(self) -> <ImageRendering as PxToWr>::AsDevice
self in webrender::units::DevicePixel units.Source§fn to_wr_world(self) -> <ImageRendering as PxToWr>::AsWorld
fn to_wr_world(self) -> <ImageRendering as PxToWr>::AsWorld
self in webrender::units::WorldPixel units.Source§impl Serialize for ImageRendering
impl Serialize for ImageRendering
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for ImageRendering
impl Eq for ImageRendering
impl StructuralPartialEq for ImageRendering
Auto Trait Implementations§
impl Freeze for ImageRendering
impl RefUnwindSafe for ImageRendering
impl Send for ImageRendering
impl Sync for ImageRendering
impl Unpin for ImageRendering
impl UnwindSafe for ImageRendering
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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
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
key and return true if they are equal.§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
Source§impl<T> FsChangeNote for T
impl<T> FsChangeNote for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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