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