paper 0.15.0 → 0.17.0

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 (64) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +24 -16
  3. package/dist/docs/assets/js/paper.js +4811 -808
  4. package/dist/docs/classes/AreaText.html +771 -243
  5. package/dist/docs/classes/ChangeFlag.html +1 -1
  6. package/dist/docs/classes/Color.html +218 -21
  7. package/dist/docs/classes/CompoundPath.html +1174 -274
  8. package/dist/docs/classes/Curve.html +2 -2
  9. package/dist/docs/classes/CurveLocation.html +1 -1
  10. package/dist/docs/classes/DrawEvent.html +69 -0
  11. package/dist/docs/classes/Effect.html +434 -0
  12. package/dist/docs/classes/EffectInstance.html +304 -0
  13. package/dist/docs/classes/Event.html +1 -1
  14. package/dist/docs/classes/Gradient.html +1 -1
  15. package/dist/docs/classes/GradientStop.html +1 -1
  16. package/dist/docs/classes/Group.html +842 -243
  17. package/dist/docs/classes/HitResult.html +1 -1
  18. package/dist/docs/classes/HostItem.html +770 -242
  19. package/dist/docs/classes/Item.html +827 -242
  20. package/dist/docs/classes/Key.html +1 -1
  21. package/dist/docs/classes/KeyEvent.html +1 -1
  22. package/dist/docs/classes/Layer.html +784 -185
  23. package/dist/docs/classes/Matrix.html +1 -1
  24. package/dist/docs/classes/MouseEvent.html +1 -1
  25. package/dist/docs/classes/PaperScope.html +1 -1
  26. package/dist/docs/classes/PaperScript.html +4 -2
  27. package/dist/docs/classes/Path.html +1366 -352
  28. package/dist/docs/classes/PathItem.html +1198 -298
  29. package/dist/docs/classes/PathText.html +772 -244
  30. package/dist/docs/classes/PatternDefinition.html +367 -0
  31. package/dist/docs/classes/Point.html +33 -5
  32. package/dist/docs/classes/PointText.html +771 -243
  33. package/dist/docs/classes/Project.html +251 -9
  34. package/dist/docs/classes/Raster.html +770 -242
  35. package/dist/docs/classes/Rectangle.html +50 -8
  36. package/dist/docs/classes/Segment.html +79 -2
  37. package/dist/docs/classes/Shape.html +770 -242
  38. package/dist/docs/classes/Size.html +31 -3
  39. package/dist/docs/classes/StrokeProfileStop.html +346 -0
  40. package/dist/docs/classes/Style.html +67 -6
  41. package/dist/docs/classes/SymbolDefinition.html +28 -2
  42. package/dist/docs/classes/SymbolItem.html +807 -242
  43. package/dist/docs/classes/TextItem.html +771 -243
  44. package/dist/docs/classes/TextRange.html +1 -1
  45. package/dist/docs/classes/TextStory.html +1 -1
  46. package/dist/docs/classes/Tool.html +2 -2
  47. package/dist/docs/classes/ToolEvent.html +1 -1
  48. package/dist/docs/classes/Tween.html +1 -1
  49. package/dist/docs/classes/View.html +2 -2
  50. package/dist/docs/classes/global.html +1 -1
  51. package/dist/docs/classes/index.html +2 -2
  52. package/dist/docs/index.html +1 -1
  53. package/dist/node/browser.js +15 -0
  54. package/dist/paper-core.js +4701 -728
  55. package/dist/paper-core.min.js +3 -3
  56. package/dist/paper-full.js +4811 -808
  57. package/dist/paper-full.min.js +3 -3
  58. package/dist/paper-hosted.js +5389 -892
  59. package/dist/paper.d.ts +1058 -69
  60. package/examples/Paperjs.org/LiveEffects.html +366 -0
  61. package/examples/Paperjs.org/Offsetting.html +379 -0
  62. package/examples/Paperjs.org/StrokeProfiles.html +706 -0
  63. package/examples/Scripts/Patterns.html +57 -0
  64. package/package.json +21 -11
@@ -388,6 +388,34 @@
388
388
 
389
389
 
390
390
 
