Repository: fabricjs/fabric.js
Pull request #9561 (2023-12-29 08:32:53)

revert(): rm active selection ref
<!--
        Hi there!
        Thanks for taking the time and putting the effort into making fabric better! 💖
        Take a look at /CONTRIBUTING.md for crucial instructions regarding local setup, testing etc.
        https://github.com/fabricjs/fabric.js/blob/master/CONTRIBUTING.md

        Adding tests that verify your fix and safeguard it from unwanted loss and changes is a MUST.

        Pull Requests are not always simple. Don't hesitate to ask for help (beware of [gotchas](http://fabricjs.com/fabric-gotchas) 😓).
        We appreciate your effort and would like the process to be productive and enjoyable.
        A strong community means a strong and better product for everyone.

        Each PR can introduce a single feature or change or fix a single bug
        Large refactors PR have been discussed before and probably splitted in steps
-->

## Description

This PR reverts the active selection ref on the canvas.
It was a bad decision that opened odd bugs and bad design
Voids the need for #9525
<!-- Summarize the reasons of your changes and the meaning of your code. Why the code you are changing is wrong? why your is better? -->
<!-- If you are fixing a regression, please link the commit that introduced the bug -->
<!-- If you are proposing a feature, please link the discussion/issue where that was presented and discussed -->
<!-- Is this pullrequest a follow up from an open issue? if so please link the issue like the example below in addition to the summary -->
<!-- Related to #1234 -->

## In Action

<!-- Add screenshots or recordings if necessary or requested -->
<!-- Are you proposing a performance change? show a some proof of performance -->


github-actions[bot]: <!-- BUILD STATS COMMENT -->
**Build Stats**

 | file / KB (diff) | bundled | minified | 
 | --- | --- | --- | 
 | fabric | 906.293 (**-0.452**) | 304.327 (**-0.305**) | 

ShaMan123: @asturur please review this so we can decide on the right way forward
asturur: i am ok reverting this feature, i was neutral about it, if the code in this way is simpler i prefer to roll it back
asturur: I think we should use the classRegistry to load the ActiveSelection class and we  should avoid to use instanceOf for it.
I can do those changes if you are in rush of merging and you don't have time today, otherwise you can do them
ShaMan123: > I think we should use the classRegistry to load the ActiveSelection class and we should avoid to use instanceOf for it. I can do those changes if you are in rush of merging and you don't have time today, otherwise you can do them

I will do it now.
What else apart from `instanceof`? Back to `isActiveSelection`?

asturur: > > I think we should use the classRegistry to load the ActiveSelection class and we should avoid to use instanceOf for it. I can do those changes if you are in rush of merging and you don't have time today, otherwise you can do them
> 
> I will do it now. What else apart from `instanceof`? Back to `isActiveSelection`?

yes something that can detect withou using the class.

if we didn't have selections of objects inside a group we could just say that the activeObject is not in canvas, that would grant is an active selection, but now we have to flag it maybe recognizing the stac property we added recently or something else
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.81%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1004-L1005'>1004&ndash;1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1005'>1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1042-L1044'>1042&ndash;1044</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1047-L1048'>1047&ndash;1048</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1052-L1053'>1052&ndash;1053</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1176-L1178'>1176&ndash;1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1181-L1182'>1181&ndash;1182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1255'>1255</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L1491'>1491</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L288'>288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L288-L293'>288&ndash;293</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L298'>298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L321-L322'>321&ndash;322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L327-L332'>327&ndash;332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L352-L353'>352&ndash;353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L367-L368'>367&ndash;368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L368'>368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L371'>371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L380'>380</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L386-L387'>386&ndash;387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L430'>430</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L438'>438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L442-L443'>442&ndash;443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L445'>445</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L527-L528'>527&ndash;528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L528'>528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L535-L537'>535&ndash;537</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L557'>557</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L559-L560'>559&ndash;560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L563-L564'>563&ndash;564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L567'>567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L576-L577'>576&ndash;577</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L579-L580'>579&ndash;580</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L582'>582</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L585-L586'>585&ndash;586</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L598-L599'>598&ndash;599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L599'>599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L602-L607'>602&ndash;607</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L613'>613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L620'>620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L661-L666'>661&ndash;666</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L672'>672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L678-L679'>678&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L684'>684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L689'>689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L702'>702</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L730'>730</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L782-L783'>782&ndash;783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L786-L787'>786&ndash;787</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L790'>790</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L790-L792'>790&ndash;792</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L795-L796'>795&ndash;796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L878'>878</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L898'>898</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L931'>931</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L952-L953'>952&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L969-L970'>969&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L970'>970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L970-L972'>970&ndash;972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L975-L976'>975&ndash;976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L978'>978</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L986-L988'>986&ndash;988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.19%</b></td><td><b>91.87%</b></td><td><b>94.44%</b></td><td><b>94.01%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L1128'>1128</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L1132-L1133'>1132&ndash;1133</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/c421e98b7fc95f56a8d9f11d49fb9e09afa160cd/src/controls/rotate.ts#L73-L74'>73
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.81%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1004-L1005'>1004&ndash;1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1005'>1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1042-L1044'>1042&ndash;1044</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1047-L1048'>1047&ndash;1048</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1052-L1053'>1052&ndash;1053</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1176-L1178'>1176&ndash;1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1181-L1182'>1181&ndash;1182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1255'>1255</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L1491'>1491</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L288'>288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L288-L293'>288&ndash;293</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L298'>298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L321-L322'>321&ndash;322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L327-L332'>327&ndash;332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L352-L353'>352&ndash;353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L367-L368'>367&ndash;368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L368'>368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L371'>371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L380'>380</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L386-L387'>386&ndash;387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L430'>430</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L438'>438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L442-L443'>442&ndash;443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L445'>445</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L527-L528'>527&ndash;528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L528'>528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L535-L537'>535&ndash;537</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L557'>557</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L559-L560'>559&ndash;560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L563-L564'>563&ndash;564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L567'>567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L576-L577'>576&ndash;577</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L579-L580'>579&ndash;580</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L582'>582</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L585-L586'>585&ndash;586</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L598-L599'>598&ndash;599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L599'>599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L602-L607'>602&ndash;607</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L613'>613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L620'>620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L661-L666'>661&ndash;666</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L672'>672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L678-L679'>678&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L684'>684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L689'>689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L702'>702</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L730'>730</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L782-L783'>782&ndash;783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L786-L787'>786&ndash;787</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L790'>790</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L790-L792'>790&ndash;792</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L795-L796'>795&ndash;796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L878'>878</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L898'>898</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L931'>931</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L952-L953'>952&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L969-L970'>969&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L970'>970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L970-L972'>970&ndash;972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L975-L976'>975&ndash;976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L978'>978</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L986-L988'>986&ndash;988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.19%</b></td><td><b>91.87%</b></td><td><b>94.44%</b></td><td><b>94.01%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L1128'>1128</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L1132-L1133'>1132&ndash;1133</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/d72ab68fb553e6bd92fef040d7314fa1858dd091/src/controls/rotate.ts#L73-L74'>73
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.81%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1004-L1005'>1004&ndash;1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1005'>1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1042-L1044'>1042&ndash;1044</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1047-L1048'>1047&ndash;1048</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1052-L1053'>1052&ndash;1053</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1176-L1178'>1176&ndash;1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1181-L1182'>1181&ndash;1182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1255'>1255</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L1491'>1491</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L288'>288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L288-L293'>288&ndash;293</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L298'>298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L321-L322'>321&ndash;322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L327-L332'>327&ndash;332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L352-L353'>352&ndash;353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L367-L368'>367&ndash;368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L368'>368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L371'>371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L380'>380</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L386-L387'>386&ndash;387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L430'>430</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L438'>438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L442-L443'>442&ndash;443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L445'>445</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L527-L528'>527&ndash;528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L528'>528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L535-L537'>535&ndash;537</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L557'>557</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L559-L560'>559&ndash;560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L563-L564'>563&ndash;564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L567'>567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L576-L577'>576&ndash;577</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L579-L580'>579&ndash;580</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L582'>582</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L585-L586'>585&ndash;586</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L598-L599'>598&ndash;599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L599'>599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L602-L607'>602&ndash;607</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L613'>613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L620'>620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L661-L666'>661&ndash;666</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L672'>672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L678-L679'>678&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L684'>684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L689'>689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L702'>702</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L730'>730</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L782-L783'>782&ndash;783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L786-L787'>786&ndash;787</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L790'>790</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L790-L792'>790&ndash;792</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L795-L796'>795&ndash;796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L878'>878</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L898'>898</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L931'>931</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L952-L953'>952&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L969-L970'>969&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L970'>970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L970-L972'>970&ndash;972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L975-L976'>975&ndash;976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L978'>978</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L986-L988'>986&ndash;988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.19%</b></td><td><b>91.87%</b></td><td><b>94.44%</b></td><td><b>94.01%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L1128'>1128</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L1132-L1133'>1132&ndash;1133</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/324e0c185d6e153aba85d344be3bc25fedc36730/src/controls/rotate.ts#L73-L74'>73
asturur: > All tests should pass now Remaining is to decide about how to handle `instanceof ActiveSelection` Since there is no issue with import cycles I don't mind leaving it as is. I could re-expose `isActiveSelection` using `classRegistry`
> 
> ```
> const isActiveSelection = (object: FabricObject) =>
>   object instanceof
>   classRegistry.getClass<typeof ActiveSelection>('ActiveSelection');
> ```
> 
> Is that better?

