Enum zng::render::ImageRendering
source · #[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§
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 Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self
equals other
.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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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.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