@@ -10,6 +10,7 @@ var newElement = Utils.newElement, addTo = Utils.addTo,
11function trace(ctx, path) {
11function trace(ctx, path) {
12 var points = fromList(path);
12 var points = fromList(path);
13 var i = points.length - 1;
14 var i = points.length - 1;
14 if (i <= 0) return;
15 if (i <= 0) return;
15 ctx.moveTo(points[i]._0, points[i]._1);
16 ctx.moveTo(points[i]._0, points[i]._1);
@@ -88,6 +89,7 @@ function gradient(ctx, grad) {
90function drawShape(redo, ctx, style, path) {
91function drawShape(redo, ctx, style, path) {
92+ console.log(style, path);
91 trace(ctx, path);
93 trace(ctx, path);
92 var sty = style.ctor;
94 var sty = style.ctor;
93 ctx.fillStyle =
95 ctx.fillStyle =
@@ -110,6 +112,7 @@ function renderForm(redo,ctx,form) {
110 ctx.transform(m[0], m[3], m[1], m[4], m[2], m[5]);
112 ctx.transform(m[0], m[3], m[1], m[4], m[2], m[5]);
111 ctx.beginPath();
113 ctx.beginPath();
112 var f = form.form;
114 var f = form.form;
113 switch(f.ctor) {
116 switch(f.ctor) {
114 case 'FPath' : drawLine(ctx, f._0, f._1); break;
117 case 'FPath' : drawLine(ctx, f._0, f._1); break;
115 case 'FShape':
118 case 'FShape':
@@ -123,9 +126,10 @@ function renderForm(redo,ctx,form) {
125function renderForms(redo, ctx, forms) {
128function renderForms(redo, ctx, forms) {
126− forms = fromList(forms);
129+ var fs = fromList(forms);
127− for (var i = forms.length; i--; ) {
131+ for (var i = fs.length; i--; ) {
128− renderForm(redo,ctx,forms[i]);
132+ renderForm(redo,ctx,fs[i]);
@@ -138,10 +142,11 @@ function collageForms(w,h,forms) {
138 canvas.style.display = "block";
142 canvas.style.display = "block";
139 canvas.width = w;
143 canvas.width = w;
140 canvas.height = h;
144 canvas.height = h;
145+ function redo() { renderForms(this,ctx,forms); }
141 if (canvas.getContext) {
146 if (canvas.getContext) {
142 var ctx = canvas.getContext('2d');
147 var ctx = canvas.getContext('2d');
143− function redo() { renderForms(this,ctx,w,h,forms); }
148+ console.log(forms);
144− renderForms(redo,ctx,w,h,forms);
149+ renderForms(redo,ctx,forms);
145 return canvas;
150 return canvas;
147 canvas.innerHTML = "Your browser does not support canvas.";
152 canvas.innerHTML = "Your browser does not support canvas.";
@@ -162,6 +167,7 @@ function collageElement(w, h, m, elem) {
164function render(model) {
169function render(model) {
165 return collageForms(model.w, model.h, model.forms);
171 return collageForms(model.w, model.h, model.forms);