paper 0.12.19 → 0.13.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 (51) hide show
  1. package/CHANGELOG.md +250 -0
  2. package/README.md +34 -27
  3. package/dist/docs/assets/js/paper.js +791 -366
  4. package/dist/docs/classes/Color.html +63 -47
  5. package/dist/docs/classes/CompoundPath.html +162 -59
  6. package/dist/docs/classes/Curve.html +9 -7
  7. package/dist/docs/classes/CurveLocation.html +1 -1
  8. package/dist/docs/classes/Event.html +1 -1
  9. package/dist/docs/classes/Gradient.html +1 -1
  10. package/dist/docs/classes/GradientStop.html +1 -1
  11. package/dist/docs/classes/Group.html +63 -24
  12. package/dist/docs/classes/HitResult.html +1 -1
  13. package/dist/docs/classes/Item.html +63 -24
  14. package/dist/docs/classes/Key.html +1 -1
  15. package/dist/docs/classes/KeyEvent.html +1 -1
  16. package/dist/docs/classes/Layer.html +63 -24
  17. package/dist/docs/classes/Matrix.html +1 -1
  18. package/dist/docs/classes/MouseEvent.html +1 -1
  19. package/dist/docs/classes/PaperScope.html +87 -1
  20. package/dist/docs/classes/PaperScript.html +1 -1
  21. package/dist/docs/classes/Path.html +174 -68
  22. package/dist/docs/classes/PathItem.html +280 -177
  23. package/dist/docs/classes/Point.html +143 -21
  24. package/dist/docs/classes/PointText.html +94 -24
  25. package/dist/docs/classes/Project.html +14 -8
  26. package/dist/docs/classes/Raster.html +93 -35
  27. package/dist/docs/classes/Rectangle.html +12 -11
  28. package/dist/docs/classes/Segment.html +1 -1
  29. package/dist/docs/classes/Shape.html +63 -24
  30. package/dist/docs/classes/Size.html +81 -21
  31. package/dist/docs/classes/Style.html +34 -2
  32. package/dist/docs/classes/SymbolDefinition.html +1 -1
  33. package/dist/docs/classes/SymbolItem.html +64 -25
  34. package/dist/docs/classes/TextItem.html +94 -24
  35. package/dist/docs/classes/Tool.html +2 -1
  36. package/dist/docs/classes/ToolEvent.html +27 -1
  37. package/dist/docs/classes/Tween.html +1 -1
  38. package/dist/docs/classes/View.html +203 -10
  39. package/dist/docs/classes/global.html +1 -1
  40. package/dist/docs/classes/index.html +2 -2
  41. package/dist/docs/index.html +1 -1
  42. package/dist/node/canvas.js +10 -8
  43. package/dist/node/self.js +13 -4
  44. package/dist/paper-core.js +772 -355
  45. package/dist/paper-core.min.js +3 -3
  46. package/dist/paper-full.js +791 -366
  47. package/dist/paper-full.min.js +3 -3
  48. package/dist/paper.d.ts +324 -73
  49. package/examples/Rasters/Smoothing.html +1 -1
  50. package/package.json +5 -11
  51. package/dist/node/xml.js +0 -40
@@ -306,6 +306,7 @@ group.children['example'].fillColor = 'red';
306
306
 
307
307
  <div class="member-text">
308
308
  <p>The path style of the item.</p>
309
+ <p>Styles set on a <a href="../classes/Group.html"><tt>Group</tt></a> or <a href="../classes/Layer.html"><tt>Layer</tt></a> are applied to the children that it contains at that moment. Items added to it later do not receive them.</p>
309
310
 
310
311
 
311
312
 
@@ -648,6 +649,37 @@ circle2.opacity = 0.5;
648
649
  </div>
649
650
 
650
651
 