391
+ </div>
392
+
393
+ </div>
394
+ </div>
395
+
396
+
397
+ <div id="values" class="member">
398
+ <div class="member-link">
399
+ <a name="values" href="#values"><tt><b>values</b></tt></a>
400
+ </div>
401
+ <div class="member-description hidden">
402
+
403
+ <div class="member-text">
404
+ <p>The rectangle&rsquo;s position and size as an array, <code>[x, y, width, height]</code>, as <a href="../classes/Matrix.html#values"><tt>matrix.values</tt></a> gives those of a matrix.</p>
405
+
406
+ <p>Read only.</p>
407
+
408
+
409
+
410
+ <ul class="member-list">
411
+ <h4>Type:</h4>
412
+ <li>
413
+ Array of <tt>Numbers</tt>
414
+ </li>
415
+ </ul>
416
+
417
+
418
+
391
419
  </div>
392
420
 
393
421
  </div>
@@ -1550,23 +1578,30 @@ intersectionPath.fillColor = 'red';
1550
1578
  </div>
1551
1579
 
1552
1580
 
1553
- <div id="scale-amount" class="member">
1581
+ <div id="scale-scale" class="member">
1554
1582
  <div class="member-link">
1555
- <a name="scale-amount" href="#scale-amount"><tt><b>scale</b>(amount)</tt></a>
1583
+ <a name="scale-scale" href="#scale-scale"><tt><b>scale</b>(scale[, center])</tt></a>
1556
1584
  </div>
1557
1585
  <div class="member-description hidden">
1558
1586
  <div class="member-text">
1559
- <p>Returns a new rectangle scaled by the specified amount from its center.</p>
1587
+ <p>Returns a new rectangle scaled by the specified factor from its center, or from the given center point.</p>
1560
1588
 
1561
1589
 
1562
1590
  <ul class="member-list">
1563
1591
  <h4>Parameters:</h4>
1564
1592
 
1565
1593
  <li>
1566
- <tt>amount:</tt>
1594
+ <tt>scale:</tt>
1567
1595
  <tt>Number</tt>
1596
+ &mdash;&nbsp;the scale factor
1568
1597
 
1598
+ </li>
1599
+
1600
+ <li>
1601
+ <tt>center:</tt>
1602
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1569
1603
 
1604
+ &mdash;&nbsp;optional, default: <tt><a href="../classes/Rectangle.html#center"><tt>rectangle.center</tt></a></tt>
1570
1605
  </li>
1571
1606
 
1572
1607
  </ul>
@@ -1593,11 +1628,11 @@ intersectionPath.fillColor = 'red';
1593
1628
 
1594
1629
  <div id="scale-hor-ver" class="member">
1595
1630
  <div class="member-link">
1596
- <a name="scale-hor-ver" href="#scale-hor-ver"><tt><b>scale</b>(hor, ver)</tt></a>
1631
+ <a name="scale-hor-ver" href="#scale-hor-ver"><tt><b>scale</b>(hor, ver[, center])</tt></a>
1597
1632
  </div>
1598
1633
  <div class="member-description hidden">
1599
1634
  <div class="member-text">
1600
- <p>Returns a new rectangle scaled in horizontal direction by the specified <code>hor</code> amount and in vertical direction by the specified <code>ver</code> amount from its center.</p>
1635
+ <p>Returns a new rectangle scaled in horizontal direction by the specified <code>hor</code> factor and in vertical direction by the specified <code>ver</code> factor from its center, or from the given center point.</p>
1601
1636
 
1602
1637
 
1603
1638
  <ul class="member-list">
@@ -1606,15 +1641,22 @@ intersectionPath.fillColor = 'red';
1606
1641
  <li>
1607
1642
  <tt>hor:</tt>
1608
1643
  <tt>Number</tt>
1609
-
1644
+ &mdash;&nbsp;the horizontal scale factor
1610
1645
 
1611
1646
  </li>
1612
1647
 
1613
1648
  <li>
1614
1649
  <tt>ver:</tt>
1615
1650
  <tt>Number</tt>
1651
+ &mdash;&nbsp;the vertical scale factor
1616
1652
 
1653
+ </li>
1654
+
1655
+ <li>
1656
+ <tt>center:</tt>
1657
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1617
1658
 
1659
+ &mdash;&nbsp;optional, default: <tt><a href="../classes/Rectangle.html#center"><tt>rectangle.center</tt></a></tt>
1618
1660
  </li>
1619
1661
 
1620
1662
  </ul>
@@ -1647,7 +1689,7 @@ intersectionPath.fillColor = 'red';
1647
1689
 
1648
1690
  <!-- =========================== copyright notice ========================== -->
1649
1691
  <p class="footer">
