Skip to main content

SpanInterpolatorTrans

Struct SpanInterpolatorTrans 

Source
pub struct SpanInterpolatorTrans<T: Transformer> { /* private fields */ }
Expand description

Per-pixel transform span interpolator.

Transforms every single pixel through the given transformer. This is more accurate than linear interpolation but significantly slower since transform() is called for every pixel rather than just the span endpoints.

Port of C++ span_interpolator_trans<Transformer, SubpixelShift>.

Implementations§

Source§

impl<T: Transformer> SpanInterpolatorTrans<T>

Source

pub fn new(trans: T) -> Self

Source

pub fn new_begin(trans: T, x: f64, y: f64, len: u32) -> Self

Source

pub fn transformer(&self) -> &T

Source

pub fn set_transformer(&mut self, trans: T)

Source

pub fn begin(&mut self, x: f64, y: f64, _len: u32)

Initialize interpolation for a span starting at (x, y).

Source

pub fn next(&mut self)

Advance to the next pixel.

Source

pub fn coordinates(&self, x: &mut i32, y: &mut i32)

Get the current transformed coordinates (in subpixel units).

Trait Implementations§

Source§

impl<T: Transformer> SpanInterpolator for SpanInterpolatorTrans<T>

Source§

fn begin(&mut self, x: f64, y: f64, len: u32)

Source§

fn next(&mut self)

Source§

fn coordinates(&self, x: &mut i32, y: &mut i32)

Auto Trait Implementations§

§

impl<T> Freeze for SpanInterpolatorTrans<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for SpanInterpolatorTrans<T>
where T: RefUnwindSafe,

§

impl<T> Send for SpanInterpolatorTrans<T>
where T: Send,

§

impl<T> Sync for SpanInterpolatorTrans<T>
where T: Sync,

§

impl<T> Unpin for SpanInterpolatorTrans<T>
where T: Unpin,

§

impl<T> UnwindSafe for SpanInterpolatorTrans<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.