@@ -80,20 +80,23 @@ function texture(redo, ctx, src) {
82function gradient(ctx, grad) {
82function gradient(ctx, grad) {
84− if (grad.ctor === 'Linear') {
85+ if (grad.ctor === 'Linear') {
85− var p1 = grad._1, p2 = grad._2;
86+ var p0 = grad._0, p1 = grad._1;
86− g = ctx.createLinearGradient(p1._0, p1._1, p2._0, p2._1);
87+ g = ctx.createLinearGradient(p0._0, -p0._1, p1._0, -p1._1);
88+ stops = fromList(grad._2);
88− var p1 = grad._1, p2 = grad._3;
90+ var p0 = grad._0, p2 = grad._2;
89− g = ctx.createRadialGradient(p1._0, p1._1, grad._2, p2._0, p2._1, grad._4);
91+ g = ctx.createRadialGradient(p0._0, -p0._1, grad._1, p2._0, -p2._1, grad._3);
92+ stops = fromList(grad._4);
91− var stops = fromList(grad._0);
92− for (var i = stops.length; i--; ) {
94+ var len = stops.length;
95+ for (var i = 0; i < len; ++i) {
93− var stop = stops[i];
96+ var stop = stops[i];
94− g.addColorStop(stop._0, extract(stop._1));
97+ g.addColorStop(stop._0, extract(stop._1));
96− return g;
99+ return g;
99function drawShape(redo, ctx, style, path) {
102function drawShape(redo, ctx, style, path) {