code: function transformToString(xform) {
  	var m = xform.matrix,
  		text = '';
  	switch(xform.type) {
  		case 1: // MATRIX
  			text = 'matrix(' + [m.a, m.b, m.c, m.d, m.e, m.f].join(',') + ')';
  			break;
  		case 2: // TRANSLATE
  			text = 'translate(' + m.e + ',' + m.f + ')';
  			break;
  		case 3: // SCALE
  			if (m.a == m.d) {text = 'scale(' + m.a + ')';}
  			else {text = 'scale(' + m.a + ',' + m.d + ')';}
  			break;
  		case 4: // ROTATE
  			var cx = 0, cy = 0;
  			// this prevents divide by zero
  			if (xform.angle != 0) {
  				var K = 1 - m.a;
  				cy = ( K * m.f + m.b*m.e ) / ( K*K + m.b*m.b );
  				cx = ( m.e - m.b * cy ) / K;
  			}
  			text = 'rotate(' + xform.angle + ' ' + cx + ',' + cy + ')';
  			break;
  	}
  	return text;
  }
docs: Helper function.