on master help sign in
Fix use of JS reserved word and get `outline` working.
82a5a65evancz
libraries/Graphics/LineStyle.elm+4−4
@@ -16,7 +16,7 @@ type LineStyle = {
16 dashOffset : Int
16 dashOffset : Int
17 }
17 }
18
18
19−default = {
19+basic = {
20 color = Color.black,
20 color = Color.black,
21 width = 1,
21 width = 1,
22 cap = Butt,
22 cap = Butt,
@@ -26,6 +26,6 @@ default = {
26 miterLimit = 10
26 miterLimit = 10
27 }
27 }
28
28
29−solid clr = { default | color <- clr }
29+solid clr = { basic | color <- clr }
30−dashed clr = { default | color <- clr, dashing <- [8,4] }
30+dashed clr = { basic | color <- clr, dashing <- [8,4] }
31−dotted clr = { default | color <- clr, dashing <- [3,3] }
31+dotted clr = { basic | color <- clr, dashing <- [3,3] }
runtime/Render/Collage.js+10−2
@@ -15,6 +15,10 @@ function trace(ctx, path) {
15 if (i <= 0) return;
15 if (i <= 0) return;
16 ctx.moveTo(points[i]._0, points[i]._1);
16 ctx.moveTo(points[i]._0, points[i]._1);
17 while (i--) { ctx.lineTo(points[i]._0, points[i]._1); }
17 while (i--) { ctx.lineTo(points[i]._0, points[i]._1); }
18+ if (path.closed) {
19+ i = points.length - 1;
20+ ctx.lineTo(points[i]._0, points[i]._1);
21+ }
18}
22}
19
23
20function line(ctx,style,path) {
24function line(ctx,style,path) {
@@ -118,8 +122,12 @@ function renderForm(redo,ctx,form) {
118 switch(f.ctor) {
122 switch(f.ctor) {
119 case 'FPath' : drawLine(ctx, f._0, f._1); break;
123 case 'FPath' : drawLine(ctx, f._0, f._1); break;
120 case 'FShape':
124 case 'FShape':
125+ if (f._0.ctor === 'Left') {
126+ f._1.closed = true;
121− if (form.form._0.ctor === 'Left') drawLine(ctx, f._0._0, f._1);
127+ drawLine(ctx, f._0._0, f._1);
128+ } else {
122− else drawShape(redo, ctx, f._0._0, f._1);
129+ drawShape(redo, ctx, f._0._0, f._1);
130+ }
123 break;
131 break;
124 case 'FImage': drawImage(redo, ctx, f); break;
132 case 'FImage': drawImage(redo, ctx, f); break;
125 case 'FGroup': renderForms(redo, ctx, f._0); break;
133 case 'FGroup': renderForms(redo, ctx, f._0); break;