#[non_exhaustive]pub enum InterpType {
Nearest,
Tiles,
Bilinear,
Hyper,
}
Expand description
Interpolation modes for scaling functions.
The GDK_INTERP_NEAREST
mode is the fastest scaling method, but has
horrible quality when scaling down; GDK_INTERP_BILINEAR
is the best
choice if you aren’t sure what to choose, it has a good speed/quality
balance.
Note: Cubic filtering is missing from the list; hyperbolic interpolation is just as fast and results in higher quality.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Nearest
Nearest neighbor sampling; this is the fastest and lowest quality mode. Quality is normally unacceptable when scaling down, but may be OK when scaling up.
Tiles
This is an accurate simulation of the PostScript image operator without any interpolation enabled. Each pixel is rendered as a tiny parallelogram of solid color, the edges of which are implemented with antialiasing. It resembles nearest neighbor for enlargement, and bilinear for reduction.
Bilinear
Best quality/speed balance; use this mode by default. Bilinear interpolation. For enlargement, it is equivalent to point-sampling the ideal bilinear-interpolated image. For reduction, it is equivalent to laying down small tiles and integrating over the coverage area.
Hyper
This is the slowest and highest quality reconstruction function. It is derived from the hyperbolic filters in Wolberg’s “Digital Image Warping”, and is formally defined as the hyperbolic-filter sampling the ideal hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping). Deprecated: this interpolation filter is deprecated, as in reality it has a lower quality than the @GDK_INTERP_BILINEAR filter (Since: 2.38)
Trait Implementations§
source§impl Clone for InterpType
impl Clone for InterpType
source§fn clone(&self) -> InterpType
fn clone(&self) -> InterpType
1.6.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InterpType
impl Debug for InterpType
source§impl From<InterpType> for Value
impl From<InterpType> for Value
source§fn from(v: InterpType) -> Self
fn from(v: InterpType) -> Self
source§impl<'a> FromValue<'a> for InterpType
impl<'a> FromValue<'a> for InterpType
source§type Checker = GenericValueTypeChecker<InterpType>
type Checker = GenericValueTypeChecker<InterpType>
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moresource§impl HasParamSpec for InterpType
impl HasParamSpec for InterpType
type ParamSpec = ParamSpecEnum
source§type SetValue = InterpType
type SetValue = InterpType
type BuilderFn = fn(_: &str, _: InterpType) -> ParamSpecEnumBuilder<'_, InterpType>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for InterpType
impl Hash for InterpType
source§impl Ord for InterpType
impl Ord for InterpType
source§fn cmp(&self, other: &InterpType) -> Ordering
fn cmp(&self, other: &InterpType) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for InterpType
impl PartialEq for InterpType
source§impl PartialOrd for InterpType
impl PartialOrd for InterpType
source§impl StaticType for InterpType
impl StaticType for InterpType
source§fn static_type() -> Type
fn static_type() -> Type
Self
.source§impl ToValue for InterpType
impl ToValue for InterpType
source§impl ValueType for InterpType
impl ValueType for InterpType
source§type Type = InterpType
type Type = InterpType
Type
from. Read moreimpl Copy for InterpType
impl Eq for InterpType
impl StructuralPartialEq for InterpType
Auto Trait Implementations§
impl Freeze for InterpType
impl RefUnwindSafe for InterpType
impl Send for InterpType
impl Sync for InterpType
impl Unpin for InterpType
impl UnwindSafe for InterpType
Blanket Implementations§
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
)source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.