That would be fine imho, but is slightly different from the others, but does the job.
Wouldn't be applicable to the other functions we have there, but for the specific case of activeSelection i think is fine.
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.81%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1004-L1005'>1004&ndash;1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1005'>1005</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1042-L1044'>1042&ndash;1044</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1047-L1048'>1047&ndash;1048</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1052-L1053'>1052&ndash;1053</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1176-L1178'>1176&ndash;1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1181-L1182'>1181&ndash;1182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1255'>1255</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L1491'>1491</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L182'>182</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L288'>288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L288-L293'>288&ndash;293</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L298'>298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L321-L322'>321&ndash;322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L327-L332'>327&ndash;332</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L352'>352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L352-L353'>352&ndash;353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L367-L368'>367&ndash;368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L368'>368</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L371'>371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L380'>380</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L386-L387'>386&ndash;387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L387'>387</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L430'>430</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L438'>438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L442'>442</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L442-L443'>442&ndash;443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L445'>445</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L527-L528'>527&ndash;528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L528'>528</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L535'>535</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L535-L537'>535&ndash;537</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L557'>557</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L559-L560'>559&ndash;560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L563'>563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L563-L564'>563&ndash;564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L567'>567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L576-L577'>576&ndash;577</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L579-L580'>579&ndash;580</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L582'>582</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L585-L586'>585&ndash;586</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L598-L599'>598&ndash;599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L599'>599</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L602-L607'>602&ndash;607</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L613'>613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L620'>620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L657'>657</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L661-L666'>661&ndash;666</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L672'>672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L678'>678</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L678-L679'>678&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L684'>684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L689'>689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L702'>702</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L730'>730</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L782-L783'>782&ndash;783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L783'>783</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L786-L787'>786&ndash;787</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L790'>790</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L790-L792'>790&ndash;792</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L795-L796'>795&ndash;796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L878'>878</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L885'>885</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L898'>898</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L931'>931</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L952-L953'>952&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L969-L970'>969&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L970'>970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L970-L972'>970&ndash;972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L975-L976'>975&ndash;976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L976'>976</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L978'>978</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L986'>986</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L986-L988'>986&ndash;988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L988'>988</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.19%</b></td><td><b>91.87%</b></td><td><b>94.44%</b></td><td><b>94.01%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L1128'>1128</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L1132-L1133'>1132&ndash;1133</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/45155353164c4912525cb848c2a38a515a5a6326/src/controls/rotate.ts#L73-L74'>73
asturur: not sure typing getClass in that way is a good move, but we can still default to any as it was before and patch where it creates issues
ShaMan123: > not sure typing getClass in that way is a good move, but we can still default to any as it was before and patch where it creates issues

Can you elaborate?
I don't really like passing `typeof Class` and prefer passing `Class` but TS can't easily support that
Also I thought of adding a default any
ShaMan123: Mu thoughts about `isActiveSelection` still stand, please consider.
It is used only by Canvas/SelectableCanvas. These classes depend on ActiveSelection. So there is no reason not to import ActiveSelection and use instanceof, de facto no import cycles were created.
I think `isActiveSelection` is messy and weird and opens up strange issues with the class registry and it means the ActiveSelection was imported anyways so why not just do it without this workaround?
Anyways I will expose the util, it is easy to expel it later on
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.82%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1006'>1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1006-L1007'>1006&ndash;1007</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1013'>1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1015'>1015</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1043-L1045'>1043&ndash;1045</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1048-L1049'>1048&ndash;1049</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1053-L1054'>1053&ndash;1054</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1177-L1179'>1177&ndash;1179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1182-L1183'>1182&ndash;1183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1256'>1256</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1371'>1371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L1491'>1491</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L158'>158</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L289'>289</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L289-L294'>289&ndash;294</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L299'>299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L322-L323'>322&ndash;323</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L328-L333'>328&ndash;333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L354'>354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L354-L355'>354&ndash;355</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L363'>363</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L369'>369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L369-L370'>369&ndash;370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L372'>372</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L381'>381</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L387-L388'>387&ndash;388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L431'>431</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L439'>439</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L443-L444'>443&ndash;444</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L446'>446</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L529'>529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L529-L530'>529&ndash;530</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L536'>536</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L536'>536</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L536-L538'>536&ndash;538</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L558'>558</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L560-L561'>560&ndash;561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L561'>561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L561'>561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L564'>564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L564'>564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L564-L565'>564&ndash;565</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L568'>568</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L577-L578'>577&ndash;578</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L580-L581'>580&ndash;581</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L583'>583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L583-L584'>583&ndash;584</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L586-L587'>586&ndash;587</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L600'>600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L600-L601'>600&ndash;601</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L603-L608'>603&ndash;608</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L614'>614</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L621'>621</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L660'>660</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L662-L667'>662&ndash;667</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L673'>673</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L679'>679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L679'>679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L679-L680'>679&ndash;680</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L682'>682</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L685'>685</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L690'>690</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L703'>703</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L731'>731</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L783-L784'>783&ndash;784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L787-L788'>787&ndash;788</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L791'>791</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L791-L793'>791&ndash;793</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L796-L797'>796&ndash;797</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L879'>879</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L899'>899</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L953-L954'>953&ndash;954</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L970-L971'>970&ndash;971</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L971'>971</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L971-L973'>971&ndash;973</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L976-L977'>976&ndash;977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L977'>977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L977'>977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L979'>979</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L987'>987</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L987'>987</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L987-L989'>987&ndash;989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L989'>989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L989'>989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/Canvas.ts#L996-L997'>996&ndash;997</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.15%</b></td><td><b>91.80%</b></td><td><b>94.34%</b></td><td><b>93.99%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L1119'>1119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L1121'>1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L1123-L1124'>1123&ndash;1124</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/06eee6f756cec1b3e5a59f8d6700ea9f30840d03/src/controls/rotate.ts#L73-L74'>73
ShaMan123: jest just proved that.
waiting for your review on this

> My thoughts about `isActiveSelection` still stand, please consider. It is used only by Canvas/SelectableCanvas. These classes depend on ActiveSelection. So there is no reason not to import ActiveSelection and use instanceof, de facto no import cycles were created. I think `isActiveSelection` is messy and weird and opens up strange issues with the class registry and it means the ActiveSelection was imported anyways so why not just do it without this workaround? Anyways I will expose the util, it is easy to expel it later on


asturur: > > not sure typing getClass in that way is a good move, but we can still default to any as it was before and patch where it creates issues
> 
> Can you elaborate? I don't really like passing `typeof Class` and prefer passing `Class` but TS can't easily support that Also I thought of adding a default any

> My thoughts about `isActiveSelection` still stand, please consider. It is used only by Canvas/SelectableCanvas. These classes depend on ActiveSelection. So there is no reason not to import ActiveSelection and use instanceof, de facto no import cycles were created. I think `isActiveSelection` is messy and weird and opens up strange issues with the class registry and it means the ActiveSelection was imported anyways so why not just do it without this workaround? Anyways I will expose the util, it is easy to expel it later on

Doing isActiveSelection or doing  instanceOf ActiveSelection is the same exact thing, at the net of the forced import.
Canvas do not depend on activeSelection if you don't plan to use it and disable the multi selection entirely and anyway being splittable is a target goal.
So if we have to check for a switch in a piece of code is better we do it in a way it doesn't bind the code together.
asturur: using the classRegistry check with Jest is broken because jest imports only what it needs, so i had to revert it to checking a random exclusive property
github-actions[bot]: Coverage after merging <b>revert-active-selection-ref</b> into <b>master</b> will be<table><tbody><tr><th>82.82%</th></tr></tbody></table>

