Skip to main content

ScrollLink

Struct ScrollLink 

Source
pub struct ScrollLink { /* private fields */ }
Expand description

Turns scroll progress into an Effect: opacity, movement and scale.

Pick a ScrollRange, narrow it to a window with Self::between, shape it with an Easing, and describe the effect with keyframes or any function. Presets cover the usual entrances and exits.

Implementations§

Source

pub fn custom(map: impl Fn(f32) -> Effect + 'static) -> Self

The effect is map(t), where t runs from 0 to 1 over the window, after easing.

Source

pub fn keyframes(stops: impl IntoIterator<Item = (f32, Effect)>) -> Self

Interpolates between effects at given points of the window, like CSS keyframes. Before the first stop the first effect holds, after the last the last one does. No stops is no effect.

Source

pub fn fade_in() -> Self

Fades in and rises 24 pixels into place.

Source

pub fn fade_out() -> Self

Fades out and lifts 24 pixels away.

Source

pub fn parallax(distance: f32) -> Self

Moves distance pixels down over the window: a negative distance moves it up. Slower than the scroll, it reads as depth.

Source

pub fn grow_from(from: f32) -> Self

Grows from from to full size.

Source

pub fn range(self, range: ScrollRange) -> Self

Measures this range instead of the default ScrollRange::Scene.

Source

pub fn between(self, from: f32, to: f32) -> Self

Plays the whole effect inside this part of the range, 0.0..=1.0: before from it shows its start, after to its end. Scenes use it to give each step its turn.

Source

pub fn easing(self, easing: Easing) -> Self

Shapes the progress inside the window (linear by default).

Source

pub fn scroll_range(&self) -> ScrollRange

The range this link measures.

Source

pub fn effect_at(&self, progress: f32) -> Effect

The effect at progress along the range, from 0 to 1.

Trait Implementations§

Source§

fn clone(&self) -> ScrollLink

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more