pub struct Bezier {
ax: f64,
bx: f64,
cx: f64,
ay: f64,
by: f64,
cy: f64,
}
Expand description
A unit cubic Bézier curve, used for timing functions in CSS transitions and animations.
Fields§
§ax: f64
§bx: f64
§cx: f64
§ay: f64
§by: f64
§cy: f64
Implementations§
source§impl Bezier
impl Bezier
sourcepub fn calculate_bezier_output(
progress: f64,
epsilon: f64,
x1: f32,
y1: f32,
x2: f32,
y2: f32
) -> f64
pub fn calculate_bezier_output( progress: f64, epsilon: f64, x1: f32, y1: f32, x2: f32, y2: f32 ) -> f64
Calculate the output of a unit cubic Bézier curve from the two middle control points.
X coordinate is time, Y coordinate is function advancement. The nominal range for both is 0 to 1.
The start and end points are always (0, 0) and (1, 1) so that a transition or animation starts at 0% and ends at 100%.
fn new(x1: CSSFloat, y1: CSSFloat, x2: CSSFloat, y2: CSSFloat) -> Bezier
fn sample_curve_x(&self, t: f64) -> f64
fn sample_curve_y(&self, t: f64) -> f64
fn sample_curve_derivative_x(&self, t: f64) -> f64
fn solve_curve_x(&self, x: f64, epsilon: f64) -> f64
Auto Trait Implementations§
impl RefUnwindSafe for Bezier
impl Send for Bezier
impl Sync for Bezier
impl Unpin for Bezier
impl UnwindSafe for Bezier
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
Mutably borrows from an owned value. Read more
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>
Converts
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where F: FnOnce(&Self) -> bool,
Converts
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 moresource§impl<T> MaybeBoxed<Box<T, Global>> for T
impl<T> MaybeBoxed<Box<T, Global>> for T
source§fn maybe_boxed(self) -> Box<T, Global>
fn maybe_boxed(self) -> Box<T, Global>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert