#[non_exhaustive]pub enum JoinStyle {
Bevel,
Miter {
angle_limit: f64,
},
Round {
max_segment_ratio: f64,
},
}Expand description
How the outline turns a corner.
Named in kernel vocabulary rather than re-exported from the backend so the choice stays a kernel contract if the backend is ever replaced.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Bevel
Cut the corner off with a straight segment. Bounded by construction.
Miter
Extend the offset edges until they meet, limited by angle_limit
radians: sharper corners than this fall back to a bevel.
The limit is required rather than defaulted because an unlimited miter on a near-degenerate corner produces an arbitrarily distant spike.
Round
Approximate a circular arc, with max_segment_ratio bounding segment
length over arc radius.
Trait Implementations§
impl Copy for JoinStyle
impl StructuralPartialEq for JoinStyle
Auto Trait Implementations§
impl Freeze for JoinStyle
impl RefUnwindSafe for JoinStyle
impl Send for JoinStyle
impl Sync for JoinStyle
impl Unpin for JoinStyle
impl UnwindSafe for JoinStyle
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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