0 | module Web.Canvas.Style
 1 |
 2 | import Data.Linear.Token
 3 | import Text.CSS.Color
 4 | import Web.Canvas.Hints
 5 | import Web.Internal.HtmlPrim
 6 |
 7 | %default total
 8 |
 9 | parameters {auto ct : CanvasTextDrawingStyles}
10 |
11 |   export %inline
12 |   font : String -> IO1 ()
13 |   font s = ffi $ prim__setFont ct s
14 |
15 |   export %inline
16 |   direction : CanvasDirection -> IO1 ()
17 |   direction d = ffi $ prim__setDirection ct (toFFI d)
18 |
19 |   export %inline
20 |   textAlign : CanvasTextAlign -> IO1 ()
21 |   textAlign a = ffi $ prim__setTextAlign ct (toFFI a)
22 |
23 |   export %inline
24 |   textBaseline : CanvasTextBaseline -> IO1 ()
25 |   textBaseline b = ffi $ prim__setTextBaseline ct (toFFI b)
26 |
27 | parameters {auto cp : CanvasPathDrawingStyles}
28 |
29 |   export %inline
30 |   lineWidth : Double -> IO1 ()
31 |   lineWidth d = ffi $ prim__setLineWidth cp d
32 |
33 |   export %inline
34 |   lineDashOffset : Double -> IO1 ()
35 |   lineDashOffset d = ffi $ prim__setLineDashOffset cp d
36 |
37 | parameters {auto cf : CanvasFillStrokeStyles}
38 |
39 |   export %inline
40 |   fillStyle : Color -> IO1 ()
41 |   fillStyle c = ffi $ prim__setFillStyle cf (toUnion3 $ inject $ interpolate c)
42 |
43 |   export %inline
44 |   strokeStyle : Color -> IO1 ()
45 |   strokeStyle c = ffi $ prim__setStrokeStyle cf (toUnion3 $ inject $ interpolate c)
46 |