Struct Path2D

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

A 2D path.

Implementations§

Source§

impl Path2D

Source

pub fn new(points: Vec<Point2D>) -> Path2D

Creates a new Path2D with the given points.

Source

pub fn from_anchors_and_handles( anchors_and_handles: &AnchorsAndHandles, ) -> Path2D

Creates a new Path2D given a AnchorsAndHandles object.

Source

pub fn copy(&self) -> Path2D

Clones the Path2D.

Source

pub fn repeat(&self, count: usize) -> Path2D

Repeats the Path2D a given number of times.

Source

pub fn points(&self) -> Vec<Point2D>

Returns the Point2Ds of the Path2D.

Source

pub fn set_points(&mut self, points: Vec<Point2D>)

Sets the Point2Ds of the Path2D.

Source

pub fn is_empty(&self) -> bool

Returns whether the Path2D is empty.

Source

pub fn closest_point(&self, point: &Point2D) -> Point2D

Returns the closest Point2D in the Path2D to a given Point2D.

Source

pub fn len(&self) -> usize

Returns the length of the Path2D.

Source

pub fn get(&self, index: usize) -> Point2D

Returns the Point2D at a given index.

Source

pub fn set(&mut self, index: usize, point: Point2D)

Sets the Point2D at the given index.

Source

pub fn push(&mut self, point: Point2D)

Appends a Point2D to the Path2D.

Source

pub fn pop(&mut self) -> Option<Point2D>

Removes the last Point2D from the Path2D.

Source

pub fn insert(&mut self, index: usize, point: Point2D)

Inserts a Point2D at a given index.

Source

pub fn remove(&mut self, index: usize) -> Point2D

Removes a Point2D at a given index.

Source

pub fn clear(&mut self)

Removes all Point2Ds from the Path2D.

Source

pub fn partial_bezier_path(&self, a: f32, b: f32) -> Path2D

Returns a new Path2D representing a bezier curve portion of the Path2D.

Source

pub fn fill(point: Point2D, count: usize) -> Path2D

Creates a new Path2D by filling the Path2D with a given Point2D a given number of times.

Source

pub fn reverse(&mut self)

Reverse the Path2D.

Source

pub fn set_slice(&mut self, start: usize, end: usize, path: Path2D)

Sets a slice of the Path2D.

Source

pub fn slice(&self, start: usize, end: usize) -> Path2D

Returns a slice of the Path2D

Source

pub fn cubic_bezier_tuples(&self) -> Vec<CubicBezierTuple>

Returns a CubicBezierTuple at a given index.

Source

pub fn push_bezier(&mut self, cubic_bezier: CubicBezierTuple)

Appends a CubicBezierTuple to the Path2D.

Source

pub fn length( &self, samples_per_cubic: Option<usize>, extra_length_per_cubic: Option<f32>, ) -> f32

Returns an approximation of the length of the path, based on sampling points along each cubic bezier curve in the path and an optional extra length to add to each approximation.

Source

pub fn first(&self) -> Point2D

Gets the first point of the Path2D.

Source

pub fn last(&self) -> Option<Point2D>

Gets the last point of the Path2D.

Source§

impl Path2D

Source

pub fn from_svg_path_data(data: &Path) -> Path2D

Creates a Path2D from SVG path data.

Source

pub fn transform(&self, matrix: &TransformationMatrix) -> Path2D

Transforms the path by a given CSS transformation matrix.

Trait Implementations§

Source§

impl Add<Path2D> for Point2D

Source§

type Output = Path2D

The resulting type after applying the + operator.
Source§

fn add(self, path: Path2D) -> Path2D

Performs the + operation. Read more
Source§

impl Add<Point2D> for Path2D

Source§

type Output = Path2D

The resulting type after applying the + operator.
Source§

fn add(self, point: Point2D) -> Path2D

Performs the + operation. Read more
Source§

impl Add for Path2D

Source§

type Output = Path2D

The resulting type after applying the + operator.
Source§

fn add(self, other: Path2D) -> Path2D

Performs the + operation. Read more
Source§

impl AddAssign<Point2D> for Path2D

Source§

fn add_assign(&mut self, point: Point2D)

Performs the += operation. Read more
Source§

impl AddAssign for Path2D

Source§

fn add_assign(&mut self, other: Path2D)

Performs the += operation. Read more
Source§

impl Clone for Path2D

Source§

fn clone(&self) -> Path2D

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Path2D

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Path2D

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Extend<Point2D> for Path2D

Source§

fn extend<T: IntoIterator<Item = Point2D>>(&mut self, iter: T)

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl From<Path2D> for JsValue

Source§

fn from(value: Path2D) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for Path2D

Source§

type Abi = u32

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: u32) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl Index<Range<usize>> for Path2D

Source§

type Output = [Point2D]

The returned type after indexing.
Source§

fn index(&self, range: Range<usize>) -> &[Point2D]

Performs the indexing (container[index]) operation. Read more
Source§

impl Index<RangeFrom<usize>> for Path2D

Source§

type Output = [Point2D]

The returned type after indexing.
Source§

fn index(&self, range: RangeFrom<usize>) -> &[Point2D]

