1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
use crate::{css, Style, StyleUpdater};

#[derive(Clone, Debug, Copy, PartialEq, Eq, Display, From)]
pub enum Cursor {
    #[from]
    Alias(css::Alias),
    #[from]
    AllScroll(css::AllScroll),
    #[from]
    Auto(css::Auto),
    #[from]
    Cell(css::Cell),
    #[from]
    ContextMenu(css::ContextMenu),
    #[from]
    ColResize(css::ColResize),
    #[from]
    Copy(css::Copy),
    #[from]
    Crosshair(css::Crosshair),
    #[from]
    Default(css::Default),
    #[from]
    EResize(css::EResize),
    #[from]
    EwResize(css::EwResize),
    #[from]
    Grab(css::Grab),
    #[from]
    Grabbing(css::Grabbing),
    #[from]
    Help(css::Help),
    #[from]
    Move(css::Move),
    #[from]
    NResize(css::NResize),
    #[from]
    NeResize(css::NeResize),
    #[from]
    NeswResize(css::NeswResize),
    #[from]
    NsResize(css::NsResize),
    #[from]
    NwResize(css::NwResize),
    #[from]
    NwseResize(css::NwseResize),
    #[from]
    NoDrop(css::NoDrop),
    #[from]
    None(css::None),
    #[from]
    NotAllowed(css::NotAllowed),
    #[from]
    Pointer(css::Pointer),
    #[from]
    Progress(css::Progress),
    #[from]
    RowResize(css::RowResize),
    #[from]
    SResize(css::SResize),
    #[from]
    SeResize(css::SeResize),
    #[from]
    SwResize(css::SwResize),
    #[from]
    Text(css::Text),
    // TODO: Handle Url value
    // Url(Vec<String>),
    #[from]
    VerticalText(css::VerticalText),
    #[from]
    WResize(css::WResize),
    #[from]
    Wait(css::Wait),
    #[from]
    ZoomIn(css::ZoomIn),
    #[from]
    ZoomOut(css::ZoomOut),
    #[from]
    Initial(css::Initial),
    #[from]
    Inherit(css::Inherit),
}

impl StyleUpdater for Cursor {
    fn update_style(self, style: Style) -> Style {
        style.insert("cursor", self)
    }
}