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}