Repository: fabricjs/fabric.js
Pull request #9849 (2024-05-04 08:41:06)

fix(Canvas): mouse move before event data
<!--
        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

Mouse move before is fired before the event data is cached, meaning before findTarget is called. This makes the event data wrong because it is always empty.
Mouse down/up do not do that so it is clearly a bug

<!-- 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 -->


codesandbox[bot]: #### Review or Edit in CodeSandbox

Open the branch in <a href="https://codesandbox.io/p/github/fabricjs/fabric.js/fix/mouse-move-before?mode=review&utm_source=gh_app">Web Editor</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=fabricjs&repo=fabric.js&branch=fix/mouse-move-before&utm_source=gh_app">VS Code</a> &bull; <a href="https://codesandbox.io/p/vscode?owner=fabricjs&repo=fabric.js&branch=fix/mouse-move-before&insiders=true&utm_source=gh_app">Insiders</a><br>
<details>
<summary>Open Preview</summary>
<ul><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/fix/mouse-move-before?task=next&port=3000&redirect=true&utm_source=gh_app">Run Next Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/fix/mouse-move-before?task=node&port=8080&redirect=true&utm_source=gh_app">Run Node Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/fix/mouse-move-before?task=vanilla&port=1234&redirect=true&utm_source=gh_app">Run Vanilla Template</a></li><li><a href="https://codesandbox.io/p/devtool/preview/fabricjs/fabric.js/fix/mouse-move-before?task=vue&port=5173&redirect=true&utm_source=gh_app">Run Vue Template</a></li></ul>
</details>

<!-- open-in-codesandbox:complete -->

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

 | file / KB (diff) | bundled | minified | 
 | --- | --- | --- | 
 | fabric | 916.740 (**0**) | 305.648 (**0**) | 

