diff options
Diffstat (limited to '')
| -rw-r--r-- | native/src/renderer.rs | 25 | 
1 files changed, 24 insertions, 1 deletions
| diff --git a/native/src/renderer.rs b/native/src/renderer.rs index ef64ac36..5e776be6 100644 --- a/native/src/renderer.rs +++ b/native/src/renderer.rs @@ -50,7 +50,7 @@ pub struct Quad {      pub bounds: Rectangle,      /// The border radius of the [`Quad`]. -    pub border_radius: f32, +    pub border_radius: BorderRadius,      /// The border width of the [`Quad`].      pub border_width: f32, @@ -59,6 +59,29 @@ pub struct Quad {      pub border_color: Color,  } +/// The border radi for the corners of a graphics primitive in the order: +/// top-left, top-right, bottom-right, bottom-left. +#[derive(Debug, Clone, Copy, PartialEq, Default)] +pub struct BorderRadius([f32; 4]); + +impl From<f32> for BorderRadius { +    fn from(w: f32) -> Self { +        Self([w; 4]) +    } +} + +impl From<[f32; 4]> for BorderRadius { +    fn from(radi: [f32; 4]) -> Self { +        Self(radi) +    } +} + +impl From<BorderRadius> for [f32; 4] { +    fn from(radi: BorderRadius) -> Self { +        radi.0 +    } +} +  /// The styling attributes of a [`Renderer`].  #[derive(Debug, Clone, Copy, PartialEq)]  pub struct Style { | 
