Struct RoundedRect

Source
#[repr(C)]
pub struct RoundedRect { pub rect: Rectf, pub radius_x: f32, pub radius_y: f32, }
Expand description

Represents a rectangle with rounded corners described by ellipses that touch the internal edges of the rectangle at the tangent points.

Diagram visualizing the meaning of the structure components

Fields§

§rect: Rectf

The overall rectangle containing this rounded rectangle

§radius_x: f32

The x-radius of the ellipse nested in each corner.

§radius_y: f32

The y-radius of the ellipse nested in each corner.

Implementations§

Source§

impl RoundedRect

Source

pub fn new(rect: impl Into<Rectf>, rx: f32, ry: f32) -> RoundedRect

Constructs the rounded rectangle from its components

Source

pub fn corner_ellipse(&self, corner: RectCorner) -> Ellipse

Gets the ellipse that resides in the given corner of the rectangle

Source

pub fn contains_point(&self, point: impl Into<Point2f>) -> bool

Checks if the given point resides within the rounded rectangle, taking care to exclude the parts of the corners that are excluded from the ellipses.

Source

pub fn contains_point_crude(&self, point: impl Into<Point2f>) -> bool

Checks if the point resides within the rectangle without checking the corner cases of being inside the square rectangle but not inside the rounded corners. This function may be decently faster than contains_point.

Trait Implementations§

Source§

impl Clone for RoundedRect

Source§

fn clone(&self) -> RoundedRect

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 RoundedRect

Source§

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

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

impl Default for RoundedRect

Source§

fn default() -> RoundedRect

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

impl<'de> Deserialize<'de> for RoundedRect

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<R> From<(R, f32, f32)> for RoundedRect
where R: Into<Rectf>,

Source§

fn from((rect, rx, ry): (R, f32, f32)) -> RoundedRect

Converts to this type from the input type.
Source§

impl From<D2D1_ROUNDED_RECT> for RoundedRect

Source§

fn from(rect: D2D1_ROUNDED_RECT) -> RoundedRect

Converts to this type from the input type.
Source§

impl From<RoundedRect> for D2D1_ROUNDED_RECT

Source§

fn from(rect: RoundedRect) -> D2D1_ROUNDED_RECT

Converts to this type from the input type.
Source§

impl PartialEq for RoundedRect

Source§

fn eq(&self, other: &RoundedRect) -> 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 Serialize for RoundedRect

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for RoundedRect

Source§

impl StructuralPartialEq for RoundedRect

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,