github-actions[bot]: Coverage after merging <b>fix/mouse-move-before</b> into <b>master</b> will be<table><tbody><tr><th>83.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/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts'>index.node.ts</a></td><td><b>14.29%</b></td><td>100%</td><td><b>0%</b></td><td><b>25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L29'>29</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L44'>44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/index.node.ts#L47'>47</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/fd0eae130a2c54cb8646f250217a942c652724b2/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td><b>90.32%</b></td><td><b>61.54%</b></td><td>100%</td><td><b>97.73%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/ClassRegistry.ts#L31'>31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/ClassRegistry.ts#L52'>52</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts'>Collection.ts</a></td><td><b>78.47%</b></td><td><b>42.62%</b></td><td><b>87.10%</b></td><td><b>85.82%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L155-L157'>155&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L215'>215</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L217'>217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L243'>243</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L254'>254</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L265'>265</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L270'>270</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L281'>281</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L286-L287'>286&ndash;287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L302'>302</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L304'>304</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L309-L310'>309&ndash;310</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L329'>329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L333-L334'>333&ndash;334</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L338-L344'>338&ndash;344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L346-L348'>346&ndash;348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Collection.ts#L350'>350</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>89.86%</b></td><td><b>69.23%</b></td><td>100%</td><td><b>94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/CommonMethods.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/CommonMethods.ts#L52'>52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/CommonMethods.ts#L61'>61</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts'>Intersection.ts</a></td><td><b>85.25%</b></td><td><b>48.91%</b></td><td>100%</td><td><b>97.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L184-L188'>184&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L237'>237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L239'>239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L289'>289</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Intersection.ts#L297'>297</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts'>Observable.ts</a></td><td><b>79.89%</b></td><td><b>54.55%</b></td><td><b>93.75%</b></td><td><b>87.10%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L145'>145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L160'>160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L162'>162</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L167'>167</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L68-L70'>68&ndash;70</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L80'>80</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L84-L85'>84&ndash;85</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Observable.ts#L87-L91'>87&ndash;91</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts'>Point.ts</a></td><td><b>90.27%</b></td><td><b>61.22%</b></td><td>100%</td><td><b>93.60%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L104'>104</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L179'>179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L216'>216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L225'>225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L236-L239'>236&ndash;239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L259'>259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L285'>285</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L317'>317</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L328'>328</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L341'>341</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L349'>349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L359'>359</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Point.ts#L95'>95</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts'>Shadow.ts</a></td><td><b>87.85%</b></td><td><b>78.26%</b></td><td>100%</td><td><b>88.37%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L147'>147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L152-L157'>152&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L166'>166</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L203'>203</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L213'>213</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L230-L237'>230&ndash;237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L241-L242'>241&ndash;242</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Shadow.ts#L38-L41'>38&ndash;41</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/cache.ts'>cache.ts</a></td><td><b>84.88%</b></td><td><b>45.45%</b></td><td>100%</td><td><b>90.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/cache.ts#L57'>57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/cache.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/cache.ts#L71-L72'>71&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/cache.ts#L74-L77'>74&ndash;77</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts'>config.ts</a></td><td><b>87.73%</b></td><td><b>55%</b></td><td><b>66.67%</b></td><td><b>94.03%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L134-L137'>134&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L142-L143'>142&ndash;143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L147'>147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/config.ts#L152'>152</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/ActiveSelectionLayoutManager.ts'>ActiveSelectionLayoutManager.ts</a></td><td><b>93.33%</b></td><td><b>76.92%</b></td><td><b>85.71%</b></td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>90.54%</b></td><td><b>65.06%</b></td><td><b>76.92%</b></td><td><b>99.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutManager.ts#L269'>269</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutManager.ts#L333'>333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutManager.ts#L344'>344</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts'>index.ts</a></td><td><b>48.57%</b></td><td><b>37.50%</b></td><td><b>80%</b></td><td><b>66.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L1-L2'>1&ndash;2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L2'>2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L2-L3'>2&ndash;3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L3'>3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L3-L4'>3&ndash;4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L4'>4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L4-L5'>4&ndash;5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/index.ts#L5-L6'>5&ndash;6</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/types.ts'>types.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/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>73.08%</b></td><td><b>50%</b></td><td>100%</td><td><b>78.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L41-L44'>41&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L46-L48'>46&ndash;48</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L66-L69'>66&ndash;69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>85.71%</b></td><td><b>20%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>89.26%</b></td><td><b>59.26%</b></td><td>100%</td><td><b>97.70%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L74'>74</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>72.58%</b></td><td><b>50%</b></td><td>100%</td><td><b>78.72%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/utils.ts#L29-L32'>29&ndash;32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/utils.ts#L34-L35'>34&ndash;35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/LayoutManager/LayoutStrategies/utils.ts#L40-L44'>40&ndash;44</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/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>70.18%</b></td><td><b>90.91%</b></td><td><b>80%</b></td><td><b>65.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L105-L107'>105&ndash;107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L119-L122'>119&ndash;122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L130-L138'>130&ndash;138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L153-L164'>153&ndash;164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L174'>174</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L176-L181'>176&ndash;181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L183-L188'>183&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L190-L199'>190&ndash;199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L204-L205'>204&ndash;205</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L207-L209'>207&ndash;209</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/Pattern/Pattern.ts#L37'>37</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/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td><b>89.33%</b></td><td><b>91.67%</b></td><td>100%</td><td><b>88.55%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L115'>115</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L124-L125'>124&ndash;125</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L135'>135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L155-L160'>155&ndash;160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/BaseBrush.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>52.10%</b></td><td><b>12.50%</b></td><td><b>12.50%</b></td><td><b>58.25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L100-L108'>100&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L108-L118'>108&ndash;118</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L130-L139'>130&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L55'>55</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L69'>69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L78-L79'>78&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L83'>83</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L85-L86'>85&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/CircleBrush.ts#L92-L98'>92&ndash;98</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>76.02%</b></td><td><b>40.24%</b></td><td><b>92.86%</b></td><td><b>85.52%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1004'>1004</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1007-L1008'>1007&ndash;1008</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1012-L1013'>1012&ndash;1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1018'>1018</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1126'>1126</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1137'>1137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1140'>1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1203-L1207'>1203&ndash;1207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1286-L1290'>1286&ndash;1290</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1320'>1320</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1337'>1337</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1383-L1400'>1383&ndash;1400</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1406-L1411'>1406&ndash;1411</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1414-L1415'>1414&ndash;1415</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1417'>1417</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1421'>1421</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1423-L1424'>1423&ndash;1424</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1426-L1428'>1426&ndash;1428</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1432'>1432</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1434'>1434</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1436-L1438'>1436&ndash;1438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1441-L1446'>1441&ndash;1446</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1449-L1451'>1449&ndash;1451</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1454'>1454</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1456'>1456</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1470'>1470</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1477'>1477</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1479-L1490'>1479&ndash;1490</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1492-L1495'>1492&ndash;1495</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1495'>1495</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1497'>1497</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1501-L1502'>1501&ndash;1502</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1505-L1506'>1505&ndash;1506</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1509-L1511'>1509&ndash;1511</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1514'>1514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L1522'>1522</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L354'>354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L369'>369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L559-L563'>559&ndash;563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L566-L567'>566&ndash;567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L569'>569</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L579'>579</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L585'>585</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L588-L590'>588&ndash;590</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L602'>602</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L609-L613'>609&ndash;613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L615-L620'>615&ndash;620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L622-L626'>622&ndash;626</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L661'>661</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L668-L672'>668&ndash;672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L674-L679'>674&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L683-L684'>683&ndash;684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L686-L689'>686&ndash;689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L691-L692'>691&ndash;692</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L747'>747</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L783-L786'>783&ndash;786</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L789'>789</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L791'>791</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L794'>794</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L796'>796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L798'>798</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L824'>824</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L886-L887'>886&ndash;887</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L932-L933'>932&ndash;933</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L935-L936'>935&ndash;936</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L938'>938</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L947-L953'>947&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L956'>956</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L963-L964'>963&ndash;964</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L966-L970'>966&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L972'>972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L974'>974</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/Canvas.ts#L999'>999</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/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/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>85.49%</b></td><td><b>53.85%</b></td><td>100%</td><td><b>94.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1021'>1021</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1089-L1093'>1089&ndash;1093</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1139-L1140'>1139&ndash;1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1142-L1143'>1142&ndash;1143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1145'>1145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1172'>1172</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1174-L1175'>1174&ndash;1175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1175'>1175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1177'>1177</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1216'>1216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1218'>1218</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1220'>1220</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1236'>1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1238'>1238</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1266'>1266</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1269'>1269</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1288'>1288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1290'>1290</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1294'>1294</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1312-L1319'>1312&ndash;1319</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1322'>1322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1325'>1325</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1334-L1335'>1334&ndash;1335</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1339-L1348'>1339&ndash;1348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1352'>1352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1354-L1355'>1354&ndash;1355</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1361-L1366'>1361&ndash;1366</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L384'>384</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L462'>462</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L513'>513</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L515'>515</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L591'>591</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L596'>596</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L673'>673</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L701'>701</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L992'>992</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/SelectableCanvas.ts#L994-L995'>994&ndash;995</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>75.93%</b></td><td><b>70.11%</b></td><td><b>98.91%</b></td><td><b>75.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1003'>1003</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1016'>1016</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1024'>1024</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1026-L1032'>1026&ndash;1032</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1042'>1042</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1045'>1045</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1048-L1054'>1048&ndash;1054</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1056-L1057'>1056&ndash;1057</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1059-L1080'>1059&ndash;1080</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1087-L1089'>1087&ndash;1089</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1091'>1091</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1099'>1099</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1105'>1105</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1107'>1107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1107-L1108'>1107&ndash;1108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1108-L1109'>1108&ndash;1109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1111'>1111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1111-L1116'>1111&ndash;1116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1129'>1129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1134-L1136'>1134&ndash;1136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1140'>1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1144'>1144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1146'>1146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1148'>1148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1153-L1157'>1153&ndash;1157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1159'>1159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1161-L1164'>1161&ndash;1164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1167'>1167</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1169'>1169</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1178'>1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1180-L1181'>1180&ndash;1181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1188-L1191'>1188&ndash;1191</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1193'>1193</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1199-L1202'>1199&ndash;1202</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1206-L1207'>1206&ndash;1207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1217'>1217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1223-L1225'>1223&ndash;1225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1227-L1232'>1227&ndash;1232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1232'>1232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1232-L1236'>1232&ndash;1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1236'>1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1236-L1241'>1236&ndash;1241</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1243-L1250'>1243&ndash;1250</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1279-L1280'>1279&ndash;1280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1282-L1283'>1282&ndash;1283</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1285-L1287'>1285&ndash;1287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1289-L1295'>1289&ndash;1295</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1299'>1299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1301-L1314'>1301&ndash;1314</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1322-L1323'>1322&ndash;1323</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1333'>1333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1344'>1344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1385-L1389'>1385&ndash;1389</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1391'>1391</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1393'>1393</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1395-L1399'>1395&ndash;1399</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1418'>1418</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1433'>1433</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1448'>1448</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1468'>1468</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1501'>1501</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1505'>1505</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L1516-L1518'>1516&ndash;1518</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L428'>428</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L439'>439</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L447-L452'>447&ndash;452</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L460'>460</a>, <a href='https://github.com/fabricjs/fabric.js/blob/fd0eae130a2c54cb8646f250217a942c652724b2/src/canvas/StaticCanvas.ts#L490
github-actions[bot]: Coverage after merging <b>fix/mouse-move-before</b> into <b>master</b> will be<table><tbody><tr><th>83.87%</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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts'>index.node.ts</a></td><td><b>14.29%</b></td><td>100%</td><td><b>0%</b></td><td><b>25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L26'>26</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L29'>29</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L41'>41</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L44'>44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/index.node.ts#L47'>47</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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/ClassRegistry.ts'>ClassRegistry.ts</a></td><td><b>90.32%</b></td><td><b>61.54%</b></td><td>100%</td><td><b>97.73%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/ClassRegistry.ts#L31'>31</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/ClassRegistry.ts#L52'>52</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts'>Collection.ts</a></td><td><b>78.47%</b></td><td><b>42.62%</b></td><td><b>87.10%</b></td><td><b>85.82%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L138'>138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L153'>153</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L155-L157'>155&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L159'>159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L169-L170'>169&ndash;170</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L215'>215</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L217'>217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L243'>243</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L254'>254</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L265'>265</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L270'>270</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L279'>279</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L281'>281</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L286-L287'>286&ndash;287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L302'>302</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L304'>304</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L309-L310'>309&ndash;310</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L329'>329</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L333-L334'>333&ndash;334</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L338-L344'>338&ndash;344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L346-L348'>346&ndash;348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Collection.ts#L350'>350</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/CommonMethods.ts'>CommonMethods.ts</a></td><td><b>89.86%</b></td><td><b>69.23%</b></td><td>100%</td><td><b>94%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/CommonMethods.ts#L50'>50</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/CommonMethods.ts#L52'>52</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/CommonMethods.ts#L61'>61</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts'>Intersection.ts</a></td><td><b>85.25%</b></td><td><b>48.91%</b></td><td>100%</td><td><b>97.30%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L184-L188'>184&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L190'>190</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L228'>228</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L237'>237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L239'>239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L289'>289</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Intersection.ts#L297'>297</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts'>Observable.ts</a></td><td><b>79.89%</b></td><td><b>54.55%</b></td><td><b>93.75%</b></td><td><b>87.10%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L145'>145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L160'>160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L162'>162</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L167'>167</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L68-L70'>68&ndash;70</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L80'>80</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L84-L85'>84&ndash;85</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Observable.ts#L87-L91'>87&ndash;91</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts'>Point.ts</a></td><td><b>90.27%</b></td><td><b>61.22%</b></td><td>100%</td><td><b>93.60%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L104'>104</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L117'>117</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L157'>157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L179'>179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L197'>197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L216'>216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L225'>225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L236-L239'>236&ndash;239</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L259'>259</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L285'>285</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L297'>297</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L317'>317</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L328'>328</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L341'>341</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L349'>349</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L359'>359</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Point.ts#L95'>95</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts'>Shadow.ts</a></td><td><b>87.85%</b></td><td><b>78.26%</b></td><td>100%</td><td><b>88.37%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L147'>147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L150'>150</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L152-L157'>152&ndash;157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L166'>166</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L203'>203</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L206'>206</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L213'>213</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L230-L237'>230&ndash;237</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L241-L242'>241&ndash;242</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Shadow.ts#L38-L41'>38&ndash;41</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/cache.ts'>cache.ts</a></td><td><b>84.88%</b></td><td><b>45.45%</b></td><td>100%</td><td><b>90.14%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/cache.ts#L57'>57</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/cache.ts#L59'>59</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/cache.ts#L71-L72'>71&ndash;72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/cache.ts#L74-L77'>74&ndash;77</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts'>config.ts</a></td><td><b>87.73%</b></td><td><b>55%</b></td><td><b>66.67%</b></td><td><b>94.03%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L132'>132</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L134-L137'>134&ndash;137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L139'>139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L142-L143'>142&ndash;143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L147'>147</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/config.ts#L152'>152</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/ActiveSelectionLayoutManager.ts'>ActiveSelectionLayoutManager.ts</a></td><td><b>93.33%</b></td><td><b>76.92%</b></td><td><b>85.71%</b></td><td>100%</td><td></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutManager.ts'>LayoutManager.ts</a></td><td><b>90.54%</b></td><td><b>65.06%</b></td><td><b>76.92%</b></td><td><b>99.29%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutManager.ts#L269'>269</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutManager.ts#L333'>333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutManager.ts#L344'>344</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts'>index.ts</a></td><td><b>48.57%</b></td><td><b>37.50%</b></td><td><b>80%</b></td><td><b>66.67%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L1'>1</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L1-L2'>1&ndash;2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L2'>2</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L2-L3'>2&ndash;3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L3'>3</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L3-L4'>3&ndash;4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L4'>4</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L4-L5'>4&ndash;5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L5'>5</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/index.ts#L5-L6'>5&ndash;6</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/types.ts'>types.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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts'>ClipPathLayout.ts</a></td><td><b>73.08%</b></td><td><b>50%</b></td><td>100%</td><td><b>78.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L41-L44'>41&ndash;44</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L46-L48'>46&ndash;48</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L57-L58'>57&ndash;58</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/ClipPathLayout.ts#L66-L69'>66&ndash;69</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/FixedLayout.ts'>FixedLayout.ts</a></td><td><b>85.71%</b></td><td><b>20%</b></td><td>100%</td><td>100%</td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/FixedLayout.ts#L23'>23</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts'>LayoutStrategy.ts</a></td><td><b>89.26%</b></td><td><b>59.26%</b></td><td>100%</td><td><b>97.70%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L54'>54</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L72'>72</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/LayoutStrategy.ts#L74'>74</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/utils.ts'>utils.ts</a></td><td><b>72.58%</b></td><td><b>50%</b></td><td>100%</td><td><b>78.72%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/utils.ts#L29-L32'>29&ndash;32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/utils.ts#L34-L35'>34&ndash;35</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/LayoutManager/LayoutStrategies/utils.ts#L40-L44'>40&ndash;44</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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts'>Pattern.ts</a></td><td><b>70.18%</b></td><td><b>90.91%</b></td><td><b>80%</b></td><td><b>65.95%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L105-L107'>105&ndash;107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L114'>114</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L119-L122'>119&ndash;122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L130-L138'>130&ndash;138</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L153-L164'>153&ndash;164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L174'>174</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L176-L181'>176&ndash;181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L183-L188'>183&ndash;188</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L190-L199'>190&ndash;199</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L204-L205'>204&ndash;205</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L207-L209'>207&ndash;209</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L33'>33</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/Pattern/Pattern.ts#L37'>37</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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts'>BaseBrush.ts</a></td><td><b>89.33%</b></td><td><b>91.67%</b></td><td>100%</td><td><b>88.55%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L110'>110</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L115'>115</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L124-L125'>124&ndash;125</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L130'>130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L135'>135</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L143'>143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L146'>146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L155-L160'>155&ndash;160</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/BaseBrush.ts#L99'>99</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts'>CircleBrush.ts</a></td><td><b>52.10%</b></td><td><b>12.50%</b></td><td><b>12.50%</b></td><td><b>58.25%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L100-L108'>100&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L108-L118'>108&ndash;118</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L122'>122</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L130-L139'>130&ndash;139</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L55'>55</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L69'>69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L76'>76</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L78-L79'>78&ndash;79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L79'>79</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L83'>83</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L85-L86'>85&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/CircleBrush.ts#L92-L98'>92&ndash;98</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PatternBrush.ts#L21'>21</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L122-L123'>122&ndash;123</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L152'>152</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L152-L154'>152&ndash;154</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L176'>176</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L276'>276</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L280'>280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L285-L286'>285&ndash;286</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/PencilBrush.ts#L68-L69'>68&ndash;69</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L107'>107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L107-L108'>107&ndash;108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L110-L111'>110&ndash;111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L118-L119'>118&ndash;119</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L121'>121</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L123-L127'>123&ndash;127</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L136'>136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L140-L141'>140&ndash;141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L141'>141</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L148'>148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L148-L151'>148&ndash;151</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L153-L156'>153&ndash;156</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L160-L161'>160&ndash;161</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L163'>163</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L165-L168'>165&ndash;168</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L17'>17</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L171'>171</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L178-L179'>178&ndash;179</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L18'>18</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L181'>181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L183-L184'>183&ndash;184</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L186'>186</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L193-L194'>193&ndash;194</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L196-L197'>196&ndash;197</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L20'>20</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L200'>200</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L207'>207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L21'>21</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L211'>211</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L22'>22</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L22-L24'>22&ndash;24</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L28'>28</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L32'>32</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L39'>39</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L46'>46</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L53'>53</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L60'>60</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L67'>67</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L84-L86'>84&ndash;86</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/brushes/SprayBrush.ts#L94-L96'>94&ndash;96</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts'>Canvas.ts</a></td><td><b>74.70%</b></td><td><b>41%</b></td><td><b>92.86%</b></td><td><b>83.56%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1004'>1004</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1007-L1008'>1007&ndash;1008</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1012-L1013'>1012&ndash;1013</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1018'>1018</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1063-L1068'>1063&ndash;1068</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1105'>1105</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1126'>1126</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1130'>1130</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1137'>1137</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1140'>1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1203-L1207'>1203&ndash;1207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1286-L1290'>1286&ndash;1290</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1320'>1320</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1337'>1337</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1383-L1400'>1383&ndash;1400</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1406-L1411'>1406&ndash;1411</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1414-L1415'>1414&ndash;1415</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1417'>1417</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1421'>1421</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1423-L1424'>1423&ndash;1424</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1426-L1428'>1426&ndash;1428</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1432'>1432</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1434'>1434</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1436-L1438'>1436&ndash;1438</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1441-L1446'>1441&ndash;1446</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1449-L1451'>1449&ndash;1451</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1454'>1454</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1456'>1456</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1470'>1470</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1477'>1477</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1479-L1490'>1479&ndash;1490</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1492-L1495'>1492&ndash;1495</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1495'>1495</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1497'>1497</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1501-L1502'>1501&ndash;1502</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1505-L1506'>1505&ndash;1506</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1509-L1511'>1509&ndash;1511</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1514'>1514</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L1522'>1522</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L354'>354</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L369'>369</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L388'>388</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L443'>443</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L559-L563'>559&ndash;563</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L566-L567'>566&ndash;567</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L569'>569</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L579'>579</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L582-L583'>582&ndash;583</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L585'>585</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L588-L590'>588&ndash;590</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L602'>602</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L609-L613'>609&ndash;613</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L615-L620'>615&ndash;620</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L622-L626'>622&ndash;626</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L659'>659</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L661'>661</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L668-L672'>668&ndash;672</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L674-L679'>674&ndash;679</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L681'>681</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L683-L684'>683&ndash;684</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L686-L689'>686&ndash;689</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L691-L692'>691&ndash;692</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L747'>747</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L783-L786'>783&ndash;786</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L789'>789</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L791'>791</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L794'>794</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L796'>796</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L798'>798</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L824'>824</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L833'>833</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L843'>843</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L845'>845</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L847-L851'>847&ndash;851</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L854-L861'>854&ndash;861</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L887'>887</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L932-L933'>932&ndash;933</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L936'>936</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L938'>938</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L947-L953'>947&ndash;953</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L956'>956</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L963-L964'>963&ndash;964</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L966-L970'>966&ndash;970</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L972'>972</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L974'>974</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L995-L996'>995&ndash;996</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/Canvas.ts#L999'>999</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/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/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts'>SelectableCanvas.ts</a></td><td><b>85.49%</b></td><td><b>53.85%</b></td><td>100%</td><td><b>94.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1021'>1021</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1089-L1093'>1089&ndash;1093</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1139-L1140'>1139&ndash;1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1142-L1143'>1142&ndash;1143</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1145'>1145</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1172'>1172</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1174-L1175'>1174&ndash;1175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1175'>1175</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1177'>1177</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1216'>1216</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1218'>1218</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1220'>1220</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1236'>1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1238'>1238</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1266'>1266</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1269'>1269</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1288'>1288</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1290'>1290</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1294'>1294</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1312-L1319'>1312&ndash;1319</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1322'>1322</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1325'>1325</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1334-L1335'>1334&ndash;1335</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1339-L1348'>1339&ndash;1348</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1352'>1352</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1354-L1355'>1354&ndash;1355</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1361-L1366'>1361&ndash;1366</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L1370'>1370</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L362'>362</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L384'>384</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L462'>462</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L513'>513</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L515'>515</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L591'>591</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L596'>596</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L673'>673</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L701'>701</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L992'>992</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/SelectableCanvas.ts#L994-L995'>994&ndash;995</a></td></tr><tr><td>&nbsp; &nbsp;<a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts'>StaticCanvas.ts</a></td><td><b>75.93%</b></td><td><b>70.11%</b></td><td><b>98.91%</b></td><td><b>75.43%</b></td><td><a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1003'>1003</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1009'>1009</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1012'>1012</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1014'>1014</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1016'>1016</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1024'>1024</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1026-L1032'>1026&ndash;1032</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1042'>1042</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1045'>1045</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1048-L1054'>1048&ndash;1054</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1056-L1057'>1056&ndash;1057</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1059-L1080'>1059&ndash;1080</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1087-L1089'>1087&ndash;1089</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1091'>1091</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1099'>1099</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1105'>1105</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1107'>1107</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1107-L1108'>1107&ndash;1108</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1108-L1109'>1108&ndash;1109</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1111'>1111</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1111-L1116'>1111&ndash;1116</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1129'>1129</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1134-L1136'>1134&ndash;1136</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1140'>1140</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1144'>1144</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1146'>1146</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1148'>1148</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1153-L1157'>1153&ndash;1157</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1159'>1159</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1161-L1164'>1161&ndash;1164</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1167'>1167</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1169'>1169</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1178'>1178</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1180-L1181'>1180&ndash;1181</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1188-L1191'>1188&ndash;1191</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1193'>1193</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1199-L1202'>1199&ndash;1202</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1206-L1207'>1206&ndash;1207</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1217'>1217</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1223-L1225'>1223&ndash;1225</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1227-L1232'>1227&ndash;1232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1232'>1232</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1232-L1236'>1232&ndash;1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1236'>1236</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1236-L1241'>1236&ndash;1241</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1243-L1250'>1243&ndash;1250</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1279-L1280'>1279&ndash;1280</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1282-L1283'>1282&ndash;1283</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1285-L1287'>1285&ndash;1287</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1289-L1295'>1289&ndash;1295</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1299'>1299</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1301-L1314'>1301&ndash;1314</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1322-L1323'>1322&ndash;1323</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1333'>1333</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1344'>1344</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1385-L1389'>1385&ndash;1389</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1391'>1391</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1393'>1393</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1395-L1399'>1395&ndash;1399</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1418'>1418</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1433'>1433</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1448'>1448</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1468'>1468</a>, <a href='https://github.com/fabricjs/fabric.js/blob/4165fd45dcdaaba7d20eca5b9714b16d414f7905/src/canvas/StaticCanvas.ts#L1501'>1501</a>, <a href='https://github.com/fabricjs/fabric.js/bl

Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dd512739e..acd6d46f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
 
 ## [next]
 
