mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-01-01 02:38:43 -05:00
Clean up white-spaces and line lengths.
This commit is contained in:
parent
15a7b7e245
commit
2b6dede883
22 changed files with 232 additions and 213 deletions
|
@ -450,7 +450,7 @@ var Matrix = Base.extend({
|
|||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Applies this matrix to the specified Canvas Context.
|
||||
*/
|
||||
|
|
|
@ -8,7 +8,7 @@ var Color = Base.extend({
|
|||
getAlpha: function() {
|
||||
return this._alpha;
|
||||
},
|
||||
|
||||
|
||||
setAlpha: function(alpha) {
|
||||
if (this._alpha == null || alpha == -1) this._alpha = -1;
|
||||
else if (this._alpha < 0) this._alpha = 0;
|
||||
|
@ -16,7 +16,7 @@ var Color = Base.extend({
|
|||
else this._alpha = alpha;
|
||||
this._cssString = null;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the color has an alpha value.
|
||||
*
|
||||
|
@ -25,11 +25,11 @@ var Color = Base.extend({
|
|||
hasAlpha: function() {
|
||||
return this._alpha != -1;
|
||||
},
|
||||
|
||||
|
||||
getCanvasStyle: function() {
|
||||
return this.cssString;
|
||||
},
|
||||
|
||||
|
||||
statics: {
|
||||
read: function(args, index, length) {
|
||||
var index = index || 0, length = length || args.length - index;
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
var Gradient = Base.extend({
|
||||
initialize: function() {
|
||||
this.stops = [new GradientStop('white', 0), new GradientStop('black', 1)];
|
||||
this.stops = [
|
||||
new GradientStop('white', 0),
|
||||
new GradientStop('black', 1)];
|
||||
this.type = 'linear';
|
||||
},
|
||||
|
||||
|
||||
getStops: function() {
|
||||
return this._stops;
|
||||
},
|
||||
|
||||
|
||||
setStops: function(stops) {
|
||||
if (stops.length < 2)
|
||||
throw new Error('Gradient stop list needs to contain at least two stops.');
|
||||
throw new Error(
|
||||
'Gradient stop list needs to contain at least two stops.');
|
||||
this._stops = stops;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -8,40 +8,41 @@ var GradientColor = Color.extend({
|
|||
if (hilite)
|
||||
this.hilite = hilite;
|
||||
},
|
||||
|
||||
|
||||
getOrigin: function() {
|
||||
return this._origin;
|
||||
},
|
||||
|
||||
|
||||
setOrigin: function() {
|
||||
this._origin = Point.read(arguments);
|
||||
if (this._destination)
|
||||
this._radius = this._destination.getDistance(this._origin);
|
||||
},
|
||||
|
||||
|
||||
getDestination: function() {
|
||||
return this._destination;
|
||||
},
|
||||
|
||||
|
||||
setDestination: function() {
|
||||
this._destination = Point.read(arguments);
|
||||
this._radius = this._destination.getDistance(this._origin);
|
||||
},
|
||||
|
||||
|
||||
getHilite: function() {
|
||||
return this._hilite;
|
||||
},
|
||||
|
||||
|
||||
setHilite: function() {
|
||||
var hilite = Point.read(arguments);
|
||||
var vector = hilite.subtract(this.origin);
|
||||
if (vector.length > this._radius) {
|
||||
this._hilite = this.origin.add(vector.normalize(this._radius - 0.1));
|
||||
this._hilite = this.origin.add(vector.normalize(
|
||||
this._radius - 0.1));
|
||||
} else {
|
||||
this._hilite = hilite;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
getCanvasStyle: function(ctx) {
|
||||
var gradient;
|
||||
if (this.gradient.type == 'linear') {
|
||||
|
|
|
@ -6,19 +6,19 @@ var GradientStop = Base.extend({
|
|||
this._color = Color.read([color]);
|
||||
this._rampPoint = rampPoint !== null ? rampPoint : 0;
|
||||
},
|
||||
|
||||
|
||||
getRampPoint: function() {
|
||||
return this._rampPoint;
|
||||
},
|
||||
|
||||
|
||||
setRampPoint: function(rampPoint) {
|
||||
this._rampPoint = rampPoint;
|
||||
},
|
||||
|
||||
|
||||
getColor: function() {
|
||||
return this._color;
|
||||
},
|
||||
|
||||
|
||||
setColor: function() {
|
||||
this._color = Color.read(arguments);
|
||||
}
|
||||
|
|
|
@ -21,19 +21,20 @@ var GrayColor = Color.extend({
|
|||
getComponents: function() {
|
||||
return [this._gray, this._alpha];
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* A value between 0 and 1 that specifies the amount of gray in the gray color.
|
||||
* A value between 0 and 1 that specifies the amount of gray in the gray
|
||||
* color.
|
||||
*/
|
||||
getGray: function() {
|
||||
return this._gray;
|
||||
},
|
||||
|
||||
|
||||
setGray: function(gray) {
|
||||
this._cssString = null;
|
||||
this._gray = gray;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the component color values of the GrayColor are the
|
||||
* same as those of the supplied one.
|
||||
|
@ -48,13 +49,13 @@ var GrayColor = Color.extend({
|
|||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
toString: function() {
|
||||
return '{ gray: ' + this.gray
|
||||
+ (this.alpha != -1 ? ', alpha: ' + this.alpha : '')
|
||||
+ ' }';
|
||||
},
|
||||
|
||||
|
||||
toCssString: function() {
|
||||
if (!this._cssString) {
|
||||
var component = Math.round((1 - this.gray) * 255) + ',';
|
||||
|
@ -67,7 +68,7 @@ var GrayColor = Color.extend({
|
|||
}
|
||||
}, new function() {
|
||||
var fields = { beans: true };
|
||||
|
||||
|
||||
// Using the standard NTSC conversion formula that is used for
|
||||
// calculating the effective luminance of an RGB color:
|
||||
// http://www.mathworks.com/support/solutions/en/data/1-1ASCU/index.html?solution=1-1ASCU
|
||||
|
|
|
@ -1,49 +1,52 @@
|
|||
var RGBColor = Color.extend(new function() {
|
||||
// TODO: convert hex codes to [r,g,b]?
|
||||
var namedColors = {
|
||||
lightpink: 'FFB6C1', pink: 'FFC0CB', crimson: 'DC143C',
|
||||
lavenderblush: 'FFF0F5', palevioletred: 'DB7093', hotpink: 'FF69B4',
|
||||
deeppink: 'FF1493', mediumvioletred: 'C71585', orchid: 'DA70D6',
|
||||
thistle: 'D8BFD8', plum: 'DDA0DD', violet: 'EE82EE', fuchsia: 'FF00FF',
|
||||
darkmagenta: '8B008B', purple: '800080', mediumorchid: 'BA55D3',
|
||||
darkviolet: '9400D3', darkorchid: '9932CC', indigo: '4B0082',
|
||||
blueviolet: '8A2BE2', mediumpurple: '9370DB', mediumslateblue: '7B68EE',
|
||||
slateblue: '6A5ACD', darkslateblue: '483D8B', ghostwhite: 'F8F8FF',
|
||||
lavender: 'E6E6FA', blue: '0000FF', mediumblue: '0000CD',
|
||||
darkblue: '00008B', navy: '000080', midnightblue: '191970',
|
||||
royalblue: '4169E1', cornflowerblue: '6495ED', lightsteelblue: 'B0C4DE',
|
||||
lightslategray: '778899', slategray: '708090', dodgerblue: '1E90FF',
|
||||
aliceblue: 'F0F8FF', steelblue: '4682B4', lightskyblue: '87CEFA',
|
||||
skyblue: '87CEEB', deepskyblue: '00BFFF', lightblue: 'ADD8E6',
|
||||
powderblue: 'B0E0E6', cadetblue: '5F9EA0', darkturquoise: '00CED1',
|
||||
azure: 'F0FFFF', lightcyan: 'E0FFFF', paleturquoise: 'AFEEEE',
|
||||
aqua: '00FFFF', darkcyan: '008B8B', teal: '008080', darkslategray: '2F4F4F',
|
||||
mediumturquoise: '48D1CC', lightseagreen: '20B2AA', turquoise: '40E0D0',
|
||||
aquamarine: '7FFFD4', mediumaquamarine: '66CDAA', mediumspringgreen: '00FA9A',
|
||||
mintcream: 'F5FFFA', springgreen: '00FF7F', mediumseagreen: '3CB371',
|
||||
seagreen: '2E8B57', honeydew: 'F0FFF0', darkseagreen: '8FBC8F',
|
||||
palegreen: '98FB98', lightgreen: '90EE90', limegreen: '32CD32',
|
||||
lime: '00FF00', forestgreen: '228B22', green: '008000', darkgreen: '006400',
|
||||
lawngreen: '7CFC00', chartreuse: '7FFF00', greenyellow: 'ADFF2F',
|
||||
darkolivegreen: '556B2F', yellowgreen: '9ACD32', olivedrab: '6B8E23',
|
||||
ivory: 'FFFFF0', beige: 'F5F5DC', lightyellow: 'FFFFE0',
|
||||
lightgoldenrodyellow: 'FAFAD2', yellow: 'FFFF00', olive: '808000',
|
||||
darkkhaki: 'BDB76B', palegoldenrod: 'EEE8AA', lemonchiffon: 'FFFACD',
|
||||
khaki: 'F0E68C', gold: 'FFD700', cornsilk: 'FFF8DC', goldenrod: 'DAA520',
|
||||
darkgoldenrod: 'B8860B', floralwhite: 'FFFAF0', oldlace: 'FDF5E6',
|
||||
wheat: 'F5DEB3', orange: 'FFA500', moccasin: 'FFE4B5', papayawhip: 'FFEFD5',
|
||||
blanchedalmond: 'FFEBCD', navajowhite: 'FFDEAD', antiquewhite: 'FAEBD7',
|
||||
tan: 'D2B48C', burlywood: 'DEB887', darkorange: 'FF8C00', bisque: 'FFE4C4',
|
||||
linen: 'FAF0E6', peru: 'CD853F', peachpuff: 'FFDAB9', sandybrown: 'F4A460',
|
||||
chocolate: 'D2691E', saddlebrown: '8B4513', seashell: 'FFF5EE',
|
||||
sienna: 'A0522D', lightsalmon: 'FFA07A', coral: 'FF7F50',
|
||||
orangered: 'FF4500', darksalmon: 'E9967A', tomato: 'FF6347',
|
||||
salmon: 'FA8072', mistyrose: 'FFE4E1', lightcoral: 'F08080', snow: 'FFFAFA',
|
||||
rosybrown: 'BC8F8F', indianred: 'CD5C5C', red: 'FF0000', brown: 'A52A2A',
|
||||
firebrick: 'B22222', darkred: '8B0000', maroon: '800000', white: 'FFFFFF',
|
||||
whitesmoke: 'F5F5F5', gainsboro: 'DCDCDC', lightgrey: 'D3D3D3',
|
||||
silver: 'C0C0C0', darkgray: 'A9A9A9', gray: '808080', dimgray: '696969',
|
||||
black: '000000'
|
||||
lightpink: 'ffb6c1', pink: 'ffc0cb', crimson: 'dc143c',
|
||||
lavenderblush: 'fff0f5', palevioletred: 'db7093', hotpink: 'ff69b4',
|
||||
deeppink: 'ff1493', mediumvioletred: 'c71585', orchid: 'da70d6',
|
||||
thistle: 'd8bfd8', plum: 'dda0dd', violet: 'ee82ee', fuchsia: 'ff00ff',
|
||||
darkmagenta: '8b008b', purple: '800080', mediumorchid: 'ba55d3',
|
||||
darkviolet: '9400d3', darkorchid: '9932cc', indigo: '4b0082',
|
||||
blueviolet: '8a2be2', mediumpurple: '9370db', mediumslateblue: '7b68ee',
|
||||
slateblue: '6a5acd', darkslateblue: '483d8b', ghostwhite: 'f8f8ff',
|
||||
lavender: 'e6e6fa', blue: '0000ff', mediumblue: '0000cd',
|
||||
darkblue: '00008b', navy: '000080', midnightblue: '191970',
|
||||
royalblue: '4169e1', cornflowerblue: '6495ed', lightsteelblue: 'b0c4de',
|
||||
lightslategray: '778899', slategray: '708090', dodgerblue: '1e90ff',
|
||||
aliceblue: 'f0f8ff', steelblue: '4682b4', lightskyblue: '87cefa',
|
||||
skyblue: '87ceeb', deepskyblue: '00bfff', lightblue: 'add8e6',
|
||||
powderblue: 'b0e0e6', cadetblue: '5f9ea0', darkturquoise: '00ced1',
|
||||
azure: 'f0ffff', lightcyan: 'e0ffff', paleturquoise: 'afeeee',
|
||||
aqua: '00ffff', darkcyan: '008b8b', teal: '008080',
|
||||
darkslategray: '2f4f4f', mediumturquoise: '48d1cc',
|
||||
lightseagreen: '20b2aa', turquoise: '40e0d0', aquamarine: '7fffd4',
|
||||
mediumaquamarine: '66cdaa', mediumspringgreen: '00fa9a',
|
||||
mintcream: 'f5fffa', springgreen: '00ff7f', mediumseagreen: '3cb371',
|
||||
seagreen: '2e8b57', honeydew: 'f0fff0', darkseagreen: '8fbc8f',
|
||||
palegreen: '98fb98', lightgreen: '90ee90', limegreen: '32cd32',
|
||||
lime: '00ff00', forestgreen: '228b22', green: '008000',
|
||||
darkgreen: '006400', lawngreen: '7cfc00', chartreuse: '7fff00',
|
||||
greenyellow: 'adff2f', darkolivegreen: '556b2f', yellowgreen: '9acd32',
|
||||
olivedrab: '6b8e23', ivory: 'fffff0', beige: 'f5f5dc',
|
||||
lightyellow: 'ffffe0', lightgoldenrodyellow: 'fafad2', yellow: 'ffff00',
|
||||
olive: '808000', darkkhaki: 'bdb76b', palegoldenrod: 'eee8aa',
|
||||
lemonchiffon: 'fffacd', khaki: 'f0e68c', gold: 'ffd700',
|
||||
cornsilk: 'fff8dc', goldenrod: 'daa520', darkgoldenrod: 'b8860b',
|
||||
floralwhite: 'fffaf0', oldlace: 'fdf5e6', wheat: 'f5deb3',
|
||||
orange: 'ffa500', moccasin: 'ffe4b5', papayawhip: 'ffefd5',
|
||||
blanchedalmond: 'ffebcd', navajowhite: 'ffdead', antiquewhite: 'faebd7',
|
||||
tan: 'd2b48c', burlywood: 'deb887', darkorange: 'ff8c00',
|
||||
bisque: 'ffe4c4', linen: 'faf0e6', peru: 'cd853f', peachpuff: 'ffdab9',
|
||||
sandybrown: 'f4a460', chocolate: 'd2691e', saddlebrown: '8b4513',
|
||||
seashell: 'fff5ee', sienna: 'a0522d', lightsalmon: 'ffa07a',
|
||||
coral: 'ff7f50', orangered: 'ff4500', darksalmon: 'e9967a',
|
||||
tomato: 'ff6347', salmon: 'fa8072', mistyrose: 'ffe4e1',
|
||||
lightcoral: 'f08080', snow: 'fffafa', rosybrown: 'bc8f8f',
|
||||
indianred: 'cd5c5c', red: 'ff0000', brown: 'a52a2a',
|
||||
firebrick: 'b22222', darkred: '8b0000', maroon: '800000',
|
||||
white: 'ffffff', whitesmoke: 'f5f5f5', gainsboro: 'dcdcdc',
|
||||
lightgrey: 'd3d3d3', silver: 'c0c0c0', darkgray: 'a9a9a9',
|
||||
gray: '808080', dimgray: '696969', black: '000000'
|
||||
};
|
||||
|
||||
function stringToComponents(string) {
|
||||
|
@ -51,7 +54,7 @@ var RGBColor = Color.extend(new function() {
|
|||
? hexToComponents(string)
|
||||
: namedToComponents(string);
|
||||
};
|
||||
|
||||
|
||||
function hexToComponents(string) {
|
||||
var hex = string.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
|
||||
if (hex.length >= 4) {
|
||||
|
@ -69,7 +72,7 @@ var RGBColor = Color.extend(new function() {
|
|||
throw new Error('The named color "' + name + '" does not exist.');
|
||||
return hex && hexToComponents(hex);
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
beans: true,
|
||||
|
||||
|
@ -113,7 +116,8 @@ var RGBColor = Color.extend(new function() {
|
|||
},
|
||||
|
||||
/**
|
||||
* A value between 0 and 1 that specifies the amount of red in the RGB color.
|
||||
* A value between 0 and 1 that specifies the amount of red in the RGB
|
||||
* color.
|
||||
*/
|
||||
getRed: function() {
|
||||
return this._red;
|
||||
|
@ -125,7 +129,8 @@ var RGBColor = Color.extend(new function() {
|
|||
},
|
||||
|
||||
/**
|
||||
* A value between 0 and 1 that specifies the amount of green in the RGB color.
|
||||
* A value between 0 and 1 that specifies the amount of green in the RGB
|
||||
* color.
|
||||
*/
|
||||
getGreen: function() {
|
||||
return this._green;
|
||||
|
@ -137,7 +142,8 @@ var RGBColor = Color.extend(new function() {
|
|||
},
|
||||
|
||||
/**
|
||||
* A value between 0 and 1 that specifies the amount of blue in the RGB color.
|
||||
* A value between 0 and 1 that specifies the amount of blue in the RGB
|
||||
* color.
|
||||
*/
|
||||
getBlue: function() {
|
||||
return this._blue;
|
||||
|
@ -147,7 +153,7 @@ var RGBColor = Color.extend(new function() {
|
|||
this._cssString = null;
|
||||
this._blue = blue;
|
||||
},
|
||||
|
||||
|
||||
getGray: function() {
|
||||
// Using the standard NTSC conversion formula that is used for
|
||||
// calculating the effective luminance of an RGB color:
|
||||
|
|
|
@ -8,12 +8,12 @@ var DocumentView = Base.extend({
|
|||
this._zoom = 1;
|
||||
this._center = this._bounds.center;
|
||||
},
|
||||
|
||||
|
||||
// TODO: test this.
|
||||
getCenter: function() {
|
||||
return this._center;
|
||||
},
|
||||
|
||||
|
||||
setCenter: function() {
|
||||
var center = Point.read(arguments);
|
||||
if (center) {
|
||||
|
@ -22,11 +22,11 @@ var DocumentView = Base.extend({
|
|||
this._center = center;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
getZoom: function() {
|
||||
return this._zoom;
|
||||
},
|
||||
|
||||
|
||||
setZoom: function(zoom) {
|
||||
// TODO: clamp the view between 1/32 and 64?
|
||||
var mx = new Matrix();
|
||||
|
@ -34,22 +34,22 @@ var DocumentView = Base.extend({
|
|||
this.transform(mx);
|
||||
this._zoom = zoom;
|
||||
},
|
||||
|
||||
|
||||
scrollBy: function() {
|
||||
var point = Point.read(arguments).negate();
|
||||
var mx = new Matrix().translate(point);
|
||||
this.transform(mx);
|
||||
},
|
||||
|
||||
|
||||
getBounds: function() {
|
||||
return this._bounds;
|
||||
},
|
||||
|
||||
|
||||
// TODO:
|
||||
// setBounds: function(rect) {
|
||||
//
|
||||
// },
|
||||
|
||||
|
||||
// TODO: getInvalidBounds
|
||||
// TODO: invalidate(rect)
|
||||
// TODO: style: artwork / preview / raster / opaque / ink
|
||||
|
@ -59,12 +59,12 @@ var DocumentView = Base.extend({
|
|||
artworkToView: function(point) {
|
||||
return this.matrix.transform(point);
|
||||
},
|
||||
|
||||
|
||||
viewToArtwork: function(point) {
|
||||
// TODO: cache the inverse matrix:
|
||||
return this.matrix.createInverse().transform(point);
|
||||
},
|
||||
|
||||
|
||||
// TODO: inherit this code somehow?
|
||||
transform: function(matrix, flags) {
|
||||
var width = this.document.bounds.width;
|
||||
|
|
|
@ -16,7 +16,7 @@ var Symbol = Base.extend({
|
|||
this._definition.removeFromParent();
|
||||
this._definition.position = new Point(0, 0);
|
||||
}
|
||||
|
||||
|
||||
// TODO:
|
||||
// remove()
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ var Group = Item.extend({
|
|||
}
|
||||
this.clipped = false;
|
||||
},
|
||||
|
||||
|
||||
getBounds: function() {
|
||||
if (this.children.length) {
|
||||
var rect = this.children[0].bounds;
|
||||
|
@ -28,7 +28,7 @@ var Group = Item.extend({
|
|||
}
|
||||
return new Rectangle(x1, y1, x2 - x1, y2 - y1);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Specifies whether the group item is to be clipped.
|
||||
* When setting to true, the first child in the group is automatically
|
||||
|
@ -45,7 +45,7 @@ var Group = Item.extend({
|
|||
isClipped: function() {
|
||||
return this._clipped;
|
||||
},
|
||||
|
||||
|
||||
setClipped: function(clipped) {
|
||||
this._clipped = clipped;
|
||||
var child = this.firstChild;
|
||||
|
|
|
@ -29,20 +29,20 @@ var Item = Base.extend({
|
|||
}
|
||||
return copy;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Clones the item within the same document.
|
||||
*
|
||||
* @return the newly cloned item
|
||||
*/
|
||||
|
||||
|
||||
clone: function() {
|
||||
return this.copyTo(this.parent);
|
||||
},
|
||||
|
||||
|
||||
// TODO: isSelected / setSelected
|
||||
// TODO: isFullySelected / setFullySelected
|
||||
|
||||
|
||||
/**
|
||||
* Specifies whether the item is locked.
|
||||
*
|
||||
|
@ -55,9 +55,9 @@ var Item = Base.extend({
|
|||
*
|
||||
* @return {@true if the item is locked}
|
||||
*/
|
||||
|
||||
|
||||
locked: false,
|
||||
|
||||
|
||||
/**
|
||||
* Specifies whether the item is visible.
|
||||
*
|
||||
|
@ -70,9 +70,9 @@ var Item = Base.extend({
|
|||
*
|
||||
* @return {@true if the item is visible}
|
||||
*/
|
||||
|
||||
|
||||
visible: true,
|
||||
|
||||
|
||||
/**
|
||||
* The opacity of the item.
|
||||
*
|
||||
|
@ -87,9 +87,9 @@ var Item = Base.extend({
|
|||
*
|
||||
* @return the opacity of the item as a value between 0 and 1.
|
||||
*/
|
||||
|
||||
|
||||
opacity: 1,
|
||||
|
||||
|
||||
/**
|
||||
* The blend mode of the item.
|
||||
*
|
||||
|
@ -103,7 +103,7 @@ var Item = Base.extend({
|
|||
* </code>
|
||||
*/
|
||||
blendMode: 'normal',
|
||||
|
||||
|
||||
/**
|
||||
* Specifies whether the item is hidden.
|
||||
*
|
||||
|
@ -118,15 +118,15 @@ var Item = Base.extend({
|
|||
*
|
||||
* @jshide
|
||||
*/
|
||||
|
||||
|
||||
isHidden: function() {
|
||||
return !this.visible;
|
||||
},
|
||||
|
||||
|
||||
setHidden: function(hidden) {
|
||||
this.setVisible(!hidden);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Specifies whether the item defines a clip mask. This can only be set on
|
||||
* paths, compound paths, and text frame objects, and only if the item is
|
||||
|
@ -145,7 +145,7 @@ var Item = Base.extend({
|
|||
isClipMask: function() {
|
||||
return this._clipMask;
|
||||
},
|
||||
|
||||
|
||||
setClipMask: function(clipMask) {
|
||||
this._clipMask = clipMask;
|
||||
if (this._clipMask) {
|
||||
|
@ -153,19 +153,19 @@ var Item = Base.extend({
|
|||
this.strokeColor = null;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// TODO: getIsolated / setIsolated (print specific feature)
|
||||
// TODO: get/setKnockout (print specific feature)
|
||||
// TODO get/setAlphaIsShape
|
||||
// TODO: get/setData
|
||||
|
||||
|
||||
/**
|
||||
* Reverses the order of this item's children
|
||||
*/
|
||||
reverseChildren: function() {
|
||||
this.children.reverse();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The first item contained within this item.
|
||||
*/
|
||||
|
@ -181,7 +181,7 @@ var Item = Base.extend({
|
|||
if (this.children.length > 0)
|
||||
return this.children[this.children.length - 1];
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The next item on the same level as this item.
|
||||
*/
|
||||
|
@ -199,7 +199,7 @@ var Item = Base.extend({
|
|||
getPreviousSibling: function() {
|
||||
if (this.parent) {
|
||||
var index = this.index - 1;
|
||||
if (index <= 0)
|
||||
if (index <= 0)
|
||||
return this.parent.children[index];
|
||||
}
|
||||
},
|
||||
|
@ -213,7 +213,7 @@ var Item = Base.extend({
|
|||
// We need linked lists instead.
|
||||
return this.parent.children.indexOf(this);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Removes the item from its parent's children list.
|
||||
*/
|
||||
|
@ -222,14 +222,14 @@ var Item = Base.extend({
|
|||
this.parent.children.splice(this.index, 1);
|
||||
this.parent = null;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Removes the item.
|
||||
*/
|
||||
*/
|
||||
remove: function() {
|
||||
this.removeFromParent();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* {@grouptitle Tests}
|
||||
*
|
||||
|
@ -240,7 +240,7 @@ var Item = Base.extend({
|
|||
hasChildren: function() {
|
||||
return this.children && this.children.length;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks whether the item is editable.
|
||||
*
|
||||
|
@ -256,7 +256,7 @@ var Item = Base.extend({
|
|||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks whether the item is valid, i.e. it hasn't been removed.
|
||||
*
|
||||
|
@ -271,7 +271,7 @@ var Item = Base.extend({
|
|||
* @return {@true if the item is valid}
|
||||
*/
|
||||
// TODO: isValid / checkValid
|
||||
|
||||
|
||||
/**
|
||||
* {@grouptitle Hierarchy Operations}
|
||||
*
|
||||
|
@ -295,7 +295,7 @@ var Item = Base.extend({
|
|||
item.parent = this;
|
||||
item.document = this.document;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Inserts the specified item as a child of this item by appending it to the
|
||||
* list of children and moving it below all other children. You can use this
|
||||
|
@ -317,7 +317,7 @@ var Item = Base.extend({
|
|||
item.parent = this;
|
||||
item.document = this.document;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* A link to {@link #appendTop}
|
||||
*
|
||||
|
@ -326,7 +326,7 @@ var Item = Base.extend({
|
|||
appendChild: function(item) {
|
||||
return this.appendTop(item);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Moves this item above the specified item.
|
||||
*
|
||||
|
@ -350,7 +350,7 @@ var Item = Base.extend({
|
|||
this.document = item.document;
|
||||
return true;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Moves the item below the specified item.
|
||||
*
|
||||
|
@ -374,7 +374,7 @@ var Item = Base.extend({
|
|||
this.document = item.document;
|
||||
return true;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* {@grouptitle Hierarchy Tests}
|
||||
*
|
||||
|
@ -392,7 +392,7 @@ var Item = Base.extend({
|
|||
* @return {@true if it is above the specified item}
|
||||
*/
|
||||
// TODO: isAbove
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the item is below the specified item in the stacking order of
|
||||
* the document.
|
||||
|
@ -408,16 +408,16 @@ var Item = Base.extend({
|
|||
* @return {@true if it is below the specified item}
|
||||
*/
|
||||
// TODO: isBelow
|
||||
|
||||
|
||||
// TODO: this is confusing the beans
|
||||
// isParent: function(item) {
|
||||
// return this.parent == item;
|
||||
// },
|
||||
|
||||
|
||||
isChild: function(item) {
|
||||
return item.parent == this;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the item is contained within the specified item.
|
||||
*
|
||||
|
@ -441,7 +441,7 @@ var Item = Base.extend({
|
|||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks if the item is an ancestor of the specified item.
|
||||
*
|
||||
|
@ -466,7 +466,7 @@ var Item = Base.extend({
|
|||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Checks whether the item is grouped with the specified item.
|
||||
*
|
||||
|
@ -487,7 +487,7 @@ var Item = Base.extend({
|
|||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
getBounds: function() {
|
||||
// TODO: Implement for items other than paths
|
||||
return new Rectangle();
|
||||
|
@ -515,7 +515,7 @@ var Item = Base.extend({
|
|||
// Now execute the transformation:
|
||||
this.transform(matrix);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The bounding rectangle of the item including stroke width.
|
||||
*/
|
||||
|
@ -525,7 +525,7 @@ var Item = Base.extend({
|
|||
* The bounding rectangle of the item including stroke width and controls.
|
||||
*/
|
||||
// TODO: getControlBounds
|
||||
|
||||
|
||||
/**
|
||||
* Rasterizes the item into a newly created Raster object. The item itself
|
||||
* is not removed after rasterization.
|
||||
|
@ -552,7 +552,7 @@ var Item = Base.extend({
|
|||
raster.scale(1 / scale);
|
||||
return raster;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The item's position within the art board. This is the
|
||||
* {@link Rectangle#getCenter()} of the {@link Item#getBounds()} rectangle.
|
||||
|
@ -684,7 +684,7 @@ var Item = Base.extend({
|
|||
}
|
||||
this.transform(new Matrix().shear(shx, shy, center || this.position));
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The path style of the item.
|
||||
*
|
||||
|
|
|
@ -11,7 +11,7 @@ var Layer = Group.extend({
|
|||
getIndex: function() {
|
||||
return !this.parent ? this.document.layers.indexOf(this) : this.base();
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Removes the layer from its document's layers list
|
||||
* or its parent's children list.
|
||||
|
@ -23,7 +23,7 @@ var Layer = Group.extend({
|
|||
this.base();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
moveAbove: function(item) {
|
||||
// if the item is a layer and contained within Document#layers
|
||||
if (item instanceof Layer && !item.parent) {
|
||||
|
@ -35,7 +35,7 @@ var Layer = Group.extend({
|
|||
this.base(item);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
moveBelow: function(item) {
|
||||
// if the item is a layer and contained within Document#layers
|
||||
if (item instanceof Layer && !item.parent) {
|
||||
|
@ -47,7 +47,7 @@ var Layer = Group.extend({
|
|||
this.base(item);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
getNextSibling: function() {
|
||||
if (!this.parent) {
|
||||
var index = this.index + 1;
|
||||
|
@ -57,7 +57,7 @@ var Layer = Group.extend({
|
|||
return this.base();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
getPreviousSibling: function() {
|
||||
if (!this.parent) {
|
||||
var index = this.index - 1;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
var PlacedSymbol = Item.extend({
|
||||
beans: true,
|
||||
|
||||
|
||||
initialize: function() {
|
||||
this.base();
|
||||
if (arguments[0] instanceof Symbol) {
|
||||
|
@ -23,7 +23,7 @@ var PlacedSymbol = Item.extend({
|
|||
// TODO: should size be cached here, or on Symbol?
|
||||
this._size = this._bounds.size;
|
||||
},
|
||||
|
||||
|
||||
_transform: function(matrix, flags) {
|
||||
var width = this._size.width;
|
||||
var height = this._size.height;
|
||||
|
@ -36,7 +36,7 @@ var PlacedSymbol = Item.extend({
|
|||
x, y + height];
|
||||
this.matrix.preConcatenate(matrix);
|
||||
this.matrix.transform(coords, 0, coords, 0, 4);
|
||||
|
||||
|
||||
var xMin = coords[0], xMax = coords[0];
|
||||
var yMin = coords[1], yMax = coords[1];
|
||||
for (var i = 2; i < 8; i += 2) {
|
||||
|
@ -53,7 +53,7 @@ var PlacedSymbol = Item.extend({
|
|||
bounds.width = xMax - xMin;
|
||||
bounds.height = yMax - yMin;
|
||||
},
|
||||
|
||||
|
||||
getBounds: function() {
|
||||
return this._bounds;
|
||||
},
|
||||
|
|
|
@ -27,7 +27,7 @@ var Raster = Item.extend({
|
|||
getSize: function() {
|
||||
return this._size;
|
||||
},
|
||||
|
||||
|
||||
setSize: function() {
|
||||
var size = Size.read(arguments);
|
||||
var canvas = CanvasProvider.getCanvas(size);
|
||||
|
@ -41,21 +41,21 @@ var Raster = Item.extend({
|
|||
this._context = null;
|
||||
this._canvas = canvas;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The width of the raster in pixels.
|
||||
*/
|
||||
getWidth: function() {
|
||||
return this._size.width;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The height of the raster in pixels.
|
||||
*/
|
||||
getHeight: function() {
|
||||
return this._size.height;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Pixels per inch of the raster at it's current size.
|
||||
*/
|
||||
|
@ -69,7 +69,7 @@ var Raster = Item.extend({
|
|||
72 / v.length
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
getSubImage: function(/* rectangle */) {
|
||||
var rectangle = Rectangle.read(arguments);
|
||||
var canvas = CanvasProvider.getCanvas(rectangle.size);
|
||||
|
@ -78,11 +78,11 @@ var Raster = Item.extend({
|
|||
canvas.width, canvas.height, 0, 0, canvas.width, canvas.height);
|
||||
return canvas;
|
||||
},
|
||||
|
||||
|
||||
getImage: function() {
|
||||
return this._image || this.canvas;
|
||||
},
|
||||
|
||||
|
||||
// TODO: setImage
|
||||
|
||||
// TODO: drawImage(image, point)
|
||||
|
@ -90,7 +90,7 @@ var Raster = Item.extend({
|
|||
var point = center = Point.read(arguments, 1);
|
||||
this.context.drawImage(image, x, y);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* {@grouptitle Pixels}
|
||||
*
|
||||
|
@ -107,7 +107,7 @@ var Raster = Item.extend({
|
|||
channels.push(pixels[i] / 255);
|
||||
return Color.read(channels);
|
||||
},
|
||||
|
||||
|
||||
// TODO: setPixel(point, color)
|
||||
setPixel: function(x, y, color) {
|
||||
color = Color.read(arguments, 2);
|
||||
|
@ -119,17 +119,17 @@ var Raster = Item.extend({
|
|||
imageData.data[3] = color.alpha != -1 ? color.alpha * 255 : 255;
|
||||
ctx.putImageData(imageData, x, y);
|
||||
},
|
||||
|
||||
|
||||
getContext: function() {
|
||||
if (!this._context)
|
||||
this._context = this.canvas.getContext('2d');
|
||||
return this._context;
|
||||
},
|
||||
|
||||
|
||||
setContext: function(context) {
|
||||
this._context = context;
|
||||
},
|
||||
|
||||
|
||||
getCanvas: function() {
|
||||
if (!this._canvas) {
|
||||
this._canvas = CanvasProvider.getCanvas(this.size);
|
||||
|
@ -138,7 +138,7 @@ var Raster = Item.extend({
|
|||
}
|
||||
return this._canvas;
|
||||
},
|
||||
|
||||
|
||||
setCanvas: function(canvas) {
|
||||
if (this._canvas)
|
||||
CanvasProvider.returnCanvas(this._canvas);
|
||||
|
@ -148,7 +148,7 @@ var Raster = Item.extend({
|
|||
this._ctx = null;
|
||||
this._canvas = canvas;
|
||||
},
|
||||
|
||||
|
||||
_transform: function(matrix, flags) {
|
||||
// In order to set the right context transformation when drawing the
|
||||
// raster, simply preconcatenate the internal matrix with the provided
|
||||
|
@ -158,7 +158,7 @@ var Raster = Item.extend({
|
|||
// extremas that define our raster's bounds, and update them straight
|
||||
// away
|
||||
var width = this._size.width,
|
||||
height = this._size.height,
|
||||
height = this._size.height,
|
||||
x = -width / 2,
|
||||
y = -height / 2,
|
||||
coords = [
|
||||
|
@ -180,7 +180,7 @@ var Raster = Item.extend({
|
|||
}
|
||||
this._bounds.set(min[0], min[1], max[0] - min[0], max[1] - min[1]);
|
||||
},
|
||||
|
||||
|
||||
getBounds: function() {
|
||||
return this._bounds;
|
||||
},
|
||||
|
@ -208,7 +208,7 @@ var Raster = Item.extend({
|
|||
channels[i] /= total;
|
||||
return total ? Color.read(channels) : null;
|
||||
}
|
||||
|
||||
|
||||
return {
|
||||
/**
|
||||
* {@grouptitle Average Color}
|
||||
|
@ -236,7 +236,7 @@ var Raster = Item.extend({
|
|||
bounds = new Rectangle(object.x - 0.5, object.y - 0.5,
|
||||
1, 1);
|
||||
}
|
||||
|
||||
|
||||
var canvas = CanvasProvider.getCanvas(bounds.size);
|
||||
var ctx = canvas.getContext('2d');
|
||||
var delta = bounds.topLeft.multiply(-1);
|
||||
|
|
|
@ -8,7 +8,7 @@ var CompoundPath = PathItem.extend({
|
|||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// TODO: have getBounds of Group / Layer / CompoundPath use the same
|
||||
// code (from a utility script?)
|
||||
getBounds: function() {
|
||||
|
@ -28,7 +28,7 @@ var CompoundPath = PathItem.extend({
|
|||
}
|
||||
return new Rectangle(x1, y1, x2 - x1, y2 - y1);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* If this is a compound path with only one path inside,
|
||||
* the path is moved outside and the compound path is erased.
|
||||
|
@ -45,7 +45,7 @@ var CompoundPath = PathItem.extend({
|
|||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
smooth: function() {
|
||||
for (var i = 0, l = this.children.length; i < l; i++) {
|
||||
this.children[i].smooth();
|
||||
|
|
|
@ -7,7 +7,7 @@ Path.inject({ statics: new function() {
|
|||
new Segment([1, 0.5], [0, -kappa], [0, kappa ]),
|
||||
new Segment([0.5, 1], [kappa, 0 ], [-kappa, 0])
|
||||
];
|
||||
|
||||
|
||||
return {
|
||||
Line: function() {
|
||||
var path = new Path();
|
||||
|
@ -103,7 +103,7 @@ Path.inject({ statics: new function() {
|
|||
path.arcTo(through, to);
|
||||
return path;
|
||||
},
|
||||
|
||||
|
||||
RegularPolygon: function(center, numSides, radius) {
|
||||
center = new Point(center);
|
||||
var path = new Path();
|
||||
|
|
|
@ -166,7 +166,7 @@ var Path = PathItem.extend({
|
|||
if (segment)
|
||||
this._add(segment);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Adds a cubic bezier curve to the path, defined by two handles and a to
|
||||
* point.
|
||||
|
@ -183,7 +183,7 @@ var Path = PathItem.extend({
|
|||
new Segment(to, handle2.subtract(to), new Point())
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Adds a quadratic bezier curve to the path, defined by a handle and a to
|
||||
* point.
|
||||
|
@ -203,7 +203,7 @@ var Path = PathItem.extend({
|
|||
to
|
||||
);
|
||||
},
|
||||
|
||||
|
||||
curveTo: function(through, to, parameter) {
|
||||
through = new Point(through);
|
||||
to = new Point(to);
|
||||
|
@ -223,7 +223,7 @@ var Path = PathItem.extend({
|
|||
+ parameter);
|
||||
this.quadraticCurveTo(handle, to);
|
||||
},
|
||||
|
||||
|
||||
arcTo: function(to, clockwise) {
|
||||
var through, to;
|
||||
// Get the start point:
|
||||
|
@ -240,7 +240,7 @@ var Path = PathItem.extend({
|
|||
? middle.subtract(-step.y, step.x)
|
||||
: middle.add(-step.y, step.x);
|
||||
}
|
||||
|
||||
|
||||
var x1 = current.point.x, x2 = through.x, x3 = to.x;
|
||||
var y1 = current.point.y, y2 = through.y, y3 = to.y;
|
||||
|
||||
|
@ -312,7 +312,7 @@ var Path = PathItem.extend({
|
|||
angle += inc;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
lineBy: function() {
|
||||
var vector = Point.read(arguments);
|
||||
if (vector) {
|
||||
|
@ -320,7 +320,7 @@ var Path = PathItem.extend({
|
|||
this.lineTo(current.point.add(vector));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
curveBy: function(throughVector, toVector, parameter) {
|
||||
throughVector = Point.read(throughVector);
|
||||
toVector = Point.read(toVector);
|
||||
|
@ -328,7 +328,7 @@ var Path = PathItem.extend({
|
|||
this.curveTo(current.add(throughVector), current.add(toVector),
|
||||
parameter);
|
||||
},
|
||||
|
||||
|
||||
arcBy: function(throughVector, toVector) {
|
||||
throughVector = Point.read(throughVector);
|
||||
toVector = Point.read(toVector);
|
||||
|
|
|
@ -33,20 +33,20 @@ var Segment = Base.extend({
|
|||
if (!this.handleOut)
|
||||
this.handleOut = new Point();
|
||||
},
|
||||
|
||||
|
||||
getPoint: function() {
|
||||
return this.point;
|
||||
},
|
||||
|
||||
|
||||
setPoint: function() {
|
||||
var point = Point.read(arguments);
|
||||
this.point = point;
|
||||
},
|
||||
|
||||
|
||||
getHandleIn: function() {
|
||||
return this.handleIn;
|
||||
},
|
||||
|
||||
|
||||
setHandleIn: function() {
|
||||
var point = Point.read(arguments);
|
||||
this.handleIn = point;
|
||||
|
@ -55,13 +55,13 @@ var Segment = Base.extend({
|
|||
getHandleOut: function() {
|
||||
return this.handleOut;
|
||||
},
|
||||
|
||||
|
||||
setHandleOut: function() {
|
||||
var point = Point.read(arguments);
|
||||
this.handleOut = point;
|
||||
this.corner = !handleIn.isParallel(handleOut);
|
||||
},
|
||||
|
||||
|
||||
getIndex: function() {
|
||||
// TODO: Cache and update indices instead of searching?
|
||||
return this.path._segments.indexOf(this);
|
||||
|
@ -70,7 +70,7 @@ var Segment = Base.extend({
|
|||
getPath: function() {
|
||||
return this._path;
|
||||
},
|
||||
|
||||
|
||||
// TODO:
|
||||
// getCurve: function() {
|
||||
// if (this._segments && this._segments.path) {
|
||||
|
@ -80,46 +80,46 @@ var Segment = Base.extend({
|
|||
// return index < curves.length ? curves[index] : null;
|
||||
// }
|
||||
// },
|
||||
|
||||
|
||||
getNext: function() {
|
||||
var index = this.index;
|
||||
return this.path && index < this.path._segments.length - 1
|
||||
? this.path._segments[index + 1] : null;
|
||||
},
|
||||
|
||||
|
||||
getPrevious: function() {
|
||||
return this.path != null && index > 0
|
||||
? this.path._segments[this.index - 1] : null;
|
||||
},
|
||||
|
||||
|
||||
// TODO:
|
||||
// isSelected: function() {
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
// setSelected: function(pt, selected)
|
||||
|
||||
|
||||
reverse: function() {
|
||||
return new Segment(this.point, this.handleOut, this.handleIn);
|
||||
},
|
||||
|
||||
|
||||
clone: function() {
|
||||
return new Segment(this);
|
||||
},
|
||||
|
||||
|
||||
remove: function() {
|
||||
if (this.path && this.path._segments)
|
||||
return this.path._segments.splice(this.index, 1);
|
||||
return false;
|
||||
},
|
||||
|
||||
|
||||
toString: function() {
|
||||
return '{ point: ' + this.point
|
||||
+ (this.handleIn ? ', handleIn '+ this.handleIn : '')
|
||||
+ (this.handleOut ? ', handleOut ' + this.handleOut : '')
|
||||
+ ' }';
|
||||
},
|
||||
|
||||
|
||||
statics: {
|
||||
read: function(args, index, length) {
|
||||
var index = index || 0, length = length || args.length - index;
|
||||
|
|
|
@ -4,7 +4,7 @@ var Tool = ToolHandler.extend(new function() {
|
|||
// TODO: always the active view?
|
||||
return document.activeView.viewToArtwork(point);
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
beans: true,
|
||||
|
||||
|
@ -27,7 +27,8 @@ var Tool = ToolHandler.extend(new function() {
|
|||
if (that.onMouseDown)
|
||||
that._document.redraw();
|
||||
if (that.eventInterval != -1)
|
||||
this.intervalId = setInterval(events.drag, that.eventInterval);
|
||||
this.intervalId = setInterval(events.drag,
|
||||
that.eventInterval);
|
||||
dragging = true;
|
||||
},
|
||||
drag: function(e) {
|
||||
|
@ -62,9 +63,9 @@ var Tool = ToolHandler.extend(new function() {
|
|||
|
||||
/**
|
||||
* The fixed time delay between each call to the {@link #onMouseDrag}
|
||||
* event. Setting this to an interval means the {@link #onMouseDrag} event
|
||||
* is called repeatedly after the initial {@link #onMouseDown} until the
|
||||
* user releases the mouse.
|
||||
* event. Setting this to an interval means the {@link #onMouseDrag}
|
||||
* event is called repeatedly after the initial {@link #onMouseDown}
|
||||
* until the user releases the mouse.
|
||||
*
|
||||
* Sample code:
|
||||
* <code>
|
||||
|
|
|
@ -12,8 +12,7 @@ var ToolHandler = Base.extend({
|
|||
this[i] = handlers[i];
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* The minimum distance the mouse has to drag before firing the onMouseDrag
|
||||
* event, since the last onMouseDrag event.
|
||||
|
@ -48,7 +47,8 @@ var ToolHandler = Base.extend({
|
|||
},
|
||||
|
||||
getFixedDistance: function() {
|
||||
if (this._minDistance != null && this._minDistance.equals(this._maxDistance))
|
||||
if (this._minDistance != null
|
||||
&& this._minDistance.equals(this._maxDistance))
|
||||
return this._minDistance;
|
||||
return null;
|
||||
},
|
||||
|
@ -121,7 +121,8 @@ var ToolHandler = Base.extend({
|
|||
// would produce weird results. matchMaxDistance controls this.
|
||||
this.matchMaxDistance = false;
|
||||
while (this.updateEvent(type, pt, this.minDistance,
|
||||
this.maxDistance, false, this.needsChange, this.matchMaxDistance)) {
|
||||
this.maxDistance, false, this.needsChange,
|
||||
this.matchMaxDistance)) {
|
||||
if (this.onMouseDrag)
|
||||
this.onMouseDrag(new ToolEvent(this, type, modifiers));
|
||||
this.needsChange = true;
|
||||
|
@ -131,8 +132,9 @@ var ToolHandler = Base.extend({
|
|||
case 'MOUSE_UP':
|
||||
// If the last mouse drag happened in a different place, call
|
||||
// mouse drag first, then mouse up.
|
||||
if ((this.point.x != pt.x || this.point.y != pt.y) && this.updateEvent(
|
||||
'MOUSE_DRAG', pt, this.minDistance, this.maxDistance, false, false, false)) {
|
||||
if ((this.point.x != pt.x || this.point.y != pt.y)
|
||||
&& this.updateEvent('MOUSE_DRAG', pt, this.minDistance,
|
||||
this.maxDistance, false, false, false)) {
|
||||
if (this.onMouseDrag)
|
||||
this.onMouseDrag(new ToolEvent(this, type, modifiers));
|
||||
}
|
||||
|
|
|
@ -4,8 +4,8 @@ var MathUtils = {
|
|||
MANT_DIGITS: 53,
|
||||
EPSILON: Math.pow(2, -52),
|
||||
|
||||
// Compute a numerical approximation to an integral via adaptive Simpson's Rule
|
||||
// This routine ignores underflow.
|
||||
// Compute a numerical approximation to an integral via adaptive Simpson's
|
||||
// Rule This routine ignores underflow.
|
||||
|
||||
// Returns approximate value of the integral if successful.
|
||||
// f: Pointer to function to be integrated.
|
||||
|
@ -53,10 +53,11 @@ var MathUtils = {
|
|||
|
||||
if (index >= table.length)
|
||||
success = false;
|
||||
if (!success || (Math.abs(diff) <= accuracy * Math.abs(area) && da <= dxmax)) {
|
||||
if (!success || (Math.abs(diff) <= accuracy * Math.abs(area)
|
||||
&& da <= dxmax)) {
|
||||
// Accept approximate integral.
|
||||
// If it was a right interval, add results to finish at this level.
|
||||
// If it was a left interval, process right interval.
|
||||
// If it was a right interval, add results to finish at this
|
||||
// level. If it was a left interval, process right interval.
|
||||
for (;;) {
|
||||
if (!p.left) { // process right-half interval
|
||||
alpha += da;
|
||||
|
@ -76,7 +77,8 @@ var MathUtils = {
|
|||
}
|
||||
|
||||
} else {
|
||||
// Raise level and store information for processing right-half interval.
|
||||
// Raise level and store information for processing right-half
|
||||
// interval.
|
||||
p = table[++index] = {
|
||||
left: false,
|
||||
f1t: fv2,
|
||||
|
@ -145,7 +147,8 @@ var MathUtils = {
|
|||
diff = est - sum;
|
||||
area = parea + sum;
|
||||
var b2 = alpha + da;
|
||||
if (Math.abs(Math.abs(integral - area) - Math.abs(pdiff)) + Math.abs(diff) <= fv4 * accuracy * (b2 - a)) {
|
||||
if (Math.abs(Math.abs(integral - area) - Math.abs(pdiff))
|
||||
+ Math.abs(diff) <= fv4 * accuracy * (b2 - a)) {
|
||||
return { b: b2, area: area };
|
||||
}
|
||||
if (Math.abs(integral - area) > Math.abs(pdiff + diff)) {
|
||||
|
@ -155,10 +158,12 @@ var MathUtils = {
|
|||
p.left = true;
|
||||
p.psum = parea;
|
||||
} else {
|
||||
if ((Math.abs(diff) <= fv4 * accuracy * da || dx <= dxmin) && da <= dxmax) {
|
||||
if ((Math.abs(diff) <= fv4 * accuracy * da
|
||||
|| dx <= dxmin) && da <= dxmax) {
|
||||
// Accept approximate integral sum.
|
||||
// If it was a right interval, add results to finish at this level.
|
||||
// If it was a left interval, process right interval.
|
||||
// If it was a right interval, add results to finish
|
||||
// at this level. If it was a left interval, process
|
||||
// right interval.
|
||||
pdiff += diff;
|
||||
for (;;) {
|
||||
if (!p.left) { // process right-half interval
|
||||
|
@ -193,7 +198,8 @@ var MathUtils = {
|
|||
}
|
||||
if (index >= table.length)
|
||||
return null;
|
||||
// Raise level and store information for processing right-half interval.
|
||||
// Raise level and store information for processing right-half
|
||||
// interval.
|
||||
da = dx;
|
||||
est = estl;
|
||||
p = table[++index] = {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
var PaperScript = new function() {
|
||||
|
||||
// Handle Math Operators
|
||||
|
||||
var operators = {
|
||||
|
|
Loading…
Reference in a new issue