0 | module Text.CSS.Cursor
 1 |
 2 | import Text.CSS.Class
 3 |
 4 | %default total
 5 |
 6 | --------------------------------------------------------------------------------
 7 | --          Cursor Types
 8 | --------------------------------------------------------------------------------
 9 |
10 | ||| All standard mouse cursors.
11 | |||
12 | ||| For using custom icons, use type `Url` linking to an
13 | ||| image and choose the offset for the mouse position.
14 | public export
15 | data Cursor : Type where
16 |   Alias       : Cursor
17 |   AllScroll   : Cursor
18 |   Auto        : Cursor
19 |   Cell        : Cursor
20 |   ColResize   : Cursor
21 |   ContextMenu : Cursor
22 |   Copy        : Cursor
23 |   Crosshair   : Cursor
24 |   Default     : Cursor
25 |   EResize     : Cursor
26 |   EwResize    : Cursor
27 |   Grab        : Cursor
28 |   Grabbing    : Cursor
29 |   Help        : Cursor
30 |   Move        : Cursor
31 |   NResize     : Cursor
32 |   NeResize    : Cursor
33 |   NeswResize  : Cursor
34 |   NsResize    : Cursor
35 |   NwResize    : Cursor
36 |   NwseResize  : Cursor
37 |   NoDrop      : Cursor
38 |   None        : Cursor
39 |   NotAllowed  : Cursor
40 |   Pointer     : Cursor
41 |   Progress    : Cursor
42 |   RowResize   : Cursor
43 |   SResize     : Cursor
44 |   SeResize    : Cursor
45 |   SwResize    : Cursor
46 |   Text        : Cursor
47 |   WResize     : Cursor
48 |   Wait        : Cursor
49 |   ZoomIn      : Cursor
50 |   ZoomOut     : Cursor
51 |   URL         : String -> (dx,dy : Double) -> Cursor
52 |   URL_        : String -> Cursor
53 |
54 | export
55 | Interpolation Cursor where
56 |   interpolate Alias         = "alias"
57 |   interpolate AllScroll     = "all-scroll"
58 |   interpolate Auto          = "auto"
59 |   interpolate Cell          = "cell"
60 |   interpolate ColResize     = "col-resize"
61 |   interpolate ContextMenu   = "context-menu"
62 |   interpolate Copy          = "copy"
63 |   interpolate Crosshair     = "crosshair"
64 |   interpolate Default       = "default"
65 |   interpolate EResize       = "e-resize"
66 |   interpolate EwResize      = "ew-resize"
67 |   interpolate Grab          = "grab"
68 |   interpolate Grabbing      = "grabbing"
69 |   interpolate Help          = "help"
70 |   interpolate Move          = "move"
71 |   interpolate NResize       = "n-resize"
72 |   interpolate NeResize      = "ne-resize"
73 |   interpolate NeswResize    = "nesw-resize"
74 |   interpolate NsResize      = "ns-resize"
75 |   interpolate NwResize      = "nw-resize"
76 |   interpolate NwseResize    = "nwse-resize"
77 |   interpolate NoDrop        = "no-drop"
78 |   interpolate None          = "none"
79 |   interpolate NotAllowed    = "not-allowed"
80 |   interpolate Pointer       = "pointer"
81 |   interpolate Progress      = "progress"
82 |   interpolate RowResize     = "row-resize"
83 |   interpolate SResize       = "s-resize"
84 |   interpolate SeResize      = "se-resize"
85 |   interpolate SwResize      = "sw-resize"
86 |   interpolate Text          = "text"
87 |   interpolate WResize       = "w-resize"
88 |   interpolate Wait          = "wait"
89 |   interpolate ZoomIn        = "zoom-in"
90 |   interpolate ZoomOut       = "zoom-out"
91 |   interpolate (URL_ u)      = "url(\{quote u})"
92 |   interpolate (URL u x y)   = "url(\{quote u}) \{show x} \{show y}"
93 |