From e75ee18de16d21ecaeb44e1ce766573abd33eb2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrg=20Lehni?= <juerg@scratchdisk.com>
Date: Tue, 22 Jan 2013 14:58:34 -0800
Subject: [PATCH] Restructure code a bit.

---
 src/path/Path.js | 70 +++++++++++++++++++++++++-----------------------
 1 file changed, 37 insertions(+), 33 deletions(-)

diff --git a/src/path/Path.js b/src/path/Path.js
index 4f81fff9..d8a45b79 100644
--- a/src/path/Path.js
+++ b/src/path/Path.js
@@ -149,7 +149,7 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 		var curves = this._curves,
 			segments = this._segments;
 		if (!curves) {
-			var length = this._getCurveCount();
+			var length = this._countCurves();
 			curves = this._curves = new Array(length);
 			for (var i = 0; i < length; i++)
 				curves[i] = Curve.create(this, segments[i],
@@ -169,12 +169,6 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 		return curves;
 	},
 
-	_getCurveCount: function() {
-		var length = this._segments.length;
-		// Reduce length by one if it's an open path:
-		return !this._closed && length > 0 ? length - 1 : length;
-	},
-
 	/**
 	 * The first Curve contained within the path.
 	 *
@@ -223,7 +217,7 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 			this._closed = closed;
 			// Update _curves length
 			if (this._curves) {
-				var length = this._curves.length = this._getCurveCount();
+				var length = this._curves.length = this._countCurves();
 				// If we were closing this path, we need to add a new curve now
 				if (closed)
 					this._curves[length - 1] = Curve.create(this,
@@ -316,12 +310,12 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 		// already.
 		if (curves || segs._curves) {
 			if (!curves)
-				curves = this._curves  = [];
+				curves = this._curves = [];
 			// We need to step one index down from the inserted segment to
 			// get its curve, except for the first segment.
 			var from = index > 0 ? index - 1 : index,
 				start = from,
-				to = Math.min(from + amount, this._getCurveCount());
+				to = Math.min(from + amount, this._countCurves());
 			if (segs._curves) {
 				// Reuse removed curves.
 				curves.splice.apply(curves, [from, 0].concat(segs._curves));
@@ -338,6 +332,39 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 		return segs;
 	},
 
+	/**
+	 * Adjusts segments of curves before and after inserted / removed segments.
+	 */
+	_adjustCurves: function(from, to) {
+		var segments = this._segments,
+			curves = this._curves,
+			curve;
+		for (var i = from; i < to; i++) {
+			curve = curves[i];
+			curve._path = this;
+			curve._segment1 = segments[i];
+			curve._segment2 = segments[i + 1] || segments[0];
+		}
+		// If it's the first segment, correct the last segment of closed
+		// paths too:
+		if (curve = curves[this._closed && from === 0 ? segments.length - 1
+				: from - 1])
+			curve._segment2 = segments[from] || segments[0];
+		// Fix the segment after the modified range, if it exists
+		if (curve = curves[to])
+			curve._segment1 = segments[to];
+	},
+
+	/**
+	 * Returns the amount of curves this path item is supposed to have, based
+	 * on its amount of #segments and #closed state.
+	 */
+	_countCurves: function() {
+		var length = this._segments.length;
+		// Reduce length by one if it's an open path:
+		return !this._closed && length > 0 ? length - 1 : length;
+	},
+
 	// DOCS: find a way to document the variable segment parameters of Path#add
 	/**
 	 * Adds one or more segments to the end of the {@link #segments} array of
@@ -615,29 +642,6 @@ var Path = this.Path = PathItem.extend(/** @lends Path# */{
 		return removed;
 	},
 
-	/**
-	 * Adjusts segments of curves before and after inserted / removed segments.
-	 */
-	_adjustCurves: function(from, to) {
-		var segments = this._segments,
-			curves = this._curves,
-			curve;
-		for (var i = from; i < to; i++) {
-			curve = curves[i];
-			curve._path = this;
-			curve._segment1 = segments[i];
-			curve._segment2 = segments[i + 1] || segments[0];
-		}
-		// If it's the first segment, correct the last segment of closed
-		// paths too:
-		if (curve = curves[this._closed && from === 0 ? segments.length - 1
-				: from - 1])
-			curve._segment2 = segments[from] || segments[0];
-		// Fix the segment after the modified range, if it exists
-		if (curve = curves[to])
-			curve._segment1 = segments[to];
-	},
-
 	/**
 	 * Specifies whether an path is selected and will also return {@code true}
 	 * if the path is partially selected, i.e. one or more of its segments is