nuit_core/compose/shape/primitive/
sector.rs1use crate::{Angle, Shape, ShapeNode};
2
3#[derive(Debug, Clone, PartialEq)]
5pub struct Sector {
6 start_angle: Angle,
7 end_angle: Angle,
8 inner_radius_fraction: f64,
9}
10
11impl Sector {
12 pub fn new(
13 start_angle: impl Into<Angle>,
14 end_angle: impl Into<Angle>,
15 inner_radius_fraction: impl Into<f64>,
16 ) -> Self {
17 Self {
18 start_angle: start_angle.into(),
19 end_angle: end_angle.into(),
20 inner_radius_fraction: inner_radius_fraction.into(),
21 }
22 }
23}
24
25impl Shape for Sector {
26 fn render(&self) -> ShapeNode {
27 ShapeNode::Sector {
28 start_angle: self.start_angle,
29 end_angle: self.end_angle,
30 inner_radius_fraction: self.inner_radius_fraction,
31 }
32 }
33}