on 104faf1 help sign in
55 lines 1.6 kB history raw
2module Graphics.Input where
4import Signal (lift)
5import Native.Graphics.Input as N
7id x = x
9buttons : a -> { button : a -> String -> Element, events : Signal a }
11button : String -> (Element, Signal ())
12button txt =
13 let pool = N.buttons ()
14 in (pool.button () txt, pool.events)
16customButtons : a -> { button : a -> Element -> Element -> Element -> Element,
17 events : Signal a }
19customButton : Element -> Element -> Element -> (Element, Signal ())
20customButton up hover down =
21 let pool = N.customButtons ()
22 in (pool.button () up hover down, pool.events)
24checkBoxes : a -> { box : (Bool -> a) -> Bool -> Element, events : Signal a }
26checkBox : Bool -> (Signal Element, Signal Bool)
27checkBox b =
28 let cbs = N.checkBoxes b
29 in (lift (cbs.box id) cbs.events, cbs.events)
31type TextState = {
32 input : String,
33 start : Int,
34 end : Int
35 }
37textFields : a -> { field : (TextState -> a) -> String -> TextState -> Element,
38 events : Signal a }
40text : String -> TextState -> (Signal Element, Signal TextState)
41text placeHolder textState =
42 let tfs = N.textFields textState
43 in (lift (tfs.field id placeHolder) tfs.events, tfs.events)
45password : String -> TextState -> (Signal Element, Signal TextState)
46password placeHolder textState =
47 let tfs = N.passwords textState
48 in (lift (tfs.field id placeHolder) tfs.events, tfs.events)
50email : String -> TextState -> (Signal Element, Signal TextState)
51email placeHolder textState =
52 let tfs = N.emails textState
53 in (lift (tfs.field id placeHolder) tfs.events, tfs.events)
55-- file?