<details><summary>Coverage Report</summary><table><tbody><tr><th>File</th><th>Stmts</th><th>Branches</th><th>Funcs</th><th>Lines</th><th>Uncovered Lines</th></tr><tr><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts'>index.node.ts</a></td><td><b>7.69%</b></td><td>100%</td><td><b>0%</b></td><td><b>14.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L35'>35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L38'>38</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/index.node.ts#L41'>41</a></td></tr><tr><td colspan='6'><b>src</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Collection.ts'>Collection.ts</a></td><td><b>94.85%</b></td><td><b>94.83%</b></td><td><b>87.10%</b></td><td><b>97.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Collection.ts#L109'>109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Collection.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Collection.ts#L215-L216'>215&ndash;216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Collection.ts#L241-L242'>241&ndash;242</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>96.55%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/CommonMethods.ts#L9'>9</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Intersection.ts'>Intersection.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts'>Observable.ts</a></td><td><b>87.76%</b></td><td><b>85.29%</b></td><td><b>87.50%</b></td><td><b>89.58%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L134-L135'>134&ndash;135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L32-L33'>32&ndash;33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L78'>78</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Observable.ts#L89'>89</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Point.ts'>Point.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Shadow.ts'>Shadow.ts</a></td><td><b>98.36%</b></td><td><b>95.65%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Shadow.ts#L178'>178</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/cache.ts'>cache.ts</a></td><td><b>97.06%</b></td><td><b>90%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/cache.ts#L57'>57</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts'>config.ts</a></td><td><b>74.14%</b></td><td><b>65%</b></td><td><b>66.67%</b></td><td><b>82.76%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L131'>131</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L139-L141'>139&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/config.ts#L30'>30</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>88.05%</b></td><td><b>89.83%</b></td><td><b>76.92%</b></td><td><b>90.54%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L136-L137'>136&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L139-L140'>139&ndash;140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L140'>140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L234'>234</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L297-L298'>297&ndash;298</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L309'>309</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutManager.ts#L47'>47</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td colspan='6'><b>src/LayoutManager/LayoutStrategies</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>82.05%</b></td><td><b>72.22%</b></td><td>100%</td><td><b>88.89%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L30-L31'>30&ndash;31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L65'>65</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FitContentLayout.ts'>FitContentLayout.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>20%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>40%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L20-L21'>20&ndash;21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>86.54%</b></td><td><b>64.71%</b></td><td>100%</td><td><b>96.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L36'>36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L43'>43</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L78-L79'>78&ndash;79</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>91.67%</b></td><td><b>85.71%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/utils.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/LayoutManager/LayoutStrategies/utils.ts#L34'>34</a></td></tr><tr><td colspan='6'><b>src/Pattern</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>90.54%</b></td><td><b>93.94%</b></td><td><b>80%</b></td><td><b>90.32%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/Pattern/Pattern.ts#L36'>36</a></td></tr><tr><td colspan='6'><b>src/brushes</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L108'>108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L112'>112</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L114-L116'>114&ndash;116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L118-L121'>118&ndash;121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L128-L129'>128&ndash;129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L13'>13</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L23-L24'>23&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L32-L36'>32&ndash;36</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L40-L44'>40&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L51-L54'>51&ndash;54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L62-L66'>62&ndash;66</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L68'>68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L76-L77'>76&ndash;77</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L79-L82'>79&ndash;82</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L92-L93'>92&ndash;93</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L95'>95</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/CircleBrush.ts#L97-L99'>97&ndash;99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PatternBrush.ts'>PatternBrush.ts</a></td><td><b>97.06%</b></td><td><b>87.50%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts'>PencilBrush.ts</a></td><td><b>91.06%</b></td><td><b>82.35%</b></td><td>100%</td><td><b>93.81%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/PencilBrush.ts#L84-L85'>84&ndash;85</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts'>SprayBrush.ts</a></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/brushes/SprayBrush.ts#L98-L99'>98&ndash;99</a></td></tr><tr><td colspan='6'><b>src/canvas</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>79.02%</b></td><td><b>76.99%</b></td><td><b>83.05%</b></td><td><b>79.88%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1005-L1006'>1005&ndash;1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1006'>1006</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1006-L1007'>1006&ndash;1007</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1013'>1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1015'>1015</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1043-L1045'>1043&ndash;1045</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1048-L1049'>1048&ndash;1049</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1053-L1054'>1053&ndash;1054</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1177-L1179'>1177&ndash;1179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1182-L1183'>1182&ndash;1183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1256'>1256</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1371'>1371</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L1492'>1492</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L158'>158</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L289'>289</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L289-L294'>289&ndash;294</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L299'>299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L322-L323'>322&ndash;323</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L328-L333'>328&ndash;333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L353'>353</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L353-L354'>353&ndash;354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L354'>354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L354-L355'>354&ndash;355</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L363'>363</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L368-L369'>368&ndash;369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L369'>369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L369-L370'>369&ndash;370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L372'>372</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L381'>381</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L387-L388'>387&ndash;388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L42'>42</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L431'>431</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L439'>439</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L443-L444'>443&ndash;444</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L446'>446</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L528-L529'>528&ndash;529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L529'>529</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L529-L530'>529&ndash;530</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L536'>536</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L536'>536</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L536-L538'>536&ndash;538</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L558'>558</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L560'>560</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L560-L561'>560&ndash;561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L561'>561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L561'>561</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L564'>564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L564'>564</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L564-L565'>564&ndash;565</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L568'>568</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L577-L578'>577&ndash;578</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L580-L581'>580&ndash;581</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L583'>583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L583-L584'>583&ndash;584</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L586-L587'>586&ndash;587</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L599-L600'>599&ndash;600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L600'>600</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L600-L601'>600&ndash;601</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L603-L608'>603&ndash;608</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L614'>614</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L621'>621</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L658'>658</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L660'>660</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L662-L667'>662&ndash;667</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L673'>673</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L679'>679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L679'>679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L679-L680'>679&ndash;680</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L682'>682</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L685'>685</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L690'>690</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L703'>703</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L731'>731</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L783-L784'>783&ndash;784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L784'>784</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L787-L788'>787&ndash;788</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L791'>791</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L791-L793'>791&ndash;793</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L796-L797'>796&ndash;797</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L879'>879</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L886'>886</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L899'>899</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L953-L954'>953&ndash;954</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L970-L971'>970&ndash;971</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L971'>971</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L971-L973'>971&ndash;973</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L976-L977'>976&ndash;977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L977'>977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L977'>977</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L979'>979</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L987'>987</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L987'>987</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L987-L989'>987&ndash;989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L989'>989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L989'>989</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/Canvas.ts#L996-L997'>996&ndash;997</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/CanvasOptions.ts'>CanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>93.17%</b></td><td><b>91.84%</b></td><td><b>94.34%</b></td><td><b>94.01%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L1001'>1001</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L1120'>1120</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L1122'>1122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L1124-L1125'>1124&ndash;1125</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L460-L461'>460&ndash;461</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L463-L464'>463&ndash;464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L464'>464</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L513-L514'>513&ndash;514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L575-L576'>575&ndash;576</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L589'>589</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L629-L631'>629&ndash;631</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L663'>663</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L668-L669'>668&ndash;669</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L696-L697'>696&ndash;697</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L757-L758'>757&ndash;758</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L763-L767'>763&ndash;767</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L769'>769</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L928'>928</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L928-L929'>928&ndash;929</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L932'>932</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L952'>952</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/SelectableCanvas.ts#L952'>952</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>96.53%</b></td><td><b>93.09%</b></td><td><b>98.92%</b></td><td><b>98.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1019'>1019</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1029'>1029</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1080-L1082'>1080&ndash;1082</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1085'>1085</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1120-L1121'>1120&ndash;1121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1197'>1197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1206'>1206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1210'>1210</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L1257-L1258'>1257&ndash;1258</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L195'>195</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L559'>559</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L571-L572'>571&ndash;572</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L902-L903'>902&ndash;903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L903'>903</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvas.ts#L903-L904'>903&ndash;904</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/StaticCanvasOptions.ts'>StaticCanvasOptions.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts'>TextEditingManager.ts</a></td><td><b>86%</b></td><td><b>71.43%</b></td><td><b>91.67%</b></td><td><b>91.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts#L17-L18'>17&ndash;18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/TextEditingManager.ts#L18'>18</a></td></tr><tr><td colspan='6'><b>src/canvas/DOMManagers</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/CanvasDOMManager.ts'>CanvasDOMManager.ts</a></td><td><b>95.52%</b></td><td><b>70%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/CanvasDOMManager.ts#L21-L22'>21&ndash;22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/CanvasDOMManager.ts#L29'>29</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/StaticCanvasDOMManager.ts'>StaticCanvasDOMManager.ts</a></td><td><b>97.50%</b></td><td><b>88.89%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/StaticCanvasDOMManager.ts#L33'>33</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts'>util.ts</a></td><td><b>86.67%</b></td><td><b>80.56%</b></td><td><b>83.33%</b></td><td><b>93.94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L14'>14</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L63-L64'>63&ndash;64</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L74'>74</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/canvas/DOMManagers/util.ts#L93-L94'>93&ndash;94</a></td></tr><tr><td colspan='6'><b>src/color</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/Color.ts'>Color.ts</a></td><td><b>94.96%</b></td><td><b>91.67%</b></td><td><b>96.30%</b></td><td><b>96.05%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/Color.ts#L233'>233</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/Color.ts#L258-L259'>258&ndash;259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/Color.ts#L267-L268'>267&ndash;268</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/Color.ts#L48'>48</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/color_map.ts'>color_map.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/constants.ts'>constants.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts'>util.ts</a></td><td><b>85.71%</b></td><td><b>76.92%</b></td><td>100%</td><td><b>89.74%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L55-L56'>55&ndash;56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L56'>56</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L58'>58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L61-L62'>61&ndash;62</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/color/util.ts#L89'>89</a></td></tr><tr><td colspan='6'><b>src/controls</b></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/Control.ts'>Control.ts</a></td><td><b>94.44%</b></td><td><b>93.10%</b></td><td><b>91.67%</b></td><td><b>96.77%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/Control.ts#L183'>183</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/Control.ts#L249'>249</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/Control.ts#L354'>354</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/changeWidth.ts'>changeWidth.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/commonControls.ts'>commonControls.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts'>controlRendering.ts</a></td><td><b>81.63%</b></td><td><b>78%</b></td><td>100%</td><td><b>84.78%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L106'>106</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L111'>111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L65-L72'>65&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/controlRendering.ts#L81-L82'>81&ndash;82</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/drag.ts'>drag.ts</a></td><td>100%</td><td>100%</td><td>100%</td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/fireEvent.ts'>fireEvent.ts</a></td><td><b>88.89%</b></td><td><b>75%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/fireEvent.ts#L13'>13</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts'>polyControl.ts</a></td><td><b>10.87%</b></td><td><b>0%</b></td><td><b>0%</b></td><td><b>16.13%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L116-L119'>116&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L119'>119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L129'>129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L24-L26'>24&ndash;26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L50-L52'>50&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L58-L59'>58&ndash;59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L71'>71</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L77-L79'>77&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L81'>81</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L84'>84</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L86'>86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L90-L92'>90&ndash;92</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L94'>94</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/polyControl.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts'>rotate.ts</a></td><td><b>19.57%</b></td><td><b>12.50%</b></td><td><b>50%</b></td><td><b>21.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L45'>45</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L51'>51</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L51-L52'>51&ndash;52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L55-L57'>55&ndash;57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L59-L61'>59&ndash;61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L61'>61</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L61-L63'>61&ndash;63</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L65'>65</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L65-L67'>65&ndash;67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L67-L68'>67&ndash;68</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L73'>73</a>, <a href='https://github.com/fabricjs/fabric.js/blob/50f9630246c121f29b8f3db965bfc18616b69603/src/controls/rotate.ts#L73-L74'>73
asturur: i m good to go
ShaMan123: we should follow up with removing the code in the layout manager `shouldResetTransform`

