CanvasPaint.js um einige Funktionen erweitern

Ich habe mich mal an CanvasPaint heran gewagt und versuche das nun etwas zu erweitern. Hierbei könnte ich bitte etwas Hilfe gut gebrauchen.

Mit dem Script kann man Pfeile, Kreise, Quadrate zeichnen und freihand malen.

Nun möchte ich gerne die letzten gezeichneten Objekte wieder rückgängig machen.

Wie mache ich das?

Hier ein Auszug meines Scriptes am Beispiel der Kreisfunktion:

<pre>
  tools.circ = function () {
    var tool = this;
    this.started = false;

    this.mousedown = function (ev) {
      tool.started = true;
      tool.x0 = ev._x;
      tool.y0 = ev._y;
    };

    this.mousemove = function (ev) {
      if (!tool.started) {
        return;
      }

      var dx = ev._x - tool.x0,
          dy = ev._y - tool.y0,
          rr = dx * dx + dy * dy,
          r = Math.sqrt(rr);

      context.clearRect(0, 0, canvas.width, canvas.height);

      context.strokeStyle = ‚#f00‘; // red

      context.beginPath();
      context.arc(tool.x0, tool.y0, r, 0, 2 * Math.PI, false);
      context.stroke();
      context.closePath();
      context.lineWidth=2;
    };

    this.mouseup = function (ev) {
      if (tool.started) {
        tool.mousemove(ev);
        tool.started = false;
        img_update();
      }
    };
  };
</pre>

Wie bekomme ich diesen Teil so erweitert, sodass ich die letzten Objekte wieder rückgängig machen kann?

Besten Dank im Voraus für jegliche Hilfe.

Liebe Grüße aus Köln

Ok Ok…habe es schon selbst gelöst.

Nun möchte ich aber die einzelnen Elemente wie z.B. Pfeile bewegen.
Wie geht das ?