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::{values as val, St, Style, ToStyle};

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

impl ToStyle for Cursor {
    fn to_style(&self) -> Style {
        Style::new().add(St::Cursor, self)
    }
}