1#[derive(Clone, Debug, PartialEq, Eq)]
2pub enum CursorIcon {
3 Default,
4 Pointer,
5 Text,
6 EwResize,
7 NsResize,
8 NwseResize,
9 NeswResize,
10 Grab,
11 Grabbing,
12 Hidden,
17 Custom(std::sync::Arc<CustomCursorImage>),
18}
19
20#[derive(Clone, PartialEq, Eq)]
22pub struct CustomCursorImage {
23 pub rgba: std::sync::Arc<[u8]>,
25 pub size: [u16; 2],
27 pub hotspot: [u16; 2],
29}
30
31impl std::fmt::Debug for CustomCursorImage {
32 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
33 f.debug_struct("CustomCursorImage")
34 .field("size", &self.size)
35 .field("hotspot", &self.hotspot)
36 .field("rgba_len", &self.rgba.len())
37 .finish()
38 }
39}