paper 0.12.18 → 0.12.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +5 -14
  3. package/dist/docs/assets/js/paper.js +94 -54
  4. package/dist/docs/classes/Color.html +2 -2
  5. package/dist/docs/classes/CompoundPath.html +2 -2
  6. package/dist/docs/classes/Curve.html +2 -2
  7. package/dist/docs/classes/CurveLocation.html +2 -2
  8. package/dist/docs/classes/Event.html +2 -2
  9. package/dist/docs/classes/Gradient.html +2 -2
  10. package/dist/docs/classes/GradientStop.html +2 -2
  11. package/dist/docs/classes/Group.html +2 -2
  12. package/dist/docs/classes/HitResult.html +2 -2
  13. package/dist/docs/classes/Item.html +2 -2
  14. package/dist/docs/classes/Key.html +2 -2
  15. package/dist/docs/classes/KeyEvent.html +2 -2
  16. package/dist/docs/classes/Layer.html +2 -2
  17. package/dist/docs/classes/Matrix.html +2 -2
  18. package/dist/docs/classes/MouseEvent.html +2 -2
  19. package/dist/docs/classes/PaperScope.html +2 -2
  20. package/dist/docs/classes/PaperScript.html +2 -2
  21. package/dist/docs/classes/Path.html +2 -2
  22. package/dist/docs/classes/PathItem.html +2 -2
  23. package/dist/docs/classes/Point.html +2 -2
  24. package/dist/docs/classes/PointText.html +2 -2
  25. package/dist/docs/classes/Project.html +2 -2
  26. package/dist/docs/classes/Raster.html +2 -2
  27. package/dist/docs/classes/Rectangle.html +2 -2
  28. package/dist/docs/classes/Segment.html +2 -2
  29. package/dist/docs/classes/Shape.html +2 -2
  30. package/dist/docs/classes/Size.html +2 -2
  31. package/dist/docs/classes/Style.html +2 -2
  32. package/dist/docs/classes/SymbolDefinition.html +2 -2
  33. package/dist/docs/classes/SymbolItem.html +2 -2
  34. package/dist/docs/classes/TextItem.html +2 -2
  35. package/dist/docs/classes/Tool.html +2 -2
  36. package/dist/docs/classes/ToolEvent.html +2 -2
  37. package/dist/docs/classes/Tween.html +2 -2
  38. package/dist/docs/classes/View.html +2 -2
  39. package/dist/docs/classes/global.html +2 -2
  40. package/dist/docs/classes/index.html +2 -2
  41. package/dist/docs/index.html +1 -1
  42. package/dist/node/canvas.js +9 -7
  43. package/dist/node/self.js +9 -1
  44. package/dist/paper-core.js +93 -53
  45. package/dist/paper-core.min.js +3 -3
  46. package/dist/paper-full.js +94 -54
  47. package/dist/paper-full.min.js +3 -3
  48. package/dist/paper.d.ts +2 -2
  49. package/package.json +11 -7
  50. package/dist/paperjs/LICENSE.txt +0 -23
  51. package/dist/paperjs/dist/node/canvas.js +0 -66
  52. package/dist/paperjs/dist/node/extend.js +0 -156
  53. package/dist/paperjs/dist/node/self.js +0 -58
  54. package/dist/paperjs/dist/node/xml.js +0 -40
  55. package/dist/paperjs/dist/paper-core.d.ts +0 -1
  56. package/dist/paperjs/dist/paper-core.js +0 -15703
  57. package/dist/paperjs/dist/paper-core.min.js +0 -32
  58. package/dist/paperjs/dist/paper-full.js +0 -17472
  59. package/dist/paperjs/dist/paper-full.min.js +0 -32
  60. package/dist/paperjs/dist/paper.d.ts +0 -7394
  61. package/dist/paperjs/docs/assets/css/docs.css +0 -414
  62. package/dist/paperjs/docs/assets/js/codemirror.js +0 -4
  63. package/dist/paperjs/docs/assets/js/docs.js +0 -493
  64. package/dist/paperjs/docs/assets/js/jquery.js +0 -6
  65. package/dist/paperjs/docs/assets/js/paper.js +0 -17472
  66. package/dist/paperjs/docs/classes/Color.html +0 -2188
  67. package/dist/paperjs/docs/classes/CompoundPath.html +0 -8877
  68. package/dist/paperjs/docs/classes/Curve.html +0 -2323
  69. package/dist/paperjs/docs/classes/CurveLocation.html +0 -672
  70. package/dist/paperjs/docs/classes/Event.html +0 -176
  71. package/dist/paperjs/docs/classes/Gradient.html +0 -240
  72. package/dist/paperjs/docs/classes/GradientStop.html +0 -273
  73. package/dist/paperjs/docs/classes/Group.html +0 -6864
  74. package/dist/paperjs/docs/classes/HitResult.html +0 -239
  75. package/dist/paperjs/docs/classes/Item.html +0 -6628
  76. package/dist/paperjs/docs/classes/Key.html +0 -139
  77. package/dist/paperjs/docs/classes/KeyEvent.html +0 -308
  78. package/dist/paperjs/docs/classes/Layer.html +0 -6850
  79. package/dist/paperjs/docs/classes/Matrix.html +0 -1744
  80. package/dist/paperjs/docs/classes/MouseEvent.html +0 -355
  81. package/dist/paperjs/docs/classes/PaperScope.html +0 -459
  82. package/dist/paperjs/docs/classes/PaperScript.html +0 -198
  83. package/dist/paperjs/docs/classes/Path.html +0 -11775
  84. package/dist/paperjs/docs/classes/PathItem.html +0 -8639
  85. package/dist/paperjs/docs/classes/Point.html +0 -2699
  86. package/dist/paperjs/docs/classes/PointText.html +0 -7029
  87. package/dist/paperjs/docs/classes/Project.html +0 -1305
  88. package/dist/paperjs/docs/classes/Raster.html +0 -7843
  89. package/dist/paperjs/docs/classes/Rectangle.html +0 -1654
  90. package/dist/paperjs/docs/classes/Segment.html +0 -939
  91. package/dist/paperjs/docs/classes/Shape.html +0 -7363
  92. package/dist/paperjs/docs/classes/Size.html +0 -1825
  93. package/dist/paperjs/docs/classes/Style.html +0 -919
  94. package/dist/paperjs/docs/classes/SymbolDefinition.html +0 -311
  95. package/dist/paperjs/docs/classes/SymbolItem.html +0 -6755
  96. package/dist/paperjs/docs/classes/TextItem.html +0 -6869
  97. package/dist/paperjs/docs/classes/Tool.html +0 -761
  98. package/dist/paperjs/docs/classes/ToolEvent.html +0 -446
  99. package/dist/paperjs/docs/classes/Tween.html +0 -374
  100. package/dist/paperjs/docs/classes/View.html +0 -1772
  101. package/dist/paperjs/docs/classes/global.html +0 -425
  102. package/dist/paperjs/docs/classes/index.html +0 -88
  103. package/dist/paperjs/docs/index.html +0 -11
  104. package/dist/paperjs/examples/Animated/AnimatedStar.html +0 -53
  105. package/dist/paperjs/examples/Animated/BooleanOperations.html +0 -115
  106. package/dist/paperjs/examples/Animated/CandyCrash.html +0 -151
  107. package/dist/paperjs/examples/Animated/Extruded.html +0 -50
  108. package/dist/paperjs/examples/Animated/Lines.html +0 -53
  109. package/dist/paperjs/examples/Animated/Smoothing.html +0 -70
  110. package/dist/paperjs/examples/Animated/Space.html +0 -86
  111. package/dist/paperjs/examples/Animated/SpaceUsingShapes.html +0 -79
  112. package/dist/paperjs/examples/Games/Paperoids.html +0 -569
  113. package/dist/paperjs/examples/JSON/Circle Testing.html +0 -34
  114. package/dist/paperjs/examples/JSON/Compound Path.html +0 -25
  115. package/dist/paperjs/examples/JSON/Empty Path Testing.html +0 -31
  116. package/dist/paperjs/examples/JSON/Gradients.html +0 -34
  117. package/dist/paperjs/examples/JSON/Group Transform.html +0 -28
  118. package/dist/paperjs/examples/JSON/Line Testing.html +0 -44
  119. package/dist/paperjs/examples/JSON/Random Path Testing.html +0 -42
  120. package/dist/paperjs/examples/JSON/Raster.html +0 -29
  121. package/dist/paperjs/examples/JSON/Rect and Attribute Testing.html +0 -56
  122. package/dist/paperjs/examples/JSON/Rotated Primitives.html +0 -55
  123. package/dist/paperjs/examples/JSON/Selection.html +0 -43
  124. package/dist/paperjs/examples/JSON/Shapes.html +0 -54
  125. package/dist/paperjs/examples/JSON/Symbols.html +0 -30
  126. package/dist/paperjs/examples/JSON/Text Testing.html +0 -38
  127. package/dist/paperjs/examples/JSON/Tiger.html +0 -19
  128. package/dist/paperjs/examples/JSON/Transform Test 1.html +0 -32
  129. package/dist/paperjs/examples/JSON/Transform Test 2.html +0 -30
  130. package/dist/paperjs/examples/Node.js/AnimatedStar.js +0 -52
  131. package/dist/paperjs/examples/Node.js/BooleanOperations.js +0 -36
  132. package/dist/paperjs/examples/Node.js/JSONtoPDF.js +0 -20
  133. package/dist/paperjs/examples/Node.js/Raster.js +0 -32
  134. package/dist/paperjs/examples/Node.js/RasterRemote.js +0 -33
  135. package/dist/paperjs/examples/Node.js/SvgExport.js +0 -52
  136. package/dist/paperjs/examples/Node.js/SvgImport.js +0 -23
  137. package/dist/paperjs/examples/Node.js/Tadpoles.js +0 -16
  138. package/dist/paperjs/examples/Node.js/Tadpoles.pjs +0 -278
  139. package/dist/paperjs/examples/Node.js/in.json +0 -1
  140. package/dist/paperjs/examples/Node.js/in.svg +0 -16
  141. package/dist/paperjs/examples/Paperjs.org/BooleanOperattions.html +0 -115
  142. package/dist/paperjs/examples/Paperjs.org/BouncingBalls.html +0 -103
  143. package/dist/paperjs/examples/Paperjs.org/Chain.html +0 -54
  144. package/dist/paperjs/examples/Paperjs.org/DivisionRaster.html +0 -72
  145. package/dist/paperjs/examples/Paperjs.org/FutureSplash.html +0 -122
  146. package/dist/paperjs/examples/Paperjs.org/HitTesting.html +0 -103
  147. package/dist/paperjs/examples/Paperjs.org/InteractiveTiger.html +0 -777
  148. package/dist/paperjs/examples/Paperjs.org/MetaBalls.html +0 -132
  149. package/dist/paperjs/examples/Paperjs.org/NyanRainbow.html +0 -202
  150. package/dist/paperjs/examples/Paperjs.org/PathIntersections.html +0 -76
  151. package/dist/paperjs/examples/Paperjs.org/Qbertify.html +0 -146
  152. package/dist/paperjs/examples/Paperjs.org/RadialRainbows.html +0 -80
  153. package/dist/paperjs/examples/Paperjs.org/RoundedRectangles.html +0 -41
  154. package/dist/paperjs/examples/Paperjs.org/SatieLikedToDraw.html +0 -140
  155. package/dist/paperjs/examples/Paperjs.org/Simplify.html +0 -63
  156. package/dist/paperjs/examples/Paperjs.org/SpiralRaster.html +0 -120
  157. package/dist/paperjs/examples/Paperjs.org/Tadpoles.html +0 -283
  158. package/dist/paperjs/examples/Paperjs.org/Voronoi.html +0 -134
  159. package/dist/paperjs/examples/Rasters/PhyllotaxisRaster.html +0 -96
  160. package/dist/paperjs/examples/Rasters/Raster.html +0 -34
  161. package/dist/paperjs/examples/Rasters/RotationRaster.html +0 -44
  162. package/dist/paperjs/examples/Rasters/Smoothing.html +0 -36
  163. package/dist/paperjs/examples/SVG Export/Circle Testing.html +0 -32
  164. package/dist/paperjs/examples/SVG Export/Clipping.html +0 -17
  165. package/dist/paperjs/examples/SVG Export/Compound Path.html +0 -22
  166. package/dist/paperjs/examples/SVG Export/Empty Path Testing.html +0 -28
  167. package/dist/paperjs/examples/SVG Export/Gradients.html +0 -52
  168. package/dist/paperjs/examples/SVG Export/Group Transform.html +0 -25
  169. package/dist/paperjs/examples/SVG Export/Line Testing.html +0 -41
  170. package/dist/paperjs/examples/SVG Export/Random Path Testing.html +0 -39
  171. package/dist/paperjs/examples/SVG Export/Raster.html +0 -21
  172. package/dist/paperjs/examples/SVG Export/Rect and Attribute Testing.html +0 -53
  173. package/dist/paperjs/examples/SVG Export/Rotated Primitives.html +0 -80
  174. package/dist/paperjs/examples/SVG Export/Shapes.html +0 -58
  175. package/dist/paperjs/examples/SVG Export/Symbols.html +0 -27
  176. package/dist/paperjs/examples/SVG Export/Text Testing.html +0 -45
  177. package/dist/paperjs/examples/SVG Export/Tiger.html +0 -23
  178. package/dist/paperjs/examples/SVG Export/Transform Test 1.html +0 -29
  179. package/dist/paperjs/examples/SVG Export/Transform Test 2.html +0 -27
  180. package/dist/paperjs/examples/SVG Import/Arcs.html +0 -78
  181. package/dist/paperjs/examples/SVG Import/Butterfly.html +0 -223
  182. package/dist/paperjs/examples/SVG Import/Circle and Ellipse Testing.html +0 -26
  183. package/dist/paperjs/examples/SVG Import/Clipping.html +0 -100
  184. package/dist/paperjs/examples/SVG Import/From File.html +0 -30
  185. package/dist/paperjs/examples/SVG Import/Gradient.html +0 -138
  186. package/dist/paperjs/examples/SVG Import/Gradients.html +0 -30
  187. package/dist/paperjs/examples/SVG Import/Inkscape Pivot.html +0 -52
  188. package/dist/paperjs/examples/SVG Import/Inkscape.html +0 -88
  189. package/dist/paperjs/examples/SVG Import/Line Testing.html +0 -24
  190. package/dist/paperjs/examples/SVG Import/MoreGradients.html +0 -107
  191. package/dist/paperjs/examples/SVG Import/Multiple Paths Test 1.html +0 -42
  192. package/dist/paperjs/examples/SVG Import/Multiple Paths Test 2.html +0 -33
  193. package/dist/paperjs/examples/SVG Import/Nested Groups Test.html +0 -78
  194. package/dist/paperjs/examples/SVG Import/Polybezier.html +0 -43
  195. package/dist/paperjs/examples/SVG Import/Rect Testing.html +0 -25
  196. package/dist/paperjs/examples/SVG Import/Symbols.html +0 -24
  197. package/dist/paperjs/examples/SVG Import/Testing.html +0 -40
  198. package/dist/paperjs/examples/SVG Import/Text Testing.html +0 -19
  199. package/dist/paperjs/examples/SVG Import/Tiger.html +0 -742
  200. package/dist/paperjs/examples/SVG Import/Transform Testing.html +0 -22
  201. package/dist/paperjs/examples/SVG Import/Viewbox.html +0 -38
  202. package/dist/paperjs/examples/Scripts/Arcs.html +0 -39
  203. package/dist/paperjs/examples/Scripts/BlendModes.html +0 -77
  204. package/dist/paperjs/examples/Scripts/BooleanOperations.html +0 -937
  205. package/dist/paperjs/examples/Scripts/CompoundPath.html +0 -19
  206. package/dist/paperjs/examples/Scripts/CurveTimeParameterization.html +0 -61
  207. package/dist/paperjs/examples/Scripts/HslColor.html +0 -53
  208. package/dist/paperjs/examples/Scripts/PathStructure.html +0 -82
  209. package/dist/paperjs/examples/Scripts/PathTangents.html +0 -73
  210. package/dist/paperjs/examples/Scripts/Resize.html +0 -42
  211. package/dist/paperjs/examples/Scripts/RoundRectangle.html +0 -28
  212. package/dist/paperjs/examples/Scripts/Shapes.html +0 -54
  213. package/dist/paperjs/examples/Scripts/StrokeBounds.html +0 -101
  214. package/dist/paperjs/examples/Scripts/StrokeScaling.html +0 -65
  215. package/dist/paperjs/examples/Tools/BezierTool.html +0 -90
  216. package/dist/paperjs/examples/Tools/Circles.html +0 -28
  217. package/dist/paperjs/examples/Tools/Clouds.html +0 -35
  218. package/dist/paperjs/examples/Tools/DrippingBrush.html +0 -73
  219. package/dist/paperjs/examples/Tools/FancyBrush.html +0 -82
  220. package/dist/paperjs/examples/Tools/Grid.html +0 -44
  221. package/dist/paperjs/examples/Tools/MultiLines.html +0 -44
  222. package/dist/paperjs/examples/Tools/MultipleTools.html +0 -44
  223. package/dist/paperjs/examples/Tools/PathEditing.html +0 -95
  224. package/dist/paperjs/examples/Tools/SquareRounded.html +0 -76
  225. package/dist/paperjs/examples/Tools/Stars.html +0 -38
  226. package/dist/paperjs/examples/Tools/Vektor.html +0 -200
  227. package/dist/paperjs/examples/Tools/Wave.html +0 -50
  228. package/dist/paperjs/examples/Tools/WormFarm.html +0 -88
  229. package/dist/paperjs/examples/Worker/Main.html +0 -53
  230. package/dist/paperjs/examples/Worker/Worker.js +0 -14
  231. package/dist/paperjs/examples/css/style.css +0 -12