1650
- Paper.js v0.15.0<br>
1692
+ Paper.js v0.17.0<br>
1651
1693
  Copyright &#169; 2011—2026 <a href="http://www.lehni.org" target="_blank">J&uuml;rg Lehni</a> &amp; <a href="http://www.jonathanpuckey.com" target="_blank">Jonathan Puckey</a>. All Rights Reserved.</p>
1652
1694
  <div class="content-end"></div>
1653
1695
 
@@ -183,6 +183,83 @@ var path = new Path({
183
183
  <h2>Properties</h2>
184
184
 
185
185
 
186
+ <div id="name" class="member">
187
+ <div class="member-link">
188
+ <a name="name" href="#name"><tt><b>name</b></tt></a>
189
+ </div>
190
+ <div class="member-description hidden">
191
+
192
+ <div class="member-text">
193
+ <p>The name of the segment. If the segment has a name, it can be accessed by name through its path&rsquo;s segments list. If several segments share a name, the first one is found.</p>
194
+ <p>The name is stored in JSON, and in SVG in the <code>data-paper-segments</code> attribute of the path, see <a href="../classes/Segment.html#data"><tt>segment.data</tt></a>.</p>
195
+
196
+
197
+
198
+ <ul class="member-list">
199
+ <h4>Type:</h4>
200
+ <li>
201
+ <tt>String</tt>⟋<tt>null</tt>
202
+ </li>
203
+ </ul>
204
+
205
+
206
+ <h4>Example:</h4>
207
+
208
+
209
+ <pre><code>var path = new Path([10, 10], [50, 10], [50, 50]);
210
+ path.segments[1].name = 'corner';
211
+ console.log(path.segments['corner'].point); // { x: 50, y: 10 }</code></pre>
212
+
213
+ </div>
214
+
215
+ </div>
216
+ </div>
217
+
218
+
219
+ <div id="data" class="member">
220
+ <div class="member-link">
221
+ <a name="data" href="#data"><tt><b>data</b></tt></a>
222
+ </div>
223
+ <div class="member-description hidden">
224
+
225
+ <div class="member-text">
226
+ <p>A plain javascript object which can be used to store arbitrary data on the segment.</p>
227
+ <p>The data is stored in JSON, and in SVG in the <code>data-paper-segments</code> attribute of the path, keyed by the index of the segment. Paper.js drops it on import if the indices don&rsquo;t fit the path anymore, as happens when another editor removes segments.</p>
228
+
229
+
230
+
231
+ <ul class="member-list">
232
+ <h4>Type:</h4>
233
+ <li>
234
+ <tt>Object</tt>
235
+ </li>
236
+ </ul>
237
+
238
+
239
+ <h4>Example:</h4>
240
+
241
+
242
+ <pre><code>var segment = new Segment(100, 100);
243
+ segment.data.isCorner = true;</code></pre>
244
+
245
+ <h4>Example:</h4>
246
+
247
+
248
+ <pre><code>var segment = new Segment({
249
+ point: [100, 50],
250
+ handleOut: [80, 100],
251
+ data: {
252
+ isCorner: true
253
+ }
254
+ });
255
+ console.log(segment.data.isCorner); // true</code></pre>
256
+
257
+ </div>
258
+
259
+ </div>
260
+ </div>
261
+
262
+
186
263
  <div id="point" class="member">
187
264
  <div class="member-link">
188
265
  <a name="point" href="#point"><tt><b>point</b></tt></a>
@@ -495,7 +572,7 @@ path.segments[2].selected = true;
495
572
  </div>
496
573
  <div class="member-description hidden">
497
574
  <div class="member-text">
498
- <p>Checks if the segment has any curve handles set.</p>
575
+ <p>Checks if the segment has any curve handles set. Handles of which both coordinates are 0 within a tolerance of 1e-12 count as not set, see <a href="../classes/Point.html#iszero"><tt>point.isZero</tt></a>().</p>
499
576
 
500
577
 
501
578
 
@@ -931,7 +1008,7 @@ path.segments[2].selected = true;
931
1008
 
932
1009
  <!-- =========================== copyright notice ========================== -->
933
1010
  <p class="footer">
934
- Paper.js v0.15.0<br>
1011
+ Paper.js v0.17.0<br>
935
1012
  Copyright &#169; 2011—2026 <a href="http://www.lehni.org" target="_blank">J&uuml;rg Lehni</a> &amp; <a href="http://www.jonathanpuckey.com" target="_blank">Jonathan Puckey</a>. All Rights Reserved.</p>
936
1013
  <div class="content-end"></div>
937
1014