@@ -7,6 +7,7 @@ import Graphics.Geometry
77import Native.Graphics.Matrix as Matrix
88import Native.Graphics.Collage as N
99import Graphics.Element
10+import Graphics.Color as Color
1011
1112type Form = {
1213 theta : Float,
@@ -21,6 +22,33 @@ data FillStyle
2122 | Texture String
2223 | Gradient Gradient
2324
25+data LineCap = Butt | Round | Square
26+data LineJoin = Smooth | Sharp | Clipped
27+
28+type LineStyle = {
29+ color : Color,
30+ width : Float,
31+ cap : LineCap,
32+ join : LineJoin,
33+ miterLimit : Float,
34+ dashing : [Int],
35+ dashOffset : Int
36+ }
37+
38+defaultLine = {
39+ color = Color.black,
40+ width = 1,
41+ cap = Butt,
42+ join = Sharp,
43+ dashing = [],
44+ dashOffset = 0,
45+ miterLimit = 10
46+ }
47+
48+solid clr = { basic | color <- clr }
49+dashed clr = { basic | color <- clr, dashing <- [8,4] }
50+dotted clr = { basic | color <- clr, dashing <- [3,3] }
51+
2452data BasicForm
2553 = FPath LineStyle Path
2654 | FShape (Either LineStyle FillStyle) Shape