1use euclid::UnknownUnit;
5
6impl From<euclid::Vector2D<f64, UnknownUnit>> for crate::Vec2 {
7 #[inline(always)]
8 fn from(value: euclid::Vector2D<f64, UnknownUnit>) -> Self {
9 Self::new(value.x, value.y)
10 }
11}
12
13impl From<crate::Vec2> for euclid::Vector2D<f64, UnknownUnit> {
14 #[inline(always)]
15 fn from(value: crate::Vec2) -> Self {
16 Self::new(value.x, value.y)
17 }
18}
19
20impl From<euclid::Point2D<f64, UnknownUnit>> for crate::Point {
21 #[inline(always)]
22 fn from(value: euclid::Point2D<f64, UnknownUnit>) -> Self {
23 Self::new(value.x, value.y)
24 }
25}
26
27impl From<crate::Point> for euclid::Point2D<f64, UnknownUnit> {
28 #[inline(always)]
29 fn from(value: crate::Point) -> Self {
30 Self::new(value.x, value.y)
31 }
32}
33
34impl From<euclid::Size2D<f64, UnknownUnit>> for crate::Size {
35 #[inline(always)]
36 fn from(value: euclid::Size2D<f64, UnknownUnit>) -> Self {
37 Self::new(value.width, value.height)
38 }
39}
40
41impl From<crate::Size> for euclid::Size2D<f64, UnknownUnit> {
42 #[inline(always)]
43 fn from(value: crate::Size) -> Self {
44 Self::new(value.width, value.height)
45 }
46}
47
48impl From<euclid::Rect<f64, UnknownUnit>> for crate::Rect {
49 #[inline]
50 fn from(value: euclid::Rect<f64, UnknownUnit>) -> Self {
51 Self::from_origin_size(value.origin, value.size)
52 }
53}
54
55impl From<crate::Rect> for euclid::Rect<f64, UnknownUnit> {
56 #[inline]
57 fn from(value: crate::Rect) -> Self {
58 Self::new(value.origin().into(), value.size().into())
59 }
60}
61
62impl From<euclid::Box2D<f64, UnknownUnit>> for crate::Rect {
63 #[inline]
64 fn from(value: euclid::Box2D<f64, UnknownUnit>) -> Self {
65 Self::from_points(value.min, value.max)
66 }
67}
68
69impl From<crate::Rect> for euclid::Box2D<f64, UnknownUnit> {
70 #[inline]
71 fn from(value: crate::Rect) -> Self {
72 Self::new(
73 euclid::Point2D::new(value.min_x(), value.min_y()),
74 euclid::Point2D::new(value.max_x(), value.max_y()),
75 )
76 }
77}
78
79impl From<euclid::Transform2D<f64, UnknownUnit, UnknownUnit>> for crate::Affine {
80 #[inline(always)]
81 fn from(t: euclid::Transform2D<f64, UnknownUnit, UnknownUnit>) -> Self {
82 Self::new(t.to_array())
83 }
84}
85
86impl From<crate::Affine> for euclid::Transform2D<f64, UnknownUnit, UnknownUnit> {
87 #[inline(always)]
88 fn from(a: crate::Affine) -> Self {
89 Self::from_array(a.as_coeffs())
90 }
91}