makepad_platform/cursor.rs
1use {
2 crate::{
3 makepad_micro_serde::*,
4 makepad_live_tokenizer::{LiveErrorOrigin, live_error_origin},
5 makepad_live_compiler::{
6 LiveValue,
7 LiveTypeInfo,
8 LiveModuleId,
9 LiveType,
10 LiveId,
11 LiveNode,
12 LiveNodeSliceApi
13 },
14 makepad_derive_live::*,
15 live_traits::*,
16 cx::Cx,
17 }
18};
19
20#[derive(Clone, Copy, Debug, Hash, PartialEq, Live, LiveHook, SerBin, DeBin, SerJson, DeJson)]
21#[live_ignore]
22pub enum MouseCursor {
23 // don't show the cursor
24 Hidden,
25
26 // *
27 // * *
28 // * *
29 // * *
30 // * *
31 // * *
32 // *
33 #[pick] Default,
34
35 // |
36 // |
37 // ---+---
38 // |
39 // |
40 Crosshair,
41
42 // *
43 // *
44 // * * * *
45 // * * * * *
46 // * * *
47 // * * *
48 // * *
49 Hand,
50
51 // *
52 // * *
53 // * *
54 // * *
55 // * *
56 // * *
57 // *
58 Arrow,
59
60 // ^
61 // |
62 // <--+-->
63 // |
64 // v
65 Move,
66
67 // --+--
68 // |
69 // |
70 // __|__
71 Text,
72
73 // |******|
74 // \****/
75 // \**/
76 // /**\
77 // /****\
78 // |******|
79 Wait,
80
81 // *
82 // * *
83 // * *
84 // * *
85 // * *
86 // * * ?
87 // *
88 Help,
89
90
91 // _____
92 // / \ \
93 // | \ |
94 // \___\/
95 NotAllowed,
96
97 //
98 // * * * *
99 // * * * *
100 // * * * * *
101 // * * *
102 // * * *
103 // * *
104 Grab,
105
106 //
107 //
108 // * * * *
109 // * * * * *
110 // * * *
111 // * * *
112 // * *
113 Grabbing,
114
115 /*
116
117 // *
118 // * *
119 // * *
120 // * * |----|
121 // * * \--/
122 // * * /--\
123 // * |----|
124 Progress,
125
126 // *
127 // * *
128 // * *
129 // * *
130 // * * |----|
131 // * * |----|
132 // * |----|
133 ContextMenu,
134
135 // | |
136 // | |
137 // ---+ +---
138 // ---+ +---
139 // | |
140 // | |
141
142 Cell,
143 // | |
144 // |-----|
145 // | |
146 VerticalText,
147
148 // *
149 // * *
150 // * *
151 // * *
152 // * * | ^ |
153 // * * | / |
154 // *
155 Alias,
156
157 // *
158 // * *
159 // * *
160 // * *
161 // * *
162 // * * |+|
163 // *
164 Copy,
165
166 // *
167 // *
168 // * * * *
169 // * * * * * _____
170 // * * * / \ \
171 // * * * | \ |
172 // * * \___\/
173 NoDrop,
174
175 // ^
176 // < * >
177 // v
178 AllScroll,
179
180 // _____
181 // / | \
182 // | -+- |
183 // \__|__/
184 // |
185 // |
186 ZoomIn,
187
188 // _____
189 // / \
190 // | --- |
191 // \_____/
192 // |
193 // |
194 ZoomOut,
195 */
196
197
198 // ^
199 // |
200 NResize,
201
202 // ^
203 // /
204 NeResize,
205
206 // -->
207 EResize,
208
209 // \
210 // v
211 SeResize,
212
213 // |
214 // v
215 SResize,
216
217 // /
218 // v
219 SwResize,
220
221 // <--
222 WResize,
223
224 // ^
225 // \
226 NwResize,
227
228 // ^
229 // |
230 // v
231 NsResize,
232
233 // ^
234 // /
235 // v
236 NeswResize,
237
238 // <--->
239 EwResize,
240
241 // ^
242 // \
243 // v
244 NwseResize,
245
246 // ||
247 // <-||->
248 // ||
249 ColResize,
250
251 // ^
252 // |
253 // =====
254 // |
255 // v
256 RowResize,
257}
258
259impl Eq for MouseCursor {}
260impl Default for MouseCursor {
261 fn default() -> MouseCursor {
262 MouseCursor::Default
263 }
264}