@@ -1,200 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Vektor</title>
6
- <link rel="stylesheet" href="../css/style.css">
7
- <script type="text/javascript" src="../../dist/paper-full.js"></script>
8
- <script type="text/paperscript" canvas="canvas">
9
-
10
- ////////////////////////////////////////////////////////////////////////////////
11
- // Interface
12
-
13
- var values = {
14
- fixLength: false,
15
- fixAngle: false,
16
- showCircle: false,
17
- showAngleLength: true,
18
- showCoordinates: false
19
- };
20
-
21
- ////////////////////////////////////////////////////////////////////////////////
22
- // Vector
23
-
24
- var vectorStart, vector, vectorPrevious;
25
- var vectorItem, items, dashedItems;
26
-
27
- function processVector(event, drag) {
28
- vector = event.point - vectorStart;
29
- if (vectorPrevious) {
30
- if (values.fixLength && values.fixAngle) {
31
- vector = vectorPrevious;
32
- } else if (values.fixLength) {
33
- vector.length = vectorPrevious.length;
34
- } else if (values.fixAngle) {
35
- vector = vector.project(vectorPrevious);
36
- }
37
- }
38
- drawVector(drag);
39
- }
40
-
41
- function drawVector(drag) {
42
- if (items) {
43
- for (var i = 0, l = items.length; i < l; i++) {
44
- items[i].remove();
45
- }
46
- }
47
- if (vectorItem)
48
- vectorItem.remove();
49
- items = [];
50
- var arrowVector = vector.normalize(10);
51
- var end = vectorStart + vector;
52
- vectorItem = new Group(
53
- new Path(vectorStart, end),
54
- new Path(
55
- end + arrowVector.rotate(135),
56
- end,
57
- end + arrowVector.rotate(-135)
58
- )
59
- );
60
- vectorItem.strokeWidth = 0.75;
61
- vectorItem.strokeColor = '#e4141b';
62
- // Display:
63
- dashedItems = [];
64
- // Draw Circle
65
- if (values.showCircle) {
66
- dashedItems.push(new Path.Circle(vectorStart, vector.length));
67
- }
68
- // Draw Labels
69
- if (values.showAngleLength) {
70
- drawAngle(vectorStart, vector, !drag);
71
- if (!drag)
72
- drawLength(vectorStart, end, vector.angle < 0 ? -1 : 1, true);
73
- }
74
- var quadrant = vector.quadrant;
75
- if (values.showCoordinates && !drag) {
76
- drawLength(vectorStart, vectorStart + [vector.x, 0],
77
- [1, 3].indexOf(quadrant) != -1 ? -1 : 1, true, vector.x, 'x: ');
78
- drawLength(vectorStart, vectorStart + [0, vector.y],
79
- [1, 3].indexOf(quadrant) != -1 ? 1 : -1, true, vector.y, 'y: ');
80
- }
81
- for (var i = 0, l = dashedItems.length; i < l; i++) {
82
- var item = dashedItems[i];
83
- item.strokeColor = 'black';
84
- item.dashArray = [1, 2];
85
- items.push(item);
86
- }
87
- // Update palette
88
- values.x = vector.x;
89
- values.y = vector.y;
90
- values.length = vector.length;
91
- values.angle = vector.angle;
92
- }
93
-
94
- function drawAngle(center, vector, label) {
95
- var radius = 25, threshold = 10;
96
- if (vector.length < radius + threshold || Math.abs(vector.angle) < 15)
97
- return;
98
- var from = new Point(radius, 0);
99
- var through = from.rotate(vector.angle / 2);
100
- var to = from.rotate(vector.angle);
101
- var end = center + to;
102
- dashedItems.push(new Path.Line(center,
103
- center + new Point(radius + threshold, 0)));
104
- dashedItems.push(new Path.Arc(center + from, center + through, end));
105
- var arrowVector = to.normalize(7.5).rotate(vector.angle < 0 ? -90 : 90);
106
- dashedItems.push(new Path([
107
- end + arrowVector.rotate(135),
108
- end,
109
- end + arrowVector.rotate(-135)
110
- ]));
111
- if (label) {
112
- // Angle Label
113
- var text = new PointText(center
114
- + through.normalize(radius + 10) + new Point(0, 3));
115
- text.content = Math.floor(vector.angle * 100) / 100 + '\xb0';
116
- items.push(text);
117
- }
118
- }
119
-
120
- function drawLength(from, to, sign, label, value, prefix) {
121
- var lengthSize = 5;
122
- if ((to - from).length < lengthSize * 4)
123
- return;
124
- var vector = to - from;
125
- var awayVector = vector.normalize(lengthSize).rotate(90 * sign);
126
- var upVector = vector.normalize(lengthSize).rotate(45 * sign);
127
- var downVector = upVector.rotate(-90 * sign);
128
- var lengthVector = vector.normalize(
129
- vector.length / 2 - lengthSize * Math.SQRT2);
130
- var line = new Path();
131
- line.add(from + awayVector);
132
- line.lineBy(upVector);
133
- line.lineBy(lengthVector);
134
- line.lineBy(upVector);
135
- var middle = line.lastSegment.point;
136
- line.lineBy(downVector);
137
- line.lineBy(lengthVector);
138
- line.lineBy(downVector);
139
- dashedItems.push(line);
140
- if (label) {
141
- // Length Label
142
- var textAngle = Math.abs(vector.angle) > 90
143
- ? textAngle = 180 + vector.angle : vector.angle;
144
- // Label needs to move away by different amounts based on the
145
- // vector's quadrant:
146
- var away = (sign >= 0 ? [1, 4] : [2, 3]).indexOf(vector.quadrant) != -1
147
- ? 8 : 0;
148
- var text = new PointText(middle + awayVector.normalize(away + lengthSize));
149
- text.rotate(textAngle);
150
- text.justification = 'center';
151
- value = value || vector.length;
152
- text.content = (prefix || '') + Math.floor(value * 1000) / 1000;
153
- items.push(text);
154
- }
155
- }
156
-
157
- ////////////////////////////////////////////////////////////////////////////////
158
- // Mouse Handling
159
-
160
- var dashItem;
161
-
162
- function onMouseDown(event) {
163
- var end = vectorStart + vector;
164
- var create = false;
165
- if (event.modifiers.shift && vectorItem) {
166
- vectorStart = end;
167
- create = true;
168
- } else if (vector && (event.modifiers.option
169
- || end && end.getDistance(event.point) < 10)) {
170
- create = false;
171
- } else {
172
- vectorStart = event.point;
173
- }
174
- if (create) {
175
- dashItem = vectorItem;
176
- vectorItem = null;
177
- }
178
- processVector(event, true);
179
- }
180
-
181
- function onMouseDrag(event) {
182
- if (!event.modifiers.shift && values.fixLength && values.fixAngle)
183
- vectorStart = event.point;
184
- processVector(event, event.modifiers.shift);
185
- }
186
-
187
- function onMouseUp(event) {
188
- processVector(event, false);
189
- if (dashItem) {
190
- dashItem.dashArray = [1, 2];
191
- dashItem = null;
192
- }
193
- vectorPrevious = vector;
194
- }
195
- </script>
196
- </head>
197
- <body>
198
- <canvas id="canvas" resize></canvas>
199
- </body>
200
- </html>
@@ -1,50 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Wave</title>
6
- <link rel="stylesheet" href="../css/style.css">
7
- <script type="text/javascript" src="../../dist/paper-full.js"></script>
8
- <script type="text/paperscript" canvas="canvas">
9
- //////////////////////////////////////////////////////////////////////
10
- // Values
11
-
12
- tool.minDistance = 10;
13
-
14
- var values = {
15
- curviness: 0.5,
16
- distance: tool.minDistance,
17
- offset: 10,
18
- mouseOffset: true
19
- };
20
-
21
- //////////////////////////////////////////////////////////////////////
22
- // Mouse handling
23
-
24
- var path;
25
- function onMouseDown(event) {
26
- path = new Path({
27
- strokeColor: '#000000'
28
- });
29
- }
30
-
31
- var mul = 1;
32
- function onMouseDrag(event) {
33
- var step = event.delta.rotate(90 * mul);
34
-
35
- if (!values.mouseOffset)
36
- step.length = values.offset;
37
-
38
- path.add({
39
- point: event.point + step,
40
- handleIn: -event.delta * values.curviness,
41
- handleOut: event.delta * values.curviness
42
- });
43
- mul *= -1;
44
- }
45
- </script>
46
- </head>
47
- <body>
48
- <canvas id="canvas" resize></canvas>
49
- </body>
50
- </html>
@@ -1,88 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Worm Farm</title>
6
- <link rel="stylesheet" href="../css/style.css">
7
- <script type="text/javascript" src="../../dist/paper-full.js"></script>
8
- <script type="text/paperscript" canvas="canvas">
9
- /////////////////////////////////////////////////////////////////////
10
- // Values
11
-
12
- var values = {
13
- minDistance: 10,
14
- maxDistance: 30,
15
- varyThickness: true
16
- };
17
-
18
- // All newly created items will inherit the following styles:
19
- project.currentStyle = {
20
- fillColor: 'white',
21
- strokeColor: 'black'
22
- };
23
-
24
- /////////////////////////////////////////////////////////////////////
25
- // Mouse handling
26
-
27
- tool.minDistance = values.minDistance;
28
- tool.maxDistance = values.maxDistance;
29
-
30
- var worm;
31
-
32
- // Every time the user clicks the mouse to drag we create a path
33
- // and when a user drags the mouse we add points to it
34
- function onMouseDown(event) {
35
- worm = new Path();
36
- worm.add(event.point, event.point);
37
- worm.closed = true;
38
- }
39
-
40
- function onMouseDrag(event) {
41
- // the vector in the direction that the mouse moved
42
- var step = event.delta;
43
-
44
- // if the vary thickness checkbox is marked
45
- // divide the length of the step vector by two:
46
- if (values.varyThickness) {
47
- step.length = step.length / 2;
48
- } else {
49
- // otherwise set the length of the step vector to half of
50
- // minDistance
51
- step.length = values.minDistance / 2;
52
- }
53
-
54
- // the top point: the middle point + the step rotated by -90
55
- // degrees
56
- // -----*
57
- // |
58
- // ------
59
- var top = event.middlePoint + step.rotate(-90);
60
-
61
- // the bottom point: the middle point + the step rotated by 90
62
- // degrees
63
- // ------
64
- // |
65
- // -----*
66
- var bottom = event.middlePoint + step.rotate(90);
67
-
68
- // add the top point to the end of the path
69
- worm.add(top);
70
-
71
- // insert the bottom point after the first segment of the path
72
- worm.insert(1, bottom);
73
-
74
- // make a new line path from top to bottom
75
- new Path(top, bottom);
76
-
77
- // This is the point at the front of the worm:
78
- worm.firstSegment.point = event.point;
79
-
80
- // smooth the segments of the path
81
- worm.smooth();
82
- }
83
- </script>
84
- </head>
85
- <body>
86
- <canvas id="canvas" resize></canvas>
87
- </body>
88
- </html>
@@ -1,53 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Shapes</title>
6
- <link rel="stylesheet" href="../css/style.css">
7
- <script type="text/javascript" src="../../dist/paper-full.js"></script>
8
- <script type="text/paperscript" canvas="canvas">
9
- if (window.Worker) { // Check if Browser supports the Worker API.
10
- var worker = new Worker("Worker.js");
11
-
12
- // Create two paths, and send them to the worker to perform a boolean
13
- // operation on them.
14
-
15
- var circle = new Path.Circle({
16
- center: [200, 200],
17
- radius: 100,
18
- fillColor: 'red'
19
- });
20
-
21
- var rectangle = new Path.Rectangle({
22
- point: [200, 200],
23
- size: [200, 200],
24
- fillColor: 'blue'
25
- });
26
-
27
- var data = [
28
- circle.exportJSON(),
29
- rectangle.exportJSON()
30
- ];
31
- console.log('Sent', data);
32
- worker.postMessage(data);
33
-
34
- // The worker sends the result back in a message, from which we can then
35
- // create a new path item and siplay it.
36
- worker.onmessage = function(event) {
37
- var data = event.data;
38
- if (data) {
39
- console.log('Received', data);
40
- var result = project.activeLayer.importJSON(data);
41
- result.fillColor = 'yellow';
42
- result.fillColor.alpha = 0.5;
43
- result.position += [400, 0];
44
- result.fullySelected = true;
45
- }
46
- };
47
- }
48
- </script>
49
- </head>
50
- <body>
51
- <canvas id="canvas" resize></canvas>
52
- </body>
53
- </html>
@@ -1,14 +0,0 @@
1
- importScripts('../../dist/paper-full.js');
2
- paper.install(this);
3
- paper.setup([640, 480]);
4
-
5
- onmessage = function(event) {
6
- var data = event.data;
7
- if (data) {
8
- var path1 = project.importJSON(data[0]);
9
- var path2 = project.importJSON(data[1]);
10
- console.log(path1, path2);
11
- var result = path1.unite(path2);
12
- postMessage(result.exportJSON());
13
- }
14
- };
@@ -1,12 +0,0 @@
1
- html,
2
- body {
3
- margin: 0;
4
- overflow: hidden;
5
- height: 100%;
6
- }
7
-
8
- /* Scale canvas with resize attribute to full size */
9
- canvas[resize] {
10
- width: 100%;
11
- height: 100%;
12
- }