glam/swizzles/
dvec2_impl.rs1use crate::{DVec2, DVec3, DVec4, Vec2Swizzles, sealed::Sealed};
4
5impl Sealed for DVec2 {}
6
7impl Vec2Swizzles for DVec2 {
8 type Vec3 = DVec3;
9
10 type Vec4 = DVec4;
11
12 #[inline]
13 fn xx(self) -> Self {
14 Self {
15 x: self.x,
16 y: self.x,
17 }
18 }
19
20 #[inline]
21 fn yx(self) -> Self {
22 Self {
23 x: self.y,
24 y: self.x,
25 }
26 }
27
28 #[inline]
29 fn yy(self) -> Self {
30 Self {
31 x: self.y,
32 y: self.y,
33 }
34 }
35
36 #[inline]
37 fn xxx(self) -> DVec3 {
38 DVec3::new(self.x, self.x, self.x)
39 }
40
41 #[inline]
42 fn xxy(self) -> DVec3 {
43 DVec3::new(self.x, self.x, self.y)
44 }
45
46 #[inline]
47 fn xyx(self) -> DVec3 {
48 DVec3::new(self.x, self.y, self.x)
49 }
50
51 #[inline]
52 fn xyy(self) -> DVec3 {
53 DVec3::new(self.x, self.y, self.y)
54 }
55
56 #[inline]
57 fn yxx(self) -> DVec3 {
58 DVec3::new(self.y, self.x, self.x)
59 }
60
61 #[inline]
62 fn yxy(self) -> DVec3 {
63 DVec3::new(self.y, self.x, self.y)
64 }
65
66 #[inline]
67 fn yyx(self) -> DVec3 {
68 DVec3::new(self.y, self.y, self.x)
69 }
70
71 #[inline]
72 fn yyy(self) -> DVec3 {
73 DVec3::new(self.y, self.y, self.y)
74 }
75
76 #[inline]
77 fn xxxx(self) -> DVec4 {
78 DVec4::new(self.x, self.x, self.x, self.x)
79 }
80
81 #[inline]
82 fn xxxy(self) -> DVec4 {
83 DVec4::new(self.x, self.x, self.x, self.y)
84 }
85
86 #[inline]
87 fn xxyx(self) -> DVec4 {
88 DVec4::new(self.x, self.x, self.y, self.x)
89 }
90
91 #[inline]
92 fn xxyy(self) -> DVec4 {
93 DVec4::new(self.x, self.x, self.y, self.y)
94 }
95
96 #[inline]
97 fn xyxx(self) -> DVec4 {
98 DVec4::new(self.x, self.y, self.x, self.x)
99 }
100
101 #[inline]
102 fn xyxy(self) -> DVec4 {
103 DVec4::new(self.x, self.y, self.x, self.y)
104 }
105
106 #[inline]
107 fn xyyx(self) -> DVec4 {
108 DVec4::new(self.x, self.y, self.y, self.x)
109 }
110
111 #[inline]
112 fn xyyy(self) -> DVec4 {
113 DVec4::new(self.x, self.y, self.y, self.y)
114 }
115
116 #[inline]
117 fn yxxx(self) -> DVec4 {
118 DVec4::new(self.y, self.x, self.x, self.x)
119 }
120
121 #[inline]
122 fn yxxy(self) -> DVec4 {
123 DVec4::new(self.y, self.x, self.x, self.y)
124 }
125
126 #[inline]
127 fn yxyx(self) -> DVec4 {
128 DVec4::new(self.y, self.x, self.y, self.x)
129 }
130
131 #[inline]
132 fn yxyy(self) -> DVec4 {
133 DVec4::new(self.y, self.x, self.y, self.y)
134 }
135
136 #[inline]
137 fn yyxx(self) -> DVec4 {
138 DVec4::new(self.y, self.y, self.x, self.x)
139 }
140
141 #[inline]
142 fn yyxy(self) -> DVec4 {
143 DVec4::new(self.y, self.y, self.x, self.y)
144 }
145
146 #[inline]
147 fn yyyx(self) -> DVec4 {
148 DVec4::new(self.y, self.y, self.y, self.x)
149 }
150
151 #[inline]
152 fn yyyy(self) -> DVec4 {
153 DVec4::new(self.y, self.y, self.y, self.y)
154 }
155}