Performs the indexing (container[index]) operation. Read more
Source§

impl Index<RangeFull> for Path2D

Source§

type Output = [Point2D]

The returned type after indexing.
Source§

fn index(&self, range: RangeFull) -> &[Point2D]

Performs the indexing (container[index]) operation. Read more
Source§

impl Index<RangeTo<usize>> for Path2D

Source§

type Output = [Point2D]

The returned type after indexing.
Source§

fn index(&self, range: RangeTo<usize>) -> &[Point2D]

Performs the indexing (container[index]) operation. Read more
Source§

impl Index<usize> for Path2D

Source§

type Output = Point2D

The returned type after indexing.
Source§

fn index(&self, index: usize) -> &Point2D

Performs the indexing (container[index]) operation. Read more
Source§

impl IntoIterator for Path2D

Source§

type Item = Point2D

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<Point2D>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl IntoWasmAbi for Path2D

Source§

type Abi = u32

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> u32

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl LongRefFromWasmAbi for Path2D

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRef<Path2D>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl Mul<Path2D> for Point2D

Source§

type Output = Path2D

The resulting type after applying the * operator.
Source§

fn mul(self, path: Path2D) -> Path2D

Performs the * operation. Read more
Source§

impl Mul<Path2D> for TransformationMatrix

Source§

type Output = Path2D

The resulting type after applying the * operator.
Source§

fn mul(self, path: Path2D) -> Path2D

Performs the * operation. Read more
Source§

impl Mul<Path2D> for f32

Source§

type Output = Path2D

The resulting type after applying the * operator.
Source§

fn mul(self, path: Path2D) -> Path2D

Performs the * operation. Read more
Source§

impl Mul<Point2D> for Path2D

Source§

type Output = Path2D

The resulting type after applying the * operator.
Source§

fn mul(self, point: Point2D) -> Path2D

Performs the * operation. Read more
Source§

impl Mul<f32> for Path2D

Source§

type Output = Path2D

The resulting type after applying the * operator.
Source§

fn mul(self, scalar: f32) -> Path2D

Performs the * operation. Read more
Source§

impl MulAssign<Point2D> for Path2D

Source§

fn mul_assign(&mut self, point: Point2D)

Performs the *= operation. Read more
Source§

impl MulAssign<f32> for Path2D

Source§

fn mul_assign(&mut self, scalar: f32)

Performs the *= operation. Read more
Source§

impl OptionFromWasmAbi for Path2D

Source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for Path2D

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl PartialEq for Path2D

Source§

fn eq(&self, other: &Path2D) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefFromWasmAbi for Path2D

Source§

type Abi = u32

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = RcRef<Path2D>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
Source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl RefMutFromWasmAbi for Path2D

Source§

type Abi = u32

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRefMut<Path2D>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl Sub<Path2D> for Point2D

Source§

type Output = Path2D

The resulting type after applying the - operator.
Source§

fn sub(self, path: Path2D) -> Path2D

Performs the - operation. Read more
Source§

impl Sub<Point2D> for Path2D

Source§

type Output = Path2D

The resulting type after applying the - operator.
Source§

fn sub(self, point: Point2D) -> Path2D

Performs the - operation. Read more
Source§

impl Sub for Path2D

Source§

type Output = Path2D

The resulting type after applying the - operator.
Source§

fn sub(self, other: Path2D) -> Path2D

Performs the - operation. Read more
Source§

impl SubAssign<Point2D> for Path2D

Source§

fn sub_assign(&mut self, point: Point2D)

Performs the -= operation. Read more
Source§

impl SubAssign for Path2D

Source§

fn sub_assign(&mut self, other: Path2D)

Performs the -= operation. Read more
Source§

impl TryFromJsValue for Path2D

Source§

type Error = JsValue

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

fn try_from_js_value(value: JsValue) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl VectorFromWasmAbi for Path2D

Source§

type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi

Source§

unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Path2D]>

Source§

impl VectorIntoJsValue for Path2D

Source§

impl VectorIntoWasmAbi for Path2D

Source§

type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi

Source§

fn vector_into_abi(vector: Box<[Path2D]>) -> Self::Abi

Source§

impl WasmDescribe for Path2D

Source§

impl WasmDescribeVector for Path2D

Source§

impl StructuralPartialEq for Path2D

Source§

impl SupportsConstructor for Path2D

Source§

impl SupportsInstanceProperty for Path2D

Source§

impl SupportsStaticProperty for Path2D

Auto Trait Implementations§

§

impl Freeze for Path2D

§

impl RefUnwindSafe for Path2D

§

impl !Send for Path2D

§

impl !Sync for Path2D

§

impl Unpin for Path2D

§

impl UnwindSafe for Path2D

Blanket Implementations§

Source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
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, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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
Source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> Filterable for T

Source§

fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>

Creates a filterable data provider with the given name for debugging. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromAngle<T> for T

Source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
Source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
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> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

fn into_angle(self) -> U

Performs a conversion into T.
Source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

impl<T> IntoEither for T

Source§

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 more
Source§

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 more
Source§

impl<T> IntoStimulus<T> for T

Source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
Source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. 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.
Source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
Source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.
Source§

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

Source§

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