use super::circle::Circle;
use super::rectangle::Rectangle;
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum Shape<Num, Color> {
Circle(Circle<Num, Color>),
Rectangle(Rectangle<Num, Color>),
Background(Color),
}
impl<Num, Color> From<Circle<Num, Color>> for Shape<Num, Color> {
#[inline]
fn from(circle: Circle<Num, Color>) -> Shape<Num, Color> {
Shape::Circle(circle)
}
}
impl<Num, Color> From<Rectangle<Num, Color>> for Shape<Num, Color> {
#[inline]
fn from(rectangle: Rectangle<Num, Color>) -> Shape<Num, Color> {
Shape::Rectangle(rectangle)
}
}