0 | module Rhone.Canvas.Style
3 | import Text.CSS.Color
9 | data Style : Type where
10 | Fill : Color -> Style
11 | Stroke : Color -> Style
12 | LineWidth : Double -> Style
13 | Font : String -> Style
14 | Direction : CanvasDirection -> Style
15 | TextAlign : CanvasTextAlign -> Style
16 | TextBaseline : CanvasTextBaseline -> Style
23 | apply : CanvasRenderingContext2D -> Style -> JSIO ()
24 | apply ctxt (Fill c) = fillStyle ctxt .= inject (interpolate c)
25 | apply ctxt (Stroke c) = strokeStyle ctxt .= inject (interpolate c)
26 | apply ctxt (LineWidth v) = lineWidth ctxt .= v
27 | apply ctxt (Font v) = font ctxt .= v
28 | apply ctxt (Direction v) = direction ctxt .= v
29 | apply ctxt (TextAlign v) = textAlign ctxt .= v
30 | apply ctxt (TextBaseline v) = textBaseline ctxt .= v