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