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}