+- fix(Canvas): mouse move before event data [#9849](https://github.com/fabricjs/fabric.js/pull/9849)
 - chore(FabricObject): pass `e` to `shouldStartDragging` [#9843](https://github.com/fabricjs/fabric.js/pull/9843)
 - ci(): Add Jest coverage to the report [#9836](https://github.com/fabricjs/fabric.js/pull/9836)
 - test(): Add cursor animation testing and migrate some easy one to jest [#9829](https://github.com/fabricjs/fabric.js/pull/9829)
diff --git a/src/canvas/Canvas.ts b/src/canvas/Canvas.ts
index 311d21875..db1cbb077 100644
--- a/src/canvas/Canvas.ts
+++ b/src/canvas/Canvas.ts
@@ -1117,8 +1117,8 @@ export class Canvas extends SelectableCanvas implements CanvasOptions {
    */
   __onMouseMove(e: TPointerEvent) {
     this._isClick = false;
-    this._handleEvent(e, 'move:before');
     this._cacheTransformEventData(e);
+    this._handleEvent(e, 'move:before');
 
     if (this.isDrawingMode) {
       this._onMouseMoveInDrawingMode(e);


Test patch:
diff --git a/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap b/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap
index f0e81fa32..696591c9e 100644
--- a/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap
+++ b/src/canvas/__tests__/__snapshots__/eventData.test.ts.snap
@@ -702,6 +702,33 @@ exports[`Canvas event data HTML event "wheel" should fire a corresponding canvas
 
 exports[`Event targets should fire mouse over/out events on target 1`] = `
 [
+  [
+    "mousemove:before",
+    {
+      "absolutePointer": Point {
+        "x": 5,
+        "y": 5,
+      },
+      "e": MouseEvent {
+        "isTrusted": false,
+      },
+      "pointer": Point {
+        "x": 5,
+        "y": 5,
+      },
+      "scenePoint": Point {
+        "x": 5,
+        "y": 5,
+      },
+      "subTargets": [],
+      "target": "target",
+      "transform": null,
+      "viewportPoint": Point {
+        "x": 5,
+        "y": 5,
+      },
+    },
+  ],
   [
     "mouseover",
     {
@@ -805,7 +832,7 @@ exports[`Event targets should fire mouse over/out events on target 2`] = `
         "y": 5,
       },
       "subTargets": [],
-      "target": undefined,
+      "target": "target",
       "transform": null,
       "viewportPoint": Point {
         "x": 5,