652
+ </div>
653
+
654
+ </div>
655
+ </div>
656
+
657
+
658
+ <div id="guide" class="member">
659
+ <div class="member-link">
660
+ <a name="guide" href="#guide"><tt><b>guide</b></tt></a>
661
+ </div>
662
+ <div class="member-description hidden">
663
+
664
+ <div class="member-text">
665
+ <p>Specifies whether the item functions as a guide. When set to <code>true</code>, the item is drawn as usual, but left out of hit-tests and mouse interactions. Hit-tests only find guides when <code>options.guides</code> is set, and then only them, see <a href="../classes/Item.html#hittest-point"><tt>hitTest(point[, options])</tt></a>.</p>
666
+
667
+
668
+
669
+ <ul class="member-list">
670
+ <h4>Default:</h4>
671
+ <li><tt>false</tt></li>
672
+ </ul>
673
+
674
+ <ul class="member-list">
675
+ <h4>Type:</h4>
676
+ <li>
677
+ <tt>Boolean</tt>
678
+ </li>
679
+ </ul>
680
+
681
+
682
+
651
683
  </div>
652
684
 
653
685
  </div>
@@ -1351,6 +1383,7 @@ console.log(group.children[0] == path); // true</code></pre>
1351
1383
 
1352
1384
  <div class="member-text">
1353
1385
  <p>The children items contained within this item. Items that define a <a href="../classes/Item.html#name"><tt>name</tt></a> can also be accessed by name.</p>
1386
+ <p>Only <a href="../classes/Group.html"><tt>Group</tt></a>, <a href="../classes/Layer.html"><tt>Layer</tt></a> and <a href="../classes/CompoundPath.html"><tt>CompoundPath</tt></a> items can have children. On all other items, such as <a href="../classes/Path.html"><tt>Path</tt></a>, <a href="../classes/Shape.html"><tt>Shape</tt></a>, <a href="../classes/Raster.html"><tt>Raster</tt></a>, <a href="../classes/SymbolItem.html"><tt>SymbolItem</tt></a> and <a href="../classes/PointText.html"><tt>PointText</tt></a>, <code>children</code> is <code>undefined</code>.</p>
1354
1387
  <p><b>Please note:</b> The children array should not be modified directly using array functions. To remove single items from the children list, use <a href="../classes/Item.html#remove"><tt>item.remove</tt></a>(), to remove all items from the children list, use <a href="../classes/Item.html#removechildren"><tt>item.removeChildren</tt></a>(). To add items to the children list, use <a href="../classes/Item.html#addchild-item"><tt>item.addChild(item)</tt></a> or <a href="../classes/Item.html#insertchild-index-item"><tt>item.insertChild(index, item)</tt></a>.</p>
1355
1388
 
1356
1389
 
@@ -3291,22 +3324,22 @@ function onMouseDown(event) {
3291
3324
  <div class="member-description hidden">
3292
3325
  <div class="member-text">
3293
3326
  <p>Performs a hit-test on the item and its children (if it is a <a href="../classes/Group.html"><tt>Group</tt></a> or <a href="../classes/Layer.html"><tt>Layer</tt></a>) at the location of the specified point, returning the first found hit.</p>
3294
- <p>The options object allows you to control the specifics of the hit- test and may contain a combination of the following values:</p>
3327
+ <p>The options object allows you to control the specifics of the hit-test. Without options, <code>fill</code>, <code>stroke</code> and <code>segments</code> are hit-tested. As soon as an options object is passed, only the hit-tests that it sets to <code>true</code> are performed. It may contain a combination of the following values:</p>
3295
3328
  <ul class="member-list">
3296
3329
  <h4>Options:</h4>
3297
- <li><tt>options.tolerance: <tt>Number</tt></tt> &mdash; the tolerance of the hit-test &mdash;&nbsp;default: <tt><a href="../classes/PaperScope.html#settings"><tt>paperScope.settings</tt></a>.hitTolerance</tt></li>
3330
+ <li><tt>options.tolerance: <tt>Number</tt></tt> &mdash; the tolerance of the hit-test, in project coordinates &mdash;&nbsp;default: <tt><a href="../classes/PaperScope.html#settings"><tt>paperScope.settings</tt></a>.hitTolerance</tt></li>
3298
3331
  <li><tt>options.class: <tt>Function</tt></tt> &mdash; only hit-test against a specific item class, or any of its sub-classes, by providing the constructor function against which an <code>instanceof</code> check is performed: <tt>Group</tt>, <tt>Layer</tt>, <tt>Path</tt>, <tt>CompoundPath</tt>, <tt>Shape</tt>, <tt>Raster</tt>, <tt>SymbolItem</tt>, <tt>PointText</tt>, &hellip;</li>
3299
3332
  <li><tt>options.match: <tt>Function</tt></tt> &mdash; a match function to be called for each found hit result: Return <code>true</code> to return the result, <code>false</code> to keep searching</li>
3300
- <li><tt>options.fill: <tt>Boolean</tt></tt> &mdash; hit-test the fill of items &mdash;&nbsp;default: <tt>true</tt></li>
3301
- <li><tt>options.stroke: <tt>Boolean</tt></tt> &mdash; hit-test the stroke of path items, taking into account the setting of stroke color and width &mdash;&nbsp;default: <tt>true</tt></li>
3302
- <li><tt>options.segments: <tt>Boolean</tt></tt> &mdash; hit-test for <a href="../classes/Segment.html#point"><tt>segment.point</tt></a> of <a href="../classes/Path.html"><tt>Path</tt></a> items &mdash;&nbsp;default: <tt>true</tt></li>
3333
+ <li><tt>options.fill: <tt>Boolean</tt></tt> &mdash; hit-test the fill of items</li>
3334
+ <li><tt>options.stroke: <tt>Boolean</tt></tt> &mdash; hit-test the stroke of path items, taking into account the setting of stroke color and width</li>
3335
+ <li><tt>options.segments: <tt>Boolean</tt></tt> &mdash; hit-test for <a href="../classes/Segment.html#point"><tt>segment.point</tt></a> of <a href="../classes/Path.html"><tt>Path</tt></a> items</li>
3303
3336
  <li><tt>options.curves: <tt>Boolean</tt></tt> &mdash; hit-test the curves of path items, without taking the stroke color or width into account</li>
3304
3337
  <li><tt>options.handles: <tt>Boolean</tt></tt> &mdash; hit-test for the handles (<a href="../classes/Segment.html#handlein"><tt>segment.handleIn</tt></a> / <a href="../classes/Segment.html#handleout"><tt>segment.handleOut</tt></a>) of path segments.</li>
3305
3338
  <li><tt>options.ends: <tt>Boolean</tt></tt> &mdash; only hit-test for the first or last segment points of open path items</li>
3306
3339
  <li><tt>options.position: <tt>Boolean</tt></tt> &mdash; hit-test the <a href="../classes/Item.html#position"><tt>item.position</tt></a> of of items, which depends on the setting of <a href="../classes/Item.html#pivot"><tt>item.pivot</tt></a></li>
3307
3340
  <li><tt>options.center: <tt>Boolean</tt></tt> &mdash; hit-test the <a href="../classes/Rectangle.html#center"><tt>rectangle.center</tt></a> of the bounding rectangle of items (<a href="../classes/Item.html#bounds"><tt>item.bounds</tt></a>)</li>
3308
3341
  <li><tt>options.bounds: <tt>Boolean</tt></tt> &mdash; hit-test the corners and side-centers of the bounding rectangle of items (<a href="../classes/Item.html#bounds"><tt>item.bounds</tt></a>)</li>
3309
- <li><tt>options.guides: <tt>Boolean</tt></tt> &mdash; hit-test items that have <tt>Item#guide</tt> set to <code>true</code></li>
3342
+ <li><tt>options.guides: <tt>Boolean</tt></tt> &mdash; only hit-test items that have <a href="../classes/Item.html#guide"><tt>item.guide</tt></a> set to <code>true</code></li>
3310
3343
  <li><tt>options.selected: <tt>Boolean</tt></tt> &mdash; only hit selected items</li>
3311
3344
  </ul>
3312
3345
 
@@ -3545,7 +3578,7 @@ function onMouseDown(event) {
3545
3578
  <h4>Returns:</h4>
3546
3579
 
3547
3580
  <li>
3548
- <tt>Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects</tt>&nbsp;&mdash;&nbsp;the list of matching descendant items
3581
+ <tt>Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects</tt>&nbsp;&mdash;&nbsp;the list of matching descendant items, in their stacking order from bottom to top, with each item listed before its own descendants
3549
3582
  </li>
3550
3583
 
3551
3584
 
@@ -3718,6 +3751,8 @@ function onMouseDown(event) {
3718
3751
  <li><tt>options.precision: <tt>Number</tt></tt> &mdash; the amount of fractional digits in numbers used in SVG data &mdash;&nbsp;default: <tt>5</tt></li>
3719
3752
  <li><tt>options.matchShapes: <tt>Boolean</tt></tt> &mdash; whether path items should tried to be converted to SVG shape items (rect, circle, ellipse, line, polyline, polygon), if their geometries match &mdash;&nbsp;default: <tt>false</tt></li>
3720
3753
  <li><tt>options.embedImages: <tt>Boolean</tt></tt> &mdash; whether raster images should be embedded as base64 data inlined in the xlink:href attribute, or kept as a link to their external URL. &mdash;&nbsp;default: <tt>true</tt></li>
3754
+ <li><tt>options.reuseImages: <tt>Boolean</tt></tt> &mdash; whether raster images with the same content should only be exported once into the <code>&lt;defs&gt;</code> element, and placed through <code>&lt;use&gt;</code> elements referencing it &mdash;&nbsp;default: <tt>false</tt></li>
3755
+ <li><tt>options.idPrefix: <tt>String</tt></tt> &mdash; a prefix for the ids generated for definitions such as gradients, clip paths and symbols, to keep them unique when several exported SVGs are placed in one document &mdash;&nbsp;default: <tt>&rsquo;&rsquo;</tt></li>
3721
3756
  <li><tt>options.reduceAttributes: <tt>Boolean</tt></tt> &mdash; wether to only include style attributes in the SVG output that differ from their parents, or to always include them (much faster but leading to redundancies). &mdash;&nbsp;default: <tt>true</tt></li>
3722
3757
  </ul>
3723
3758
 
@@ -3760,9 +3795,13 @@ function onMouseDown(event) {
3760
3795
  <div class="member-description hidden">
3761
3796
  <div class="member-text">
3762
3797
  <p>Converts the provided SVG content into Paper.js items and adds them to the this item&rsquo;s children list. Note that the item is not cleared first. You can call <a href="../classes/Item.html#removechildren"><tt>item.removeChildren</tt></a>() to do so.</p>
3798
+ <p><code>&lt;symbol&gt;</code> elements are imported as <a href="../classes/SymbolDefinition.html"><tt>SymbolDefinition</tt></a> items, and the <code>&lt;use&gt;</code> elements that place them as <a href="../classes/SymbolItem.html"><tt>SymbolItem</tt></a> items. The styles that <code>&lt;use&gt;</code> elements inherit don&rsquo;t reach the symbols&rsquo; content.</p>
3763
3799
  <ul class="member-list">
3764
3800
  <h4>Options:</h4>
3765
3801
  <li><tt>options.expandShapes: <tt>Boolean</tt></tt> &mdash; whether imported shape items should be expanded to path items &mdash;&nbsp;default: <tt>false</tt></li>
3802
+ <li>[options.crossOrigin] {String} the {@link Raster#crossOrigin}
3803
+ value of the rasters created for `<image>` elements, to load their
3804
+ images with CORS</li>
3766
3805
  <li><tt>options.onLoad: <tt>Function</tt></tt> &mdash; the callback function to call once the SVG content is loaded from the given URL receiving two arguments: the converted <code>item</code> and the original <code>svg</code> data as a string. Only required when loading from external resources.</li>
3767
3806
  <li><tt>options.onError: <tt>Function</tt></tt> &mdash; the callback function to call if an error occurs during loading. Only required when loading from external resources.</li>
3768
3807
  <li><tt>options.insert: <tt>Boolean</tt></tt> &mdash; whether the imported items should be added to the item that <code>importSVG()</code> is called on &mdash;&nbsp;default: <tt>true</tt></li>
@@ -4238,9 +4277,9 @@ Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects
4238
4277
  </div>
4239
4278
 
4240
4279
 
4241
- <div id="reduce-options" class="member">
4280
+ <div id="reduce" class="member">
4242
4281
  <div class="member-link">
4243
- <a name="reduce-options" href="#reduce-options"><tt><b>reduce</b>(options)</tt></a>
4282
+ <a name="reduce" href="#reduce"><tt><b>reduce</b>([options])</tt></a>
4244
4283
  </div>
4245
4284
  <div class="member-description hidden">
4246
4285
  <div class="member-text">
@@ -4252,9 +4291,9 @@ Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects
4252
4291
 
4253
4292
  <li>
4254
4293
  <tt>options:</tt>
4255
-
4256
-
4257
-
4294
+ <tt>Object</tt>
4295
+ &mdash;&nbsp;the options passed on to <a href="../classes/Path.html#reduce-options"><tt>path.reduce(options)</tt></a>
4296
+ &mdash;&nbsp;optional
4258
4297
  </li>
4259
4298
 
4260
4299
  </ul>
@@ -4643,7 +4682,7 @@ Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects
4643
4682
  </div>
4644
4683
  <div class="member-description hidden">
4645
4684
  <div class="member-text">
4646
- <p>Checks if this item is above the specified item in the stacking order of the project.</p>
4685
+ <p>Checks if this item is above the specified item in the stacking order of the project. If one item is a descendant of the other, neither is above the other and <code>false</code> is returned.</p>
4647
4686
 
4648
4687
 
4649
4688
  <ul class="member-list">
@@ -4684,7 +4723,7 @@ Array of <a href="../classes/Item.html"><tt>Item</tt></a> objects
4684
4723
  </div>
4685
4724
  <div class="member-description hidden">
4686
4725
  <div class="member-text">
4687
- <p>Checks if the item is below the specified item in the stacking order of the project.</p>
4726
+ <p>Checks if the item is below the specified item in the stacking order of the project. If one item is a descendant of the other, neither is below the other and <code>false</code> is returned.</p>
4688
4727
 
4689
4728
 
4690
4729
  <ul class="member-list">
@@ -5642,11 +5681,11 @@ circle.scale(3, 1);
5642
5681
 
5643
5682
  <div id="fitbounds-rectangle" class="member">
5644
5683
  <div class="member-link">
5645
- <a name="fitbounds-rectangle" href="#fitbounds-rectangle"><tt><b>fitBounds</b>(rectangle[, fill])</tt></a>
5684
+ <a name="fitbounds-rectangle" href="#fitbounds-rectangle"><tt><b>fitBounds</b>(rectangle[, fit])</tt></a>
5646
5685
  </div>
5647
5686
  <div class="member-description hidden">
5648
5687
  <div class="member-text">
5649
- <p>Transform the item so that its <a href="../classes/Item.html#bounds"><tt>bounds</tt></a> fit within the specified rectangle, without changing its aspect ratio.</p>
5688
+ <p>Transform the item so that its <a href="../classes/Item.html#bounds"><tt>bounds</tt></a> are centered in the specified rectangle and fitted to it as described by <code>fit</code>.</p>
5650
5689
 
5651
5690
 
5652
5691
  <ul class="member-list">
@@ -5660,10 +5699,10 @@ circle.scale(3, 1);
5660
5699
  </li>
5661
5700
 
5662
5701
  <li>
5663
- <tt>fill:</tt>
5664
- <tt>Boolean</tt>
5665
-
5666
- &mdash;&nbsp;optional, default: <tt>false</tt>
5702
+ <tt>fit:</tt>
5703
+ <tt>String</tt>⟋<tt>Boolean</tt>
5704
+ &mdash;&nbsp;how to fit the item, as in CSS&rsquo;s <code>object-fit</code>: <code>&#39;contain&#39;</code> fits all of it within the rectangle, <code>&#39;cover&#39;</code> makes it cover the whole rectangle, and <code>&#39;fill&#39;</code> stretches it to the rectangle, changing its aspect ratio. The deprecated <code>true</code> and <code>false</code> stand for <code>&#39;cover&#39;</code> and <code>&#39;contain&#39;</code>.
5705
+ &mdash;&nbsp;optional, default: <tt>&lsquo;contain&rsquo;</tt>
5667
5706
  </li>
5668
5707
 
5669
5708
  </ul>
@@ -5705,7 +5744,7 @@ circlePath.fitBounds(path.bounds);
5705
5744
  </div>
5706
5745
 
5707
5746
 
5708
- <h4>Example:<span class="description">Fitting an item to the bounding rectangle of another item's bounding rectangle with the fill parameter set to true:</span></h4>
5747
+ <h4>Example:<span class="description">Fitting an item to the bounding rectangle of another item's bounding rectangle, covering all of it:</span></h4>
5709
5748
 
5710
5749
  <div class="paperscript split">
5711
5750
 
@@ -5732,7 +5771,7 @@ var circlePath = new Path.Circle({
5732
5771
 
5733
5772
  // Fit the circlePath to the bounding rectangle of
5734
5773
  // the rectangular path:
5735
- circlePath.fitBounds(path.bounds, true);
5774
+ circlePath.fitBounds(path.bounds, 'cover');
5736
5775
  </script>
5737
5776
  <div class="canvas"><canvas width="516" height="100" id="canvas-45"></canvas></div>
5738
5777
  </div>
@@ -6382,7 +6421,7 @@ function onMouseDown(event) {
6382
6421
  <ul class="member-list">
6383
6422
  <h4>Options:</h4>
6384
6423
  <li><tt>options.duration: <tt>Number</tt></tt> &mdash; the duration of the tweening</li>
6385
- <li><tt>options.easing: <tt>Function</tt>⟋<tt>String</tt></tt> &mdash; an easing function or the type of the easing: <tt>&lsquo;linear&rsquo; &lsquo;easeInQuad&rsquo; &lsquo;easeOutQuad&rsquo; &lsquo;easeInOutQuad&rsquo; &lsquo;easeInCubic&rsquo; &lsquo;easeOutCubic&rsquo; &lsquo;easeInOutCubic&rsquo; &lsquo;easeInQuart&rsquo; &lsquo;easeOutQuart&rsquo; &lsquo;easeInOutQuart&rsquo; &lsquo;easeInQuint&rsquo; &lsquo;easeOutQuint&rsquo; &lsquo;easeInOutQuint&rsquo;</tt> &mdash;&nbsp;default: <tt>&lsquo;linear&rsquo;</tt></li>
6424
+ <li><tt>options.easing: <tt>Function</tt>⟋<tt>String</tt></tt> &mdash; an easing function or the type of the easing: <tt>&lsquo;linear&rsquo; &lsquo;easeInQuad&rsquo; &lsquo;easeOutQuad&rsquo; &lsquo;easeInOutQuad&rsquo; &lsquo;easeInCubic&rsquo; &lsquo;easeOutCubic&rsquo; &lsquo;easeInOutCubic&rsquo; &lsquo;easeInQuart&rsquo; &lsquo;easeOutQuart&rsquo; &lsquo;easeInOutQuart&rsquo; &lsquo;easeInQuint&rsquo; &lsquo;easeOutQuint&rsquo; &lsquo;easeInOutQuint&rsquo; &lsquo;easeInSine&rsquo; &lsquo;easeOutSine&rsquo; &lsquo;easeInOutSine&rsquo; &lsquo;easeInExpo&rsquo; &lsquo;easeOutExpo&rsquo; &lsquo;easeInOutExpo&rsquo; &lsquo;easeInCirc&rsquo; &lsquo;easeOutCirc&rsquo; &lsquo;easeInOutCirc&rsquo;</tt> &mdash;&nbsp;default: <tt>&lsquo;linear&rsquo;</tt></li>
6386
6425
  <li><tt>options.start: <tt>Boolean</tt></tt> &mdash; whether to start tweening automatically &mdash;&nbsp;default: <tt>true</tt></li>
6387
6426
  </ul>
6388
6427
 
@@ -6840,7 +6879,7 @@ function onFrame(event) {
6840
6879
 
6841
6880
  <!-- =========================== copyright notice ========================== -->
6842
6881
  <p class="footer">
6843
- Paper.js v0.12.19<br>
6882
+ Paper.js v0.13.0<br>
6844
6883
  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>
6845
6884
  <div class="content-end"></div>
6846
6885
 
@@ -1735,7 +1735,7 @@ Array of <tt>Numbers</tt>
1735
1735
 
1736
1736
  <!-- =========================== copyright notice ========================== -->
1737
1737
  <p class="footer">
1738
- Paper.js v0.12.19<br>
1738
+ Paper.js v0.13.0<br>
1739
1739
  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>
1740
1740
  <div class="content-end"></div>
1741
1741
 
@@ -346,7 +346,7 @@
346
346
 
347
347
  <!-- =========================== copyright notice ========================== -->
348
348
  <p class="footer">
349
- Paper.js v0.12.19<br>
349
+ Paper.js v0.13.0<br>
350
350
  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>
351
351
  <div class="content-end"></div>
352
352
 
@@ -372,6 +372,54 @@
372
372
 
373
373
 
374
374
 
375
+ </div>
376
+ </div>
377
+ </div>
378
+
379
+
380
+ <div id="createcanvas-width-height" class="member">
381
+ <div class="member-link">
382
+ <a name="createcanvas-width-height" href="#createcanvas-width-height"><tt><b>createCanvas</b>(width, height)</tt></a>
383
+ </div>
384
+ <div class="member-description hidden">
385
+ <div class="member-text">
386
+ <p>Creates a canvas of the given size, or reuses one that was released internally.</p>
387
+
388
+
389
+ <ul class="member-list">
390
+ <h4>Parameters:</h4>
391
+
392
+ <li>
393
+ <tt>width:</tt>
394
+ <tt>Number</tt>
395
+ &mdash;&nbsp;the width of the canvas
396
+
397
+ </li>
398
+
399
+ <li>
400
+ <tt>height:</tt>
401
+ <tt>Number</tt>
402
+ &mdash;&nbsp;the height of the canvas
403
+
404
+ </li>
405
+
406
+ </ul>
407
+
408
+
409
+ <ul class="member-list">
410
+ <h4>Returns:</h4>
411
+
412
+ <li>
413
+ <tt><tt>HTMLCanvasElement</tt></tt>&nbsp;&mdash;&nbsp;the canvas
414
+ </li>
415
+
416
+
417
+ </ul>
418
+
419
+
420
+
421
+
422
+
375
423
  </div>
376
424
  </div>
377
425
  </div>
@@ -391,6 +439,44 @@
391
439
 
392
440
 
393
441
 
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+
447
+ <div id="clear" class="member">
448
+ <div class="member-link">
449
+ <a name="clear" href="#clear"><tt><b>clear</b>()</tt></a>
450
+ </div>
451
+ <div class="member-description hidden">
452
+ <div class="member-text">
453
+ <p>Removes all projects, views and tools of this scope, along with their installed event handlers.</p>
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+ </div>
462
+ </div>
463
+ </div>
464
+
465
+
466
+ <div id="remove" class="member">
467
+ <div class="member-link">
468
+ <a name="remove" href="#remove"><tt><b>remove</b>()</tt></a>
469
+ </div>
470
+ <div class="member-description hidden">
471
+ <div class="member-text">
472
+ <p>Clears this scope and removes it from the list of scopes.</p>
473
+
474
+
475
+
476
+
477
+
478
+
479
+
394
480
  </div>
395
481
  </div>
396
482
  </div>
@@ -450,7 +536,7 @@
450
536
 
451
537
  <!-- =========================== copyright notice ========================== -->
452
538
  <p class="footer">
453
- Paper.js v0.12.19<br>
539
+ Paper.js v0.13.0<br>
454
540
  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>
455
541
  <div class="content-end"></div>
456
542
 
@@ -189,7 +189,7 @@
189
189
 
190
190
  <!-- =========================== copyright notice ========================== -->
191
191
  <p class="footer">
192
- Paper.js v0.12.19<br>
192
+ Paper.js v0.13.0<br>
193
193
  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>
194
194
  <div class="content-end"></div>
195
195