diff --git a/examples/Scripts/BouncingBalls.html b/examples/Scripts/BouncingBalls.html index 2b5de007..afb5a36c 100644 --- a/examples/Scripts/BouncingBalls.html +++ b/examples/Scripts/BouncingBalls.html @@ -7,15 +7,13 @@
Click to add circles:
- + \ No newline at end of file diff --git a/examples/Scripts/roundRectangle.html b/examples/Scripts/roundRectangle.html index 584f861a..52f3900b 100644 --- a/examples/Scripts/roundRectangle.html +++ b/examples/Scripts/roundRectangle.html @@ -7,16 +7,18 @@ diff --git a/examples/Tools/Circles.html b/examples/Tools/Circles.html index d2271405..787cc4b7 100644 --- a/examples/Tools/Circles.html +++ b/examples/Tools/Circles.html @@ -16,17 +16,13 @@ var path; function onMouseDrag(event) { - if (path) path.remove(); // The radius is the distance between the position // where the user clicked and the current position // of the mouse. var radius = (event.downPoint - event.point).length; path = new Path.Circle(event.downPoint, radius); + path.removeOnDrag(); }; - - function onMouseUp(event) { - path = null; - } diff --git a/examples/Tools/Clouds.html b/examples/Tools/Clouds.html index a6a0f23d..875fce6f 100644 --- a/examples/Tools/Clouds.html +++ b/examples/Tools/Clouds.html @@ -7,19 +7,27 @@ diff --git a/examples/Tools/Worm Farm.html b/examples/Tools/Worm Farm.html index 223810ce..2413dc9e 100644 --- a/examples/Tools/Worm Farm.html +++ b/examples/Tools/Worm Farm.html @@ -12,13 +12,21 @@ var values = { minDistance: 10, + maxDistance: 30, varyThickness: true }; + // All newly created items will inherit the following styles: + document.currentStyle = { + fillColor: 'white', + strokeColor: 'black' + }; + ///////////////////////////////////////////////////////////////////// // Mouse handling tool.minDistance = values.minDistance; + tool.maxDistance = values.maxDistance; var worm; @@ -26,9 +34,8 @@ // and when a user drags the mouse we add points to it function onMouseDown(event) { worm = new Path(); - worm.fillColor = '#ffffff'; - worm.strokeColor = '#000000'; - worm.add(event.point); + worm.add(event.point, event.point); + worm.closed = true; } function onMouseDrag(event) { @@ -62,22 +69,18 @@ // add the top point to the end of the path worm.add(top); - // insert the bottom point in the beginning of the path - worm.insert(0, bottom); + // insert the bottom point after the first segment of the path + worm.insert(1, bottom); // make a new line path from top to bottom - var line = new Path.Line(top, bottom); - line.strokeColor = '#000000'; + new Path(top, bottom); + + // This is the point at the front of the worm: + worm.firstSegment.point = event.point; // smooth the segments of the path worm.smooth(); } - - function onMouseUp(event) { - worm.closed = true; - worm.add(event.point); - worm.smooth(); - } diff --git a/src/basic/Point.js b/src/basic/Point.js index a66525e1..f1148603 100644 --- a/src/basic/Point.js +++ b/src/basic/Point.js @@ -492,6 +492,8 @@ var Point = this.Point = Base.extend({ * @return The newly created point object */ min: function(point1, point2) { + point1 = Point.read(arguments, 0, 1); + point2 = Point.read(arguments, 1, 1); return Point.create( Math.min(point1.x, point2.x), Math.min(point1.y, point2.y) @@ -515,6 +517,8 @@ var Point = this.Point = Base.extend({ * @return The newly created point object */ max: function(point1, point2) { + point1 = Point.read(arguments, 0, 1); + point2 = Point.read(arguments, 1, 1); return Point.create( Math.max(point1.x, point2.x), Math.max(point1.y, point2.y)