Patch:
diff --git a/.codesandbox/templates/next/components/Canvas.tsx b/.codesandbox/templates/next/components/Canvas.tsx
index 181c8c2bf..3f2d64004 100644
--- a/.codesandbox/templates/next/components/Canvas.tsx
+++ b/.codesandbox/templates/next/components/Canvas.tsx
@@ -28,6 +28,8 @@ export const Canvas = React.forwardRef<
       ref.current = canvas;
     }
 
+    // it is crucial `onLoad` is a dependency of this effect
+    // to ensure the canvas is disposed and re-created if it changes
     onLoad?.(canvas);
 
     return () => {
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7fb9ccedd..f4fa1fa01 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
 
 ## [next]
 
+- refactor(): rm active selection ref [#9561](https://github.com/fabricjs/fabric.js/pull/9561)
 - feat(Next.js sandbox): simpler canvas hook [#9577](https://github.com/fabricjs/fabric.js/pull/9577)
 - fix(): fix modify polygon points with zero sized polygons ( particular case of axis oriented lines ) [#9575](https://github.com/fabricjs/fabric.js/pull/9575)
 - fix(Polyline, Polygon): Fix wrong pathOffset for polyline with the normal bounding box calculation. [#9460](https://github.com/fabricjs/fabric.js/pull/9460)
diff --git a/src/ClassRegistry.ts b/src/ClassRegistry.ts
index 67835cd76..8b673c406 100644
--- a/src/ClassRegistry.ts
+++ b/src/ClassRegistry.ts
@@ -24,7 +24,7 @@ export class ClassRegistry {
     this[SVG] = new Map();
   }
 
-  getClass(classType: string): any {
+  getClass<T>(classType: string): T {
     const constructor = this[JSON].get(classType);
     if (!constructor) {
       throw new FabricError(`No class registered for ${classType}`);
diff --git a/src/canvas/Canvas.ts b/src/canvas/Canvas.ts
index 06d05af28..81eb115d4 100644
--- a/src/canvas/Canvas.ts
+++ b/src/canvas/Canvas.ts
@@ -1,3 +1,4 @@
+import { classRegistry } from '../ClassRegistry';
 import { NONE } from '../constants';
 import type {
   CanvasEvents,
@@ -8,12 +9,14 @@ import type {
   Transform,
 } from '../EventTypeDefs';
 import { Point } from '../Point';
+import type { ActiveSelection } from '../shapes/ActiveSelection';
 import type { Group } from '../shapes/Group';
 import type { IText } from '../shapes/IText/IText';
 import type { FabricObject } from '../shapes/Object/FabricObject';
 import { isTouchEvent, stopEvent } from '../util/dom_event';
 import { getDocumentFromElement, getWindowFromElement } from '../util/dom_misc';
 import { sendPointToPlane } from '../util/misc/planeChange';
+import { isActiveSelection } from '../util/typeAssertions';
 import type { CanvasOptions, TCanvasOptions } from './CanvasOptions';
 import { SelectableCanvas } from './SelectableCanvas';
 import { TextEditingManager } from './TextEditingManager';
@@ -1387,10 +1390,9 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
       return;
     }
     let hoverCursor = target.hoverCursor || this.hoverCursor;
-    const activeSelection =
-        this._activeObject === this._activeSelection
-          ? this._activeObject
-          : null,
+    const activeSelection = isActiveSelection(this._activeObject)
+        ? this._activeObject
+        : null,
       // only show proper corner when group selection is not active
       corner =
         (!activeSelection || target.group !== activeSelection) &&
@@ -1431,8 +1433,7 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
    */
   protected handleMultiSelection(e: TPointerEvent, target?: FabricObject) {
     const activeObject = this._activeObject;
-    const activeSelection = this._activeSelection;
-    const isAS = activeObject === activeSelection;
+    const isAS = isActiveSelection(activeObject);
     if (
       // check if an active object exists on canvas and if the user is pressing the `selectionKey` while canvas supports multi selection.
       !!activeObject &&
@@ -1455,9 +1456,8 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
       !activeObject.getActiveControl()
     ) {
       if (isAS) {
-        const prevActiveObjects =
-          activeSelection.getObjects() as FabricObject[];
-        if (target === activeSelection) {
+        const prevActiveObjects = activeObject.getObjects();
+        if (target === activeObject) {
           const pointer = this.getViewportPoint(e);
           target =
             // first search active objects for a target to remove
@@ -1470,19 +1470,21 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
             return false;
           }
         }
-        if (target.group === activeSelection) {
+        if (target.group === activeObject) {
           // `target` is part of active selection => remove it
-          activeSelection.remove(target);
+          activeObject.remove(target);
           this._hoveredTarget = target;
           this._hoveredTargets = [...this.targets];
-          if (activeSelection.size() === 1) {
+          // if after removing an object we are left with one only...
+          if (activeObject.size() === 1) {
             // activate last remaining object
-            this._setActiveObject(activeSelection.item(0) as FabricObject, e);
+            // deselecting the active selection will remove the remaining object from it
+            this._setActiveObject(activeObject.item(0), e);
           }
         } else {
-          //  `target` isn't part of active selection => add it
-          activeSelection.multiSelectAdd(target);
-          this._hoveredTarget = activeSelection;
+          // `target` isn't part of active selection => add it
+          activeObject.multiSelectAdd(target);
+          this._hoveredTarget = activeObject;
           this._hoveredTargets = [...this.targets];
         }
         this._fireSelectionEvents(prevActiveObjects, e);
@@ -1490,12 +1492,21 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
         (activeObject as IText).exitEditing &&
           (activeObject as IText).exitEditing();
         // add the active object and the target to the active selection and set it as the active object
-        activeSelection.multiSelectAdd(activeObject, target);
-        this._hoveredTarget = activeSelection;
+        const klass =
+          classRegistry.getClass<typeof ActiveSelection>('ActiveSelection');
+        const newActiveSelection = new klass([], {
+          /**
+           * it is crucial to pass the canvas ref before calling {@link ActiveSelection#multiSelectAdd}
+           * since it uses {@link FabricObject#isInFrontOf} which relies on the canvas ref
+           */
+          canvas: this,
+        });
+        newActiveSelection.multiSelectAdd(activeObject, target);
+        this._hoveredTarget = newActiveSelection;
         // ISSUE 4115: should we consider subTargets here?
         // this._hoveredTargets = [];
         // this._hoveredTargets = this.targets.concat();
-        this._setActiveObject(activeSelection, e);
+        this._setActiveObject(newActiveSelection, e);
         this._fireSelectionEvents([activeObject], e);
       }
       return true;
@@ -1549,8 +1560,9 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
       this.setActiveObject(objects[0], e);
     } else if (objects.length > 1) {
       // add to active selection and make it the active object
-      this._activeSelection.add(...objects);
-      this.setActiveObject(this._activeSelection, e);
+      const klass =
+        classRegistry.getClass<typeof ActiveSelection>('ActiveSelection');
+      this.setActiveObject(new klass(objects, { canvas: this }), e);
     }
 
     // cleanup
diff --git a/src/canvas/CanvasOptions.ts b/src/canvas/CanvasOptions.ts
index 7cb12c325..471416d17 100644
--- a/src/canvas/CanvasOptions.ts
+++ b/src/canvas/CanvasOptions.ts
@@ -1,5 +1,4 @@
 import type { ModifierKey, TOptionalModifierKey } from '../EventTypeDefs';
-import type { ActiveSelection } from '../shapes/ActiveSelection';
 import type { TOptions } from '../typedefs';
 import type { StaticCanvasOptions } from './StaticCanvasOptions';
 
@@ -260,9 +259,7 @@ export interface CanvasOptions
   preserveObjectStacking: boolean;
 }
 
-export type TCanvasOptions = TOptions<
-  CanvasOptions & { activeSelection: ActiveSelection }
->;
+export type TCanvasOptions = TOptions<CanvasOptions>;
 
 export const canvasDefaults: TOptions<CanvasOptions> = {
   uniformScaling: true,
diff --git a/src/canvas/SelectableCanvas.ts b/src/canvas/SelectableCanvas.ts
index 94af4847b..396595c4f 100644
--- a/src/canvas/SelectableCanvas.ts
+++ b/src/canvas/SelectableCanvas.ts
@@ -11,7 +11,6 @@ import type {
 } from '../EventTypeDefs';
 import {
   addTransformToObject,
-  resetObjectTransform,
   saveObjectTransform,
 } from '../util/misc/objectTransforms';
 import type { TCanvasSizeOptions } from './StaticCanvas';
@@ -31,13 +30,13 @@ import type { IText } from '../shapes/IText/IText';
 import type { BaseBrush } from '../brushes/BaseBrush';
 import { pick } from '../util/misc/pick';
 import { sendPointToPlane } from '../util/misc/planeChange';
-import { ActiveSelection } from '../shapes/ActiveSelection';
 import { cos, createCanvasElement, sin } from '../util';
 import { CanvasDOMManager } from './DOMManagers/CanvasDOMManager';
 import { BOTTOM, CENTER, LEFT, RIGHT, TOP } from '../constants';
-import type { CanvasOptions, TCanvasOptions } from './CanvasOptions';
+import type { CanvasOptions } from './CanvasOptions';
 import { canvasDefaults } from './CanvasOptions';
 import { Intersection } from '../Intersection';
+import { isActiveSelection } from '../util/typeAssertions';
 
 /**
  * Canvas class
@@ -294,17 +293,6 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
   protected declare _isCurrentlyDrawing: boolean;
   declare freeDrawingBrush?: BaseBrush;
   declare _activeObject?: FabricObject;
-  protected _activeSelection: ActiveSelection;
-
-  constructor(
-    el?: string | HTMLCanvasElement,
-    { activeSelection = new ActiveSelection(), ...options }: TCanvasOptions = {}
-  ) {
-    super(el, options);
-    this._activeSelection = activeSelection;
-    this._activeSelection.set('canvas', this);
-    this._activeSelection.setCoords();
-  }
 
   protected initElements(el?: string | HTMLCanvasElement) {
     this.elements = new CanvasDOMManager(el, {
@@ -1029,27 +1017,17 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
     return this._activeObject;
   }
 
-  /**
-   * Returns instance's active selection
-   */
-  getActiveSelection() {
-    return this._activeSelection;
-  }
-
   /**
    * Returns an array with the current selected objects
    * @return {FabricObject[]} active objects array
    */
   getActiveObjects(): FabricObject[] {
     const active = this._activeObject;
-    if (active) {
-      if (active === this._activeSelection) {
-        return [...(active as ActiveSelection)._objects];
-      } else {
-        return [active];
-      }
-    }
-    return [];
+    return isActiveSelection(active)
+      ? active.getObjects()
+      : active
+      ? [active]
+      : [];
   }
 
   /**
@@ -1134,9 +1112,11 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
    * @return {Boolean} true if the object has been selected
    */
   _setActiveObject(object: FabricObject, e?: TPointerEvent) {
-    if (this._activeObject === object) {
+    const prevActiveObject = this._activeObject;
+    if (prevActiveObject === object) {
       return false;
     }
+    // after calling this._discardActiveObject, this,_activeObject could be undefined
     if (!this._discardActiveObject(e, object) && this._activeObject) {
       // refused to deselect
       return false;
@@ -1144,10 +1124,10 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
     if (object.onSelect({ e })) {
       return false;
     }
+
     this._activeObject = object;
 
-    if (object instanceof ActiveSelection && this._activeSelection !== object) {
-      this._activeSelection = object;
+    if (isActiveSelection(object) && prevActiveObject !== object) {
       object.set('canvas', this);
       object.setCoords();
     }
@@ -1173,11 +1153,6 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
       if (obj.onDeselect({ e, object })) {
         return false;
       }
-      // clear active selection
-      if (obj === this._activeSelection) {
-        this._activeSelection.removeAll();
-        resetObjectTransform(this._activeSelection);
-      }
       if (this._currentTransform && this._currentTransform.target === obj) {
         // @ts-expect-error this method exists in the subclass - should be moved or declared as abstract
         this.endCurrentTransform(e);
@@ -1227,11 +1202,13 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
    */
   destroy() {
     // dispose of active selection
-    const activeSelection = this._activeSelection;
-    activeSelection.removeAll();
-    // @ts-expect-error disposing
-    this._activeSelection = undefined;
-    activeSelection.dispose();
+    const activeObject = this._activeObject;
+    if (isActiveSelection(activeObject)) {
+      activeObject.removeAll();
+      activeObject.dispose();
+    }
+
+    delete this._activeObject;
 
     super.destroy();
 
@@ -1271,7 +1248,7 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
   /**
    * @private
    */
-  _toObject(
+  protected _toObject(
     instance: FabricObject,
     methodName: 'toObject' | 'toDatalessObject',
     propertiesToInclude: string[]
@@ -1293,14 +1270,11 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
    * @param {FabricObject} [instance] the object to transform (gets mutated)
    * @returns the original values of instance which were changed
    */
-  _realizeGroupTransformOnObject(
+  private _realizeGroupTransformOnObject(
     instance: FabricObject
   ): Partial<typeof instance> {
-    if (
-      instance.group &&
-      instance.group === this._activeSelection &&
-      this._activeObject === instance.group
-    ) {
+    const { group } = instance;
+    if (group && isActiveSelection(group) && this._activeObject === group) {
       const layoutProps = [
         'angle',
         'flipX',
@@ -1313,7 +1287,7 @@ export class SelectableCanvas<EventSpec extends CanvasEvents = CanvasEvents>
         TOP,
       ] as (keyof typeof instance)[];
       const originalValues = pick<typeof instance>(instance, layoutProps);
-      addTransformToObject(instance, this._activeObject.calcOwnMatrix());
+      addTransformToObject(instance, group.calcOwnMatrix());
       return originalValues;
     } else {
       return {};
diff --git a/src/canvas/StaticCanvas.ts b/src/canvas/StaticCanvas.ts
index ae9d295c1..6fa83def8 100644
--- a/src/canvas/StaticCanvas.ts
+++ b/src/canvas/StaticCanvas.ts
@@ -859,7 +859,7 @@ export class StaticCanvas<
   /**
    * @private
    */
-  _toObject(
+  protected _toObject(
     instance: FabricObject,
     methodName: TValidToObjectMethod,
     propertiesToInclude?: string[]
diff --git a/src/filters/Composed.ts b/src/filters/Composed.ts
index 54243eb1e..198a86a08 100644
--- a/src/filters/Composed.ts
+++ b/src/filters/Composed.ts
@@ -67,7 +67,9 @@ export class Composed extends BaseFilter {
   ) {
     return Promise.all(
       ((object.subFilters || []) as BaseFilter[]).map((filter) =>
-        classRegistry.getClass(filter.type).fromObject(filter, options)
+        classRegistry
+          .getClass<typeof BaseFilter>(filter.type)
+          .fromObject(filter, options)
       )
     ).then(
       (enlivedFilters) => new this({ subFilters: enlivedFilters }) as BaseFilter
diff --git a/src/shapes/ActiveSelection.spec.ts b/src/shapes/ActiveSelection.spec.ts
index 185d0c2b4..9ee419c65 100644
--- a/src/shapes/ActiveSelection.spec.ts
+++ b/src/shapes/ActiveSelection.spec.ts
@@ -81,21 +81,6 @@ describe('ActiveSelection', () => {
     expect(spy).not.toHaveBeenCalled();
   });
 
-  it('sets coords after attaching to canvas', () => {
-    const canvas = new Canvas(undefined, {
-      activeSelection: new ActiveSelection([
-        new FabricObject({
-          left: 100,
-          top: 100,
-          width: 100,
-          height: 100,
-        }),
-      ]),
-      viewportTransform: [2, 0, 0, 0.5, 400, 150],
-    });
-    expect(canvas.getActiveSelection().aCoords).toMatchSnapshot();
-  });
-
   it('`setActiveObject` should update the active selection ref on canvas if it changed', () => {
     const canvas = new Canvas();
     const obj1 = new FabricObject();
@@ -104,7 +89,7 @@ describe('ActiveSelection', () => {
     const activeSelection = new ActiveSelection([obj1, obj2]);
     const spy = jest.spyOn(activeSelection, 'setCoords');
     canvas.setActiveObject(activeSelection);
-    expect(canvas.getActiveSelection()).toBe(activeSelection);
+    expect(canvas.getActiveObject()).toBe(activeSelection);
     expect(canvas.getActiveObjects()).toEqual([obj1, obj2]);
     expect(spy).toHaveBeenCalled();
     expect(activeSelection.canvas).toBe(canvas);
@@ -117,8 +102,7 @@ describe('ActiveSelection', () => {
   test('adding and removing an object belonging to a group', () => {
     const object = new FabricObject();
     const group = new Group([object]);
-    const canvas = new Canvas();
-    const activeSelection = canvas.getActiveSelection();
+    const activeSelection = new ActiveSelection();
 
     const eventsSpy = jest.spyOn(object, 'fire');
     const removeSpy = jest.spyOn(group, 'remove');
@@ -132,7 +116,6 @@ describe('ActiveSelection', () => {
     activeSelection.add(object);
     expect(object.group).toBe(activeSelection);
     expect(object.parent).toBe(group);
-    expect(object.canvas).toBe(canvas);
     expect(removeSpy).not.toBeCalled();
     expect(exitSpy).toBeCalledWith(object);
     expect(enterSpy).toBeCalledWith(object, true);
@@ -146,7 +129,6 @@ describe('ActiveSelection', () => {
     });
     expect(object.group).toBe(group);
     expect(object.parent).toBe(group);
-    expect(object.canvas).toBeUndefined();
   });
 
   test('transferring an object between active selections', () => {
diff --git a/src/shapes/ActiveSelection.ts b/src/shapes/ActiveSelection.ts
index d52050fad..cb8d98228 100644
--- a/src/shapes/ActiveSelection.ts
+++ b/src/shapes/ActiveSelection.ts
@@ -16,18 +16,26 @@ export interface ActiveSelectionOptions extends GroupProps {
 
 /**
  * Used by Canvas to manage selection.
- * Canvas accepts an `activeSelection` option allowing overriding and customization.
  *
  * @example
  * class MyActiveSelection extends ActiveSelection {
  *   ...
  * }
  *
- * const canvas = new Canvas(el, {
- *  activeSelection: new MyActiveSelection()
- * })
+ * // override the default `ActiveSelection` class
+ * classRegistry.setClass(MyActiveSelection)
  */
 export class ActiveSelection extends Group {
+  static type = 'ActiveSelection';
+
+  static ownDefaults: Record<string, any> = {
+    multiSelectionStacking: 'canvas-stacking',
+  };
+
+  static getDefaults() {
+    return { ...super.getDefaults(), ...this.ownDefaults };
+  }
+
   /**
    * controls how selected objects are added during a multiselection event
    * - `canvas-stacking` adds the selected object to the active selection while respecting canvas object stacking order
@@ -35,10 +43,7 @@ export class ActiveSelection extends Group {
    * meaning that the stack is ordered by the order in which objects were selected
    * @default `canvas-stacking`
    */
-  // TODO FIX THIS WITH THE DEFAULTS LOGIC
-  multiSelectionStacking: MultiSelectionStacking = 'canvas-stacking';
-
-  static type = 'ActiveSelection';
+  declare multiSelectionStacking: MultiSelectionStacking;
 
   /**
    * @private
diff --git a/src/shapes/Group.ts b/src/shapes/Group.ts
index 1ada7c755..56c92104e 100644
--- a/src/shapes/Group.ts
+++ b/src/shapes/Group.ts
@@ -28,6 +28,7 @@ import {
   LAYOUT_TYPE_REMOVED,
 } from '../LayoutManager/constants';
 import type { SerializedLayoutManager } from '../LayoutManager/LayoutManager';
+import type { FitContentLayout } from '../LayoutManager';
 
 /**
  * This class handles the specific case of creating a group using {@link Group#fromObject} and is not meant to be used in any other case.
@@ -661,8 +662,12 @@ export class Group
         layoutManager: new NoopLayoutManager(),
       });
       if (layoutManager) {
-        const layoutClass = classRegistry.getClass(layoutManager.type);
-        const strategyClass = classRegistry.getClass(layoutManager.strategy);
+        const layoutClass = classRegistry.getClass<typeof LayoutManager>(
+          layoutManager.type
+        );
+        const strategyClass = classRegistry.getClass<typeof FitContentLayout>(
+          layoutManager.strategy
+        );
         group.layoutManager = new layoutClass(new strategyClass());
       } else {
         group.layoutManager = new LayoutManager();
diff --git a/src/shapes/Object/Object.ts b/src/shapes/Object/Object.ts
index d6ca9d238..8e254469b 100644
--- a/src/shapes/Object/Object.ts
+++ b/src/shapes/Object/Object.ts
@@ -1342,7 +1342,7 @@ export class FabricObject<
   cloneAsImage(options: any): FabricImage {
     const canvasEl = this.toCanvasElement(options);
     // TODO: how to import Image w/o an import cycle?
-    const ImageClass = classRegistry.getClass('image');
+    const ImageClass = classRegistry.getClass<typeof FabricImage>('image');
     return new ImageClass(canvasEl);
   }
 
diff --git a/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap b/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap
deleted file mode 100644
index e3bd6395b..000000000
--- a/src/shapes/__snapshots__/ActiveSelection.spec.ts.snap
+++ /dev/null
@@ -1,22 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`ActiveSelection sets coords after attaching to canvas 1`] = `
-{
-  "bl": Point {
-    "x": 100,
-    "y": 201,
-  },
-  "br": Point {
-    "x": 201,
-    "y": 201,
-  },
-  "tl": Point {
-    "x": 100,
-    "y": 100,
-  },
-  "tr": Point {
-    "x": 201,
-    "y": 100,
-  },
-}
-`;
diff --git a/src/util/misc/objectEnlive.ts b/src/util/misc/objectEnlive.ts
index 16b904989..e160f85ba 100644
--- a/src/util/misc/objectEnlive.ts
+++ b/src/util/misc/objectEnlive.ts
@@ -1,12 +1,18 @@
 import { noop } from '../../constants';
 import type { Pattern } from '../../Pattern';
 import type { FabricObject } from '../../shapes/Object/FabricObject';
-import type { Abortable, TCrossOrigin, TFiller } from '../../typedefs';
+import type {
+  Abortable,
+  Constructor,
+  TCrossOrigin,
+  TFiller,
+} from '../../typedefs';
 import { createImage } from './dom';
 import { classRegistry } from '../../ClassRegistry';
 import type { BaseFilter } from '../../filters/BaseFilter';
 import type { FabricObject as BaseFabricObject } from '../../shapes/Object/Object';
 import { FabricError, SignalAbortedError } from '../internals/console';
+import type { Gradient } from '../../gradient';
 
 export type LoadImageOptions = Abortable & {
   /**
@@ -88,13 +94,14 @@ export const enlivenObjects = <
     Promise.all(
       objects.map((obj) =>
         classRegistry
-          .getClass(obj.type)
-          .fromObject(obj, {
-            signal,
-            reviver,
-          })
-          .then((fabricInstance: T) => {
-            reviver<T>(obj, fabricInstance);
+          .getClass<
+            Constructor<T> & {
+              fromObject(options: any, context: Abortable): Promise<T>;
+            }
+          >(obj.type)
+          .fromObject(obj, { signal })
+          .then((fabricInstance) => {
+            reviver(obj, fabricInstance);
             instances.push(fabricInstance);
             return fabricInstance;
           })
@@ -137,7 +144,7 @@ export const enlivenObjectEnlivables = <
       }
       // gradient
       if (value.colorStops) {
-        return new (classRegistry.getClass('gradient'))(value);
+        return new (classRegistry.getClass<typeof Gradient>('gradient'))(value);
       }
       // clipPath
       if (value.type) {
@@ -151,7 +158,7 @@ export const enlivenObjectEnlivables = <
       // pattern
       if (value.source) {
         return classRegistry
-          .getClass('pattern')
+          .getClass<typeof Pattern>('pattern')
           .fromObject(value, { signal })
           .then((pattern: Pattern) => {
             instances.push(pattern);
diff --git a/src/util/typeAssertions.spec.ts b/src/util/typeAssertions.spec.ts
index 7e916ff5f..c3a972128 100644
--- a/src/util/typeAssertions.spec.ts
+++ b/src/util/typeAssertions.spec.ts
@@ -4,6 +4,7 @@ import {
   isPattern,
   isPath,
   isFiller,
+  isActiveSelection,
 } from './typeAssertions';
 import { FabricText } from '../shapes/Text/Text';
 import { IText } from '../shapes/IText/IText';
@@ -12,6 +13,9 @@ import { Path } from '../shapes/Path';
 import { Pattern } from '../Pattern/Pattern';
 import { Gradient } from '../gradient/Gradient';
 import { Shadow } from '../Shadow';
+import { ActiveSelection } from '../shapes/ActiveSelection';
+import { Canvas } from '../canvas/Canvas';
+import { Group } from '../shapes/Group';
 
 describe('typeAssertions', () => {
   describe('isTextObject', () => {
@@ -106,4 +110,16 @@ describe('typeAssertions', () => {
       expect(isSerializableFiller(gradient)).toBe(true);
     });
   });
+  describe('isActiveSelection', () => {
+    test('can detect activeSelection', () => {
+      const as = new ActiveSelection([], {
+        canvas: new Canvas(),
+      });
+      expect(isActiveSelection(as)).toBe(true);
+    });
+    test('can safeguard against a group', () => {
+      const group = new Group([]);
+      expect(isActiveSelection(group)).toBe(false);
+    });
+  });
 });
diff --git a/src/util/typeAssertions.ts b/src/util/typeAssertions.ts
index ac7751a7c..765da5a8a 100644
--- a/src/util/typeAssertions.ts
+++ b/src/util/typeAssertions.ts
@@ -3,6 +3,7 @@ import type { TFiller } from '../typedefs';
 import type { FabricText } from '../shapes/Text/Text';
 import type { Pattern } from '../Pattern';
 import type { Path } from '../shapes/Path';
+import type { ActiveSelection } from '../shapes/ActiveSelection';
 
 export const isFiller = (
   filler: TFiller | string | null
@@ -41,3 +42,8 @@ export const isPath = (fabricObject?: FabricObject): fabricObject is Path => {
     typeof (fabricObject as Path)._renderPathCommands === 'function'
   );
 };
+
+export const isActiveSelection = (
+  fabricObject?: FabricObject
+): fabricObject is ActiveSelection =>
+  !!fabricObject && Object.hasOwn(fabricObject, 'multiSelectionStacking');


Test patch:
diff --git a/test/unit/canvas.js b/test/unit/canvas.js
index 45f56c826..a5737d76b 100644
--- a/test/unit/canvas.js
+++ b/test/unit/canvas.js
@@ -100,6 +100,7 @@
     },
     afterEach: function () {
       fabric.config.restoreDefaults();
+      fabric.classRegistry.setClass(fabric.ActiveSelection);
       return canvas.dispose();
     }
   });
@@ -315,7 +316,7 @@
     var rect1 = new fabric.Rect();
     var rect2 = new fabric.Rect();
     canvas.add(rect1, rect2);
-    var activeSelection = canvas.getActiveSelection();
+    var activeSelection = new fabric.ActiveSelection();
     activeSelection.add(rect1, rect2);
     canvas.setActiveObject(activeSelection);
     canvas.discardActiveObject();
@@ -341,18 +342,21 @@
   });
 
   function initActiveSelection(canvas, activeObject, target, multiSelectionStacking) {
-    const activeSelection = canvas.getActiveSelection();
-    activeSelection.multiSelectionStacking = multiSelectionStacking;
+    fabric.classRegistry.setClass(class TextActiveSelection extends fabric.ActiveSelection {
+      static getDefaults() {
+        return {...super.getDefaults(),multiSelectionStacking}
+      }
+    });
     canvas.setActiveObject(activeObject);
     canvas.handleMultiSelection({ clientX: 0, clientY: 0, [canvas.selectionKey]: true }, target);
   }
 
   function updateActiveSelection(canvas, existing, target, multiSelectionStacking) {
-    const activeSelection = canvas.getActiveSelection();
+    const activeSelection = new fabric.ActiveSelection([], {canvas});
     activeSelection.multiSelectionStacking = multiSelectionStacking;
     activeSelection.add(...existing);
     canvas.setActiveObject(activeSelection);
-    canvas.handleMultiSelection({ clientX: 1, clientY: 1, [canvas.selectionKey]: true, target: canvas.upperCanvasEl }, target);
+    canvas.handleMultiSelection({ clientX: 1, clientY: 1, [canvas.selectionKey]: true, target: canvas.upperCanvasEl }, target || activeSelection);
   }
 
   QUnit.test('create active selection fires selection:created', function(assert) {
@@ -504,7 +508,7 @@
     let isFired = false;
     rect3.on('deselected', () => { isFired = true; });
     canvas.add(rect1, rect2, rect3);
-    updateActiveSelection(canvas, [rect1, rect2, rect3], canvas.getActiveSelection(), 'selection-order');
+    updateActiveSelection(canvas, [rect1, rect2, rect3], null, 'selection-order');
     assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2], 'rect3 was deselected');
     assert.ok(isFired, 'fired deselected');
   });
@@ -514,9 +518,9 @@
     const rect2 = new fabric.Rect({ left: -10, width: 5, height: 5 });
     const rect3 = new fabric.Rect({ top: 10, width: 10, height: 10 });
     canvas.add(rect1, rect2, rect3);
-    updateActiveSelection(canvas, [rect1, rect2, rect3], canvas.getActiveSelection(), 'selection-order');
+    updateActiveSelection(canvas, [rect1, rect2, rect3], null, 'selection-order');
     assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2, rect3], 'nothing happened');
-    assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'still selected');
+    assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'still selected');
   });
 
   QUnit.test('multiselection: selecting a target behind active selection', assert => {
@@ -525,11 +529,11 @@
     const rect3 = new fabric.Rect({ top: 10, width: 10, height: 10 });
     canvas.add(rect1, rect2, rect3);
     initActiveSelection(canvas, rect1, rect3);
-    assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'selected');
+    assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'selected');
     assert.deepEqual(canvas.getActiveObjects(), [rect1, rect3], 'created');
     canvas.__onMouseDown({ clientX: 7, clientY: 7, [canvas.selectionKey]: true });
     assert.deepEqual(canvas.getActiveObjects(), [rect1, rect2, rect3], 'added from behind active selection');
-    assert.ok(canvas.getActiveSelection() === canvas.getActiveObject(), 'still selected');
+    assert.ok(canvas.getActiveObject() === canvas.getActiveObject(), 'still selected');
   });
 
   QUnit.test('setActiveObject fires deselected', function(assert) {
@@ -711,7 +715,7 @@
     var rect1 = new fabric.Rect();
     var rect2 = new fabric.Rect();
     var rect3 = new fabric.Rect();
-    var activeSelection = canvas.getActiveSelection();
+    var activeSelection = new fabric.ActiveSelection();
     activeSelection.add(rect1, rect2);
     canvas.setActiveObject(activeSelection);
     rect1.on('deselected', function( ) {
@@ -1095,7 +1099,7 @@
     canvas.add(rect1);
     canvas.add(rect2);
     canvas.add(rect3);
-    const group = canvas.getActiveSelection();
+    const group = new fabric.ActiveSelection();
     group.subTargetCheck = true;
     group.add(rect1, rect2);
     group.cornerSize = 2;
@@ -1139,7 +1143,7 @@
     canvas.preserveObjectStacking = true;
     canvas.add(rect1);
     canvas.add(rect2);
-    const group = canvas.getActiveSelection();
+    const group = new fabric.ActiveSelection();
     group.add(rect1, rect2);
     canvas.setActiveObject(group);
     target = canvas.findTarget({
@@ -1218,7 +1222,7 @@
     canvas.add(rect, circle);
     var json = JSON.stringify(canvas);
 
-    const activeSelection = canvas.getActiveSelection();
+    const activeSelection = new fabric.ActiveSelection();
     activeSelection.add(rect, circle);
     canvas.setActiveObject(activeSelection);
     var jsonWithActiveGroup = JSON.stringify(canvas);
@@ -1760,11 +1764,6 @@
     assert.equal(canvas.getActiveObject(), group);
   });
 
-  QUnit.test('getActiveSelection', function(assert) {
-    assert.ok(canvas.getActiveSelection() === canvas._activeSelection, 'should equal');
-    assert.ok(canvas.getActiveSelection() instanceof fabric.ActiveSelection, 'is active selection');
-  });
-
   QUnit.test('item', function(assert) {
     assert.ok(typeof canvas.item === 'function');
 
@@ -1782,7 +1781,7 @@
   });
 
   QUnit.test('discardActiveObject on ActiveSelection', function(assert) {
-    var group = new fabric.ActiveSelection([makeRect(), makeRect()]);
+    var group = new fabric.ActiveSelection([makeRect(), makeRect()], {canvas});
     canvas.setActiveObject(group);
     canvas.discardActiveObject();
     assert.equal(canvas.getActiveObject(), null, 'removing active group sets it to null');
@@ -1878,7 +1877,7 @@
     var circle = new fabric.Circle({ radius: 50, left: 50, top: 50 });
     canvas.add(rect, circle);
     var svg = canvas.toSVG();
-    const activeSelection = canvas.getActiveSelection();
+    const activeSelection = new fabric.ActiveSelection();
     activeSelection.add(rect, circle);
     canvas.setActiveObject(activeSelection);
     var svgWithActiveGroup = canvas.toSVG();
@@ -2272,7 +2271,7 @@
         { start: 28, end: 33, message: 'stroke tolerance not affected by vpt', transparent: false },
         { start: 33, end: 40, message: 'outside', transparent: true },
       ]);
-    });   
+    });
   });
 
   QUnit.test('canvas getTopContext', function(assert) {
diff --git a/test/unit/canvas_dispose.js b/test/unit/canvas_dispose.js
index d94a7a36b..320a06111 100644
--- a/test/unit/canvas_dispose.js
+++ b/test/unit/canvas_dispose.js
@@ -47,7 +47,7 @@ function assertCanvasDisposing(klass) {
         assert.equal(el.height, 200, 'restored height');
     });
 
-    
+
     QUnit.test('dispose: clear references async', async function (assert) {
         const canvas = new klass(null, { renderOnAddRemove: false });
         assert.ok(typeof canvas.dispose === 'function');
@@ -248,7 +248,7 @@ function testCanvasDisposing() {
         wrapperEl = canvas.wrapperEl;
         lowerCanvasEl = canvas.lowerCanvasEl;
         upperCanvasEl = canvas.upperCanvasEl;
-        const activeSel = canvas.getActiveSelection();
+        const activeSel = new fabric.ActiveSelection();
         assert.equal(parentEl.childNodes.length, 1, 'parentEl has still 1 child only');
         assert.equal(wrapperEl.childNodes.length, 2, 'wrapper should have 2 children');
         assert.equal(wrapperEl.tagName, 'DIV', 'We wrapped canvas with DIV');
@@ -306,7 +306,8 @@ function testCanvasDisposing() {
         wrapperEl = canvas.wrapperEl;
         lowerCanvasEl = canvas.lowerCanvasEl;
         upperCanvasEl = canvas.upperCanvasEl;
-        const activeSel = canvas.getActiveSelection();
+        const activeSel = new fabric.ActiveSelection();
+        canvas.setActiveObject(activeSel)
         assert.equal(parentEl.childNodes.length, 1, 'parentEl has still 1 child only');
         assert.equal(wrapperEl.childNodes.length, 2, 'wrapper should have 2 children');
         assert.equal(wrapperEl.tagName, 'DIV', 'We wrapped canvas with DIV');
@@ -314,7 +315,7 @@ function testCanvasDisposing() {
         assert.equal(wrapperEl.childNodes[0], lowerCanvasEl, 'First child should be lowerCanvas');
         assert.equal(wrapperEl.childNodes[1], upperCanvasEl, 'Second child should be upperCanvas');
         assert.equal(canvas.elements._originalCanvasStyle, elStyle, 'saved original canvas style for disposal');
-        assert.ok(activeSel instanceof fabric.ActiveSelection, 'active selection');
+        assert.ok(canvas.getActiveObject() === activeSel, 'active selection');
         assert.notEqual(el.style.cssText, canvas.elements._originalCanvasStyle, 'canvas el style has been changed');
         if (!isNode()) {
             assert.equal(parentEl.childNodes[0], wrapperEl, 'wrapperEl is appended to rootNode');
@@ -322,7 +323,7 @@ function testCanvasDisposing() {
         //looks like i cannot use parentNode
         //equal(wrapperEl, lowerCanvasEl.parentNode, 'lowerCanvas is appended to wrapperEl');
         //equal(wrapperEl, upperCanvasEl.parentNode, 'upperCanvas is appended to wrapperEl');
-        //equal(parentEl, wrapperEl.parentNode, 'wrapperEl is appendend to rootNode');
+        //equal(parentEl, wrapperEl.parentNode, 'wrapperEl is appended to rootNode');
         assert.equal(parentEl.childNodes.length, 1, 'parent div should have 1 child');
         assert.notEqual(parentEl.firstChild, canvas.getElement(), 'canvas should not be parent div firstChild');
         assert.ok(typeof canvas.dispose === 'function');
@@ -334,7 +335,7 @@ function testCanvasDisposing() {
         await canvas.dispose();
         assert.equal(fabric.runningAnimations.length, 0, 'dispose should clear running animations');
         assert.equal(canvas.getObjects().length, 0, 'dispose should clear canvas');
-        assert.equal(canvas.getActiveSelection(), undefined, 'dispose should dispose active selection');
+        assert.equal(canvas.getActiveObject(), undefined, 'dispose should dispose active selection');
         assert.equal(activeSel.size(), 0, 'dispose should dispose active selection');
         assert.equal(parentEl.childNodes.length, 1, 'parent has always 1 child');
         if (!isNode()) {
diff --git a/test/unit/canvas_events.js b/test/unit/canvas_events.js
index 030441be5..ada6c5c9c 100644
--- a/test/unit/canvas_events.js
+++ b/test/unit/canvas_events.js
@@ -759,7 +759,7 @@
       });
     }
     canvas.loadFromJSON(SUB_TARGETS_JSON).then(function() {
-      var activeSelection = canvas.getActiveSelection();
+      var activeSelection = new fabric.ActiveSelection();
       activeSelection.add(...canvas.getObjects());
       canvas.setActiveObject(activeSelection);
       setSubTargetCheckRecursive(activeSelection);