paper 0.12.16 → 0.12.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/CHANGELOG.md +19 -4
  2. package/dist/docs/assets/js/paper.js +22 -14
  3. package/dist/docs/classes/Color.html +2 -2
  4. package/dist/docs/classes/CompoundPath.html +3 -4
  5. package/dist/docs/classes/Curve.html +2 -2
  6. package/dist/docs/classes/CurveLocation.html +2 -2
  7. package/dist/docs/classes/Event.html +2 -2
  8. package/dist/docs/classes/Gradient.html +2 -2
  9. package/dist/docs/classes/GradientStop.html +2 -2
  10. package/dist/docs/classes/Group.html +3 -4
  11. package/dist/docs/classes/HitResult.html +2 -2
  12. package/dist/docs/classes/Item.html +3 -4
  13. package/dist/docs/classes/Key.html +2 -2
  14. package/dist/docs/classes/KeyEvent.html +2 -2
  15. package/dist/docs/classes/Layer.html +3 -4
  16. package/dist/docs/classes/Matrix.html +2 -2
  17. package/dist/docs/classes/MouseEvent.html +2 -2
  18. package/dist/docs/classes/PaperScope.html +2 -2
  19. package/dist/docs/classes/PaperScript.html +2 -2
  20. package/dist/docs/classes/Path.html +3 -4
  21. package/dist/docs/classes/PathItem.html +3 -4
  22. package/dist/docs/classes/Point.html +2 -2
  23. package/dist/docs/classes/PointText.html +3 -4
  24. package/dist/docs/classes/Project.html +3 -2
  25. package/dist/docs/classes/Raster.html +3 -4
  26. package/dist/docs/classes/Rectangle.html +2 -2
  27. package/dist/docs/classes/Segment.html +2 -2
  28. package/dist/docs/classes/Shape.html +3 -4
  29. package/dist/docs/classes/Size.html +2 -2
  30. package/dist/docs/classes/Style.html +2 -2
  31. package/dist/docs/classes/SymbolDefinition.html +2 -2
  32. package/dist/docs/classes/SymbolItem.html +3 -4
  33. package/dist/docs/classes/TextItem.html +3 -4
  34. package/dist/docs/classes/Tool.html +2 -2
  35. package/dist/docs/classes/ToolEvent.html +2 -2
  36. package/dist/docs/classes/Tween.html +2 -2
  37. package/dist/docs/classes/View.html +3 -3
  38. package/dist/docs/classes/global.html +2 -2
  39. package/dist/docs/classes/index.html +2 -2
  40. package/dist/docs/index.html +1 -1
  41. package/dist/paper-core.js +22 -14
  42. package/dist/paper-core.min.js +3 -3
  43. package/dist/paper-full.js +22 -14
  44. package/dist/paper-full.min.js +3 -3
  45. package/dist/paper.d.ts +175 -147
  46. package/dist/paperjs/LICENSE.txt +23 -0
  47. package/dist/paperjs/dist/node/canvas.js +66 -0
  48. package/dist/paperjs/dist/node/extend.js +156 -0
  49. package/dist/paperjs/dist/node/self.js +58 -0
  50. package/dist/paperjs/dist/node/xml.js +40 -0
  51. package/dist/paperjs/dist/paper-core.d.ts +1 -0
  52. package/dist/paperjs/dist/paper-core.js +15703 -0
  53. package/dist/paperjs/dist/paper-core.min.js +32 -0
  54. package/dist/paperjs/dist/paper-full.js +17472 -0
  55. package/dist/paperjs/dist/paper-full.min.js +32 -0
  56. package/dist/paperjs/dist/paper.d.ts +7394 -0
  57. package/dist/paperjs/docs/assets/css/docs.css +414 -0
  58. package/dist/paperjs/docs/assets/js/codemirror.js +4 -0
  59. package/dist/paperjs/docs/assets/js/docs.js +493 -0
  60. package/dist/paperjs/docs/assets/js/jquery.js +6 -0
  61. package/dist/paperjs/docs/assets/js/paper.js +17472 -0
  62. package/dist/paperjs/docs/classes/Color.html +2188 -0
  63. package/dist/paperjs/docs/classes/CompoundPath.html +8877 -0
  64. package/dist/paperjs/docs/classes/Curve.html +2323 -0
  65. package/dist/paperjs/docs/classes/CurveLocation.html +672 -0
  66. package/dist/paperjs/docs/classes/Event.html +176 -0
  67. package/dist/paperjs/docs/classes/Gradient.html +240 -0
  68. package/dist/paperjs/docs/classes/GradientStop.html +273 -0
  69. package/dist/paperjs/docs/classes/Group.html +6864 -0
  70. package/dist/paperjs/docs/classes/HitResult.html +239 -0
  71. package/dist/paperjs/docs/classes/Item.html +6628 -0
  72. package/dist/paperjs/docs/classes/Key.html +139 -0
  73. package/dist/paperjs/docs/classes/KeyEvent.html +308 -0
  74. package/dist/paperjs/docs/classes/Layer.html +6850 -0
  75. package/dist/paperjs/docs/classes/Matrix.html +1744 -0
  76. package/dist/paperjs/docs/classes/MouseEvent.html +355 -0
  77. package/dist/paperjs/docs/classes/PaperScope.html +459 -0
  78. package/dist/paperjs/docs/classes/PaperScript.html +198 -0
  79. package/dist/paperjs/docs/classes/Path.html +11775 -0
  80. package/dist/paperjs/docs/classes/PathItem.html +8639 -0
  81. package/dist/paperjs/docs/classes/Point.html +2699 -0
  82. package/dist/paperjs/docs/classes/PointText.html +7029 -0
  83. package/dist/paperjs/docs/classes/Project.html +1305 -0
  84. package/dist/paperjs/docs/classes/Raster.html +7843 -0
  85. package/dist/paperjs/docs/classes/Rectangle.html +1654 -0
  86. package/dist/paperjs/docs/classes/Segment.html +939 -0
  87. package/dist/paperjs/docs/classes/Shape.html +7363 -0
  88. package/dist/paperjs/docs/classes/Size.html +1825 -0
  89. package/dist/paperjs/docs/classes/Style.html +919 -0
  90. package/dist/paperjs/docs/classes/SymbolDefinition.html +311 -0
  91. package/dist/paperjs/docs/classes/SymbolItem.html +6755 -0
  92. package/dist/paperjs/docs/classes/TextItem.html +6869 -0
  93. package/dist/paperjs/docs/classes/Tool.html +761 -0
  94. package/dist/paperjs/docs/classes/ToolEvent.html +446 -0
  95. package/dist/paperjs/docs/classes/Tween.html +374 -0
  96. package/dist/paperjs/docs/classes/View.html +1772 -0
  97. package/dist/paperjs/docs/classes/global.html +425 -0
  98. package/dist/paperjs/docs/classes/index.html +88 -0
  99. package/dist/paperjs/docs/index.html +11 -0
  100. package/dist/paperjs/examples/Animated/AnimatedStar.html +53 -0
  101. package/dist/paperjs/examples/Animated/BooleanOperations.html +115 -0
  102. package/dist/paperjs/examples/Animated/CandyCrash.html +151 -0
  103. package/dist/paperjs/examples/Animated/Extruded.html +50 -0
  104. package/dist/paperjs/examples/Animated/Lines.html +53 -0
  105. package/dist/paperjs/examples/Animated/Smoothing.html +70 -0
  106. package/dist/paperjs/examples/Animated/Space.html +86 -0
  107. package/dist/paperjs/examples/Animated/SpaceUsingShapes.html +79 -0
  108. package/dist/paperjs/examples/Games/Paperoids.html +569 -0
  109. package/dist/paperjs/examples/JSON/Circle Testing.html +34 -0
  110. package/dist/paperjs/examples/JSON/Compound Path.html +25 -0
  111. package/dist/paperjs/examples/JSON/Empty Path Testing.html +31 -0
  112. package/dist/paperjs/examples/JSON/Gradients.html +34 -0
  113. package/dist/paperjs/examples/JSON/Group Transform.html +28 -0
  114. package/dist/paperjs/examples/JSON/Line Testing.html +44 -0
  115. package/dist/paperjs/examples/JSON/Random Path Testing.html +42 -0
  116. package/dist/paperjs/examples/JSON/Raster.html +29 -0
  117. package/dist/paperjs/examples/JSON/Rect and Attribute Testing.html +56 -0
  118. package/dist/paperjs/examples/JSON/Rotated Primitives.html +55 -0
  119. package/dist/paperjs/examples/JSON/Selection.html +43 -0
  120. package/dist/paperjs/examples/JSON/Shapes.html +54 -0
  121. package/dist/paperjs/examples/JSON/Symbols.html +30 -0
  122. package/dist/paperjs/examples/JSON/Text Testing.html +38 -0
  123. package/dist/paperjs/examples/JSON/Tiger.html +19 -0
  124. package/dist/paperjs/examples/JSON/Transform Test 1.html +32 -0
  125. package/dist/paperjs/examples/JSON/Transform Test 2.html +30 -0
  126. package/dist/paperjs/examples/Node.js/AnimatedStar.js +52 -0
  127. package/dist/paperjs/examples/Node.js/BooleanOperations.js +36 -0
  128. package/dist/paperjs/examples/Node.js/JSONtoPDF.js +20 -0
  129. package/dist/paperjs/examples/Node.js/Raster.js +32 -0
  130. package/dist/paperjs/examples/Node.js/RasterRemote.js +33 -0
  131. package/dist/paperjs/examples/Node.js/SvgExport.js +52 -0
  132. package/dist/paperjs/examples/Node.js/SvgImport.js +23 -0
  133. package/dist/paperjs/examples/Node.js/Tadpoles.js +16 -0
  134. package/dist/paperjs/examples/Node.js/Tadpoles.pjs +278 -0
  135. package/dist/paperjs/examples/Node.js/in.json +1 -0
  136. package/dist/paperjs/examples/Node.js/in.svg +16 -0
  137. package/dist/paperjs/examples/Paperjs.org/BooleanOperattions.html +115 -0
  138. package/dist/paperjs/examples/Paperjs.org/BouncingBalls.html +103 -0
  139. package/dist/paperjs/examples/Paperjs.org/Chain.html +54 -0
  140. package/dist/paperjs/examples/Paperjs.org/DivisionRaster.html +72 -0
  141. package/dist/paperjs/examples/Paperjs.org/FutureSplash.html +122 -0
  142. package/dist/paperjs/examples/Paperjs.org/HitTesting.html +103 -0
  143. package/dist/paperjs/examples/Paperjs.org/InteractiveTiger.html +777 -0
  144. package/dist/paperjs/examples/Paperjs.org/MetaBalls.html +132 -0
  145. package/dist/paperjs/examples/Paperjs.org/NyanRainbow.html +202 -0
  146. package/dist/paperjs/examples/Paperjs.org/PathIntersections.html +76 -0
  147. package/dist/paperjs/examples/Paperjs.org/Qbertify.html +146 -0
  148. package/dist/paperjs/examples/Paperjs.org/RadialRainbows.html +80 -0
  149. package/dist/paperjs/examples/Paperjs.org/RoundedRectangles.html +41 -0
  150. package/dist/paperjs/examples/Paperjs.org/SatieLikedToDraw.html +140 -0
  151. package/dist/paperjs/examples/Paperjs.org/Simplify.html +63 -0
  152. package/dist/paperjs/examples/Paperjs.org/SpiralRaster.html +120 -0
  153. package/dist/paperjs/examples/Paperjs.org/Tadpoles.html +283 -0
  154. package/dist/paperjs/examples/Paperjs.org/Voronoi.html +134 -0
  155. package/dist/paperjs/examples/Rasters/PhyllotaxisRaster.html +96 -0
  156. package/dist/paperjs/examples/Rasters/Raster.html +34 -0
  157. package/dist/paperjs/examples/Rasters/RotationRaster.html +44 -0
  158. package/dist/paperjs/examples/Rasters/Smoothing.html +36 -0
  159. package/dist/paperjs/examples/SVG Export/Circle Testing.html +32 -0
  160. package/dist/paperjs/examples/SVG Export/Clipping.html +17 -0
  161. package/dist/paperjs/examples/SVG Export/Compound Path.html +22 -0
  162. package/dist/paperjs/examples/SVG Export/Empty Path Testing.html +28 -0
  163. package/dist/paperjs/examples/SVG Export/Gradients.html +52 -0
  164. package/dist/paperjs/examples/SVG Export/Group Transform.html +25 -0
  165. package/dist/paperjs/examples/SVG Export/Line Testing.html +41 -0
  166. package/dist/paperjs/examples/SVG Export/Random Path Testing.html +39 -0
  167. package/dist/paperjs/examples/SVG Export/Raster.html +21 -0
  168. package/dist/paperjs/examples/SVG Export/Rect and Attribute Testing.html +53 -0
  169. package/dist/paperjs/examples/SVG Export/Rotated Primitives.html +80 -0
  170. package/dist/paperjs/examples/SVG Export/Shapes.html +58 -0
  171. package/dist/paperjs/examples/SVG Export/Symbols.html +27 -0
  172. package/dist/paperjs/examples/SVG Export/Text Testing.html +45 -0
  173. package/dist/paperjs/examples/SVG Export/Tiger.html +23 -0
  174. package/dist/paperjs/examples/SVG Export/Transform Test 1.html +29 -0
  175. package/dist/paperjs/examples/SVG Export/Transform Test 2.html +27 -0
  176. package/dist/paperjs/examples/SVG Import/Arcs.html +78 -0
  177. package/dist/paperjs/examples/SVG Import/Butterfly.html +223 -0
  178. package/dist/paperjs/examples/SVG Import/Circle and Ellipse Testing.html +26 -0
  179. package/dist/paperjs/examples/SVG Import/Clipping.html +100 -0
  180. package/dist/paperjs/examples/SVG Import/From File.html +30 -0
  181. package/dist/paperjs/examples/SVG Import/Gradient.html +138 -0
  182. package/dist/paperjs/examples/SVG Import/Gradients.html +30 -0
  183. package/dist/paperjs/examples/SVG Import/Inkscape Pivot.html +52 -0
  184. package/dist/paperjs/examples/SVG Import/Inkscape.html +88 -0
  185. package/dist/paperjs/examples/SVG Import/Line Testing.html +24 -0
  186. package/dist/paperjs/examples/SVG Import/MoreGradients.html +107 -0
  187. package/dist/paperjs/examples/SVG Import/Multiple Paths Test 1.html +42 -0
  188. package/dist/paperjs/examples/SVG Import/Multiple Paths Test 2.html +33 -0
  189. package/dist/paperjs/examples/SVG Import/Nested Groups Test.html +78 -0
  190. package/dist/paperjs/examples/SVG Import/Polybezier.html +43 -0
  191. package/dist/paperjs/examples/SVG Import/Rect Testing.html +25 -0
  192. package/dist/paperjs/examples/SVG Import/Symbols.html +24 -0
  193. package/dist/paperjs/examples/SVG Import/Testing.html +40 -0
  194. package/dist/paperjs/examples/SVG Import/Text Testing.html +19 -0
  195. package/dist/paperjs/examples/SVG Import/Tiger.html +742 -0
  196. package/dist/paperjs/examples/SVG Import/Transform Testing.html +22 -0
  197. package/dist/paperjs/examples/SVG Import/Viewbox.html +38 -0
  198. package/dist/paperjs/examples/Scripts/Arcs.html +39 -0
  199. package/dist/paperjs/examples/Scripts/BlendModes.html +77 -0
  200. package/dist/paperjs/examples/Scripts/BooleanOperations.html +937 -0
  201. package/dist/paperjs/examples/Scripts/CompoundPath.html +19 -0
  202. package/dist/paperjs/examples/Scripts/CurveTimeParameterization.html +61 -0
  203. package/dist/paperjs/examples/Scripts/HslColor.html +53 -0
  204. package/dist/paperjs/examples/Scripts/PathStructure.html +82 -0
  205. package/dist/paperjs/examples/Scripts/PathTangents.html +73 -0
  206. package/dist/paperjs/examples/Scripts/Resize.html +42 -0
  207. package/dist/paperjs/examples/Scripts/RoundRectangle.html +28 -0
  208. package/dist/paperjs/examples/Scripts/Shapes.html +54 -0
  209. package/dist/paperjs/examples/Scripts/StrokeBounds.html +101 -0
  210. package/dist/paperjs/examples/Scripts/StrokeScaling.html +65 -0
  211. package/dist/paperjs/examples/Tools/BezierTool.html +90 -0
  212. package/dist/paperjs/examples/Tools/Circles.html +28 -0
  213. package/dist/paperjs/examples/Tools/Clouds.html +35 -0
  214. package/dist/paperjs/examples/Tools/DrippingBrush.html +73 -0
  215. package/dist/paperjs/examples/Tools/FancyBrush.html +82 -0
  216. package/dist/paperjs/examples/Tools/Grid.html +44 -0
  217. package/dist/paperjs/examples/Tools/MultiLines.html +44 -0
  218. package/dist/paperjs/examples/Tools/MultipleTools.html +44 -0
  219. package/dist/paperjs/examples/Tools/PathEditing.html +95 -0
  220. package/dist/paperjs/examples/Tools/SquareRounded.html +76 -0
  221. package/dist/paperjs/examples/Tools/Stars.html +38 -0
  222. package/dist/paperjs/examples/Tools/Vektor.html +200 -0
  223. package/dist/paperjs/examples/Tools/Wave.html +50 -0
  224. package/dist/paperjs/examples/Tools/WormFarm.html +88 -0
  225. package/dist/paperjs/examples/Worker/Main.html +53 -0
  226. package/dist/paperjs/examples/Worker/Worker.js +14 -0
  227. package/dist/paperjs/examples/css/style.css +12 -0
  228. package/package.json +4 -4
@@ -0,0 +1,1744 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Matrix</title>
6
+ <base target="class-frame">
7
+ <link href="../assets/css/docs.css" rel="stylesheet" type="text/css">
8
+ <script src="../assets/js/paper.js"></script>
9
+ <script src="../assets/js/jquery.js"></script>
10
+ <script src="../assets/js/codemirror.js"></script>
11
+ <script src="../assets/js/docs.js"></script>
12
+ </head>
13
+ <body>
14
+ <article class="reference">
15
+ <div class="reference-class">
16
+ <h1>Matrix</h1>
17
+
18
+ <p>An affine transformation matrix performs a linear mapping from 2D coordinates to other 2D coordinates that preserves the &ldquo;straightness&rdquo; and &ldquo;parallelness&rdquo; of lines.</p>
19
+ <p>Such a coordinate transformation can be represented by a 3 row by 3 column matrix with an implied last row of <code>[ 0 0 1 ]</code>. This matrix transforms source coordinates <code>(x, y)</code> into destination coordinates <code>(x&#39;,y&#39;)</code> by considering them to be a column vector and multiplying the coordinate vector by the matrix according to the following process:</p>
20
+ <pre><code>[ x ] [ a c tx ] [ x ] [ a * x + c * y + tx ]
21
+ [ y ] = [ b d ty ] [ y ] = [ b * x + d * y + ty ]
22
+ [ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
23
+ </code></pre>
24
+ <p>Note the locations of b and c.</p>
25
+ <p>This class is optimized for speed and minimizes calculations based on its knowledge of the underlying matrix (as opposed to say simply performing matrix multiplication).</p>
26
+
27
+ </div>
28
+
29
+ <!-- =============================== constructors ========================== -->
30
+ <div class="reference-members">
31
+ <h2>Constructors</h2>
32
+
33
+
34
+ <div id="matrix" class="member">
35
+ <div class="member-link">
36
+ <a name="matrix" href="#matrix"><tt><b>Matrix</b>()</tt></a>
37
+ </div>
38
+ <div class="member-description hidden">
39
+ <div class="member-text">
40
+ <p>Creates a 2D affine transformation matrix that describes the identity transformation.</p>
41
+
42
+
43
+
44
+ <ul class="member-list">
45
+ <h4>Returns:</h4>
46
+
47
+ <li>
48
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>
49
+ </li>
50
+
51
+
52
+ </ul>
53
+
54
+
55
+
56
+
57
+
58
+ </div>
59
+ </div>
60
+ </div>
61
+
62
+
63
+ <div id="matrix-a-b-c-d-tx-ty" class="member">
64
+ <div class="member-link">
65
+ <a name="matrix-a-b-c-d-tx-ty" href="#matrix-a-b-c-d-tx-ty"><tt><b>Matrix</b>(a, b, c, d, tx, ty)</tt></a>
66
+ </div>
67
+ <div class="member-description hidden">
68
+ <div class="member-text">
69
+ <p>Creates a 2D affine transformation matrix.</p>
70
+
71
+
72
+ <ul class="member-list">
73
+ <h4>Parameters:</h4>
74
+
75
+ <li>
76
+ <tt>a:</tt>
77
+ <tt>Number</tt>
78
+ &mdash;&nbsp;the a property of the transform
79
+
80
+ </li>
81
+
82
+ <li>
83
+ <tt>b:</tt>
84
+ <tt>Number</tt>
85
+ &mdash;&nbsp;the b property of the transform
86
+
87
+ </li>
88
+
89
+ <li>
90
+ <tt>c:</tt>
91
+ <tt>Number</tt>
92
+ &mdash;&nbsp;the c property of the transform
93
+
94
+ </li>
95
+
96
+ <li>
97
+ <tt>d:</tt>
98
+ <tt>Number</tt>
99
+ &mdash;&nbsp;the d property of the transform
100
+
101
+ </li>
102
+
103
+ <li>
104
+ <tt>tx:</tt>
105
+ <tt>Number</tt>
106
+ &mdash;&nbsp;the tx property of the transform
107
+
108
+ </li>
109
+
110
+ <li>
111
+ <tt>ty:</tt>
112
+ <tt>Number</tt>
113
+ &mdash;&nbsp;the ty property of the transform
114
+
115
+ </li>
116
+
117
+ </ul>
118
+
119
+
120
+ <ul class="member-list">
121
+ <h4>Returns:</h4>
122
+
123
+ <li>
124
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>
125
+ </li>
126
+
127
+
128
+ </ul>
129
+
130
+
131
+
132
+
133
+
134
+ </div>
135
+ </div>
136
+ </div>
137
+
138
+
139
+ <div id="matrix-values" class="member">
140
+ <div class="member-link">
141
+ <a name="matrix-values" href="#matrix-values"><tt><b>Matrix</b>(values)</tt></a>
142
+ </div>
143
+ <div class="member-description hidden">
144
+ <div class="member-text">
145
+ <p>Creates a 2D affine transformation matrix.</p>
146
+
147
+
148
+ <ul class="member-list">
149
+ <h4>Parameters:</h4>
150
+
151
+ <li>
152
+ <tt>values:</tt>
153
+ Array of <tt>Numbers</tt>
154
+ &mdash;&nbsp;the matrix values to initialize this matrix with
155
+
156
+ </li>
157
+
158
+ </ul>
159
+
160
+
161
+ <ul class="member-list">
162
+ <h4>Returns:</h4>
163
+
164
+ <li>
165
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>
166
+ </li>
167
+
168
+
169
+ </ul>
170
+
171
+
172
+
173
+
174
+
175
+ </div>
176
+ </div>
177
+ </div>
178
+
179
+
180
+ <div id="matrix-matrix" class="member">
181
+ <div class="member-link">
182
+ <a name="matrix-matrix" href="#matrix-matrix"><tt><b>Matrix</b>(matrix)</tt></a>
183
+ </div>
184
+ <div class="member-description hidden">
185
+ <div class="member-text">
186
+ <p>Creates a 2D affine transformation matrix.</p>
187
+
188
+
189
+ <ul class="member-list">
190
+ <h4>Parameters:</h4>
191
+
192
+ <li>
193
+ <tt>matrix:</tt>
194
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
195
+ &mdash;&nbsp;the matrix to copy the values from
196
+
197
+ </li>
198
+
199
+ </ul>
200
+
201
+
202
+ <ul class="member-list">
203
+ <h4>Returns:</h4>
204
+
205
+ <li>
206
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>
207
+ </li>
208
+
209
+
210
+ </ul>
211
+
212
+
213
+
214
+
215
+
216
+ </div>
217
+ </div>
218
+ </div>
219
+
220
+ </div>
221
+
222
+
223
+
224
+
225
+
226
+ <!-- ================================ properties =========================== -->
227
+ <div class="reference-members">
228
+ <h2>Properties</h2>
229
+
230
+
231
+ <div id="a" class="member">
232
+ <div class="member-link">
233
+ <a name="a" href="#a"><tt><b>a</b></tt></a>
234
+ </div>
235
+ <div class="member-description hidden">
236
+
237
+ <div class="member-text">
238
+ <p>The value that affects the transformation along the x axis when scaling or rotating, positioned at (0, 0) in the transformation matrix.</p>
239
+
240
+
241
+
242
+ <ul class="member-list">
243
+ <h4>Type:</h4>
244
+ <li>
245
+ <tt>Number</tt>
246
+ </li>
247
+ </ul>
248
+
249
+
250
+
251
+ </div>
252
+
253
+ </div>
254
+ </div>
255
+
256
+
257
+ <div id="b" class="member">
258
+ <div class="member-link">
259
+ <a name="b" href="#b"><tt><b>b</b></tt></a>
260
+ </div>
261
+ <div class="member-description hidden">
262
+
263
+ <div class="member-text">
264
+ <p>The value that affects the transformation along the y axis when rotating or skewing, positioned at (1, 0) in the transformation matrix.</p>
265
+
266
+
267
+
268
+ <ul class="member-list">
269
+ <h4>Type:</h4>
270
+ <li>
271
+ <tt>Number</tt>
272
+ </li>
273
+ </ul>
274
+
275
+
276
+
277
+ </div>
278
+
279
+ </div>
280
+ </div>
281
+
282
+
283
+ <div id="c" class="member">
284
+ <div class="member-link">
285
+ <a name="c" href="#c"><tt><b>c</b></tt></a>
286
+ </div>
287
+ <div class="member-description hidden">
288
+
289
+ <div class="member-text">
290
+ <p>The value that affects the transformation along the x axis when rotating or skewing, positioned at (0, 1) in the transformation matrix.</p>
291
+
292
+
293
+
294
+ <ul class="member-list">
295
+ <h4>Type:</h4>
296
+ <li>
297
+ <tt>Number</tt>
298
+ </li>
299
+ </ul>
300
+
301
+
302
+
303
+ </div>
304
+
305
+ </div>
306
+ </div>
307
+
308
+
309
+ <div id="d" class="member">
310
+ <div class="member-link">
311
+ <a name="d" href="#d"><tt><b>d</b></tt></a>
312
+ </div>
313
+ <div class="member-description hidden">
314
+
315
+ <div class="member-text">
316
+ <p>The value that affects the transformation along the y axis when scaling or rotating, positioned at (1, 1) in the transformation matrix.</p>
317
+
318
+
319
+
320
+ <ul class="member-list">
321
+ <h4>Type:</h4>
322
+ <li>
323
+ <tt>Number</tt>
324
+ </li>
325
+ </ul>
326
+
327
+
328
+
329
+ </div>
330
+
331
+ </div>
332
+ </div>
333
+
334
+
335
+ <div id="tx" class="member">
336
+ <div class="member-link">
337
+ <a name="tx" href="#tx"><tt><b>tx</b></tt></a>
338
+ </div>
339
+ <div class="member-description hidden">
340
+
341
+ <div class="member-text">
342
+ <p>The distance by which to translate along the x axis, positioned at (2, 0) in the transformation matrix.</p>
343
+
344
+
345
+
346
+ <ul class="member-list">
347
+ <h4>Type:</h4>
348
+ <li>
349
+ <tt>Number</tt>
350
+ </li>
351
+ </ul>
352
+
353
+
354
+
355
+ </div>
356
+
357
+ </div>
358
+ </div>
359
+
360
+
361
+ <div id="ty" class="member">
362
+ <div class="member-link">
363
+ <a name="ty" href="#ty"><tt><b>ty</b></tt></a>
364
+ </div>
365
+ <div class="member-description hidden">
366
+
367
+ <div class="member-text">
368
+ <p>The distance by which to translate along the y axis, positioned at (2, 1) in the transformation matrix.</p>
369
+
370
+
371
+
372
+ <ul class="member-list">
373
+ <h4>Type:</h4>
374
+ <li>
375
+ <tt>Number</tt>
376
+ </li>
377
+ </ul>
378
+
379
+
380
+
381
+ </div>
382
+
383
+ </div>
384
+ </div>
385
+
386
+
387
+ <div id="values" class="member">
388
+ <div class="member-link">
389
+ <a name="values" href="#values"><tt><b>values</b></tt></a>
390
+ </div>
391
+ <div class="member-description hidden">
392
+
393
+ <div class="member-text">
394
+ <p>The matrix values as an array, in the same sequence as they are passed to <a href="../classes/Matrix.html#initialize-a-b-c-d-tx-ty"><tt>initialize(a, b, c, d, tx, ty)</tt></a>.</p>
395
+
396
+ <p>Read only.</p>
397
+
398
+
399
+
400
+ <ul class="member-list">
401
+ <h4>Type:</h4>
402
+ <li>
403
+ Array of <tt>Numbers</tt>
404
+ </li>
405
+ </ul>
406
+
407
+
408
+
409
+ </div>
410
+
411
+ </div>
412
+ </div>
413
+
414
+
415
+ <div id="translation" class="member">
416
+ <div class="member-link">
417
+ <a name="translation" href="#translation"><tt><b>translation</b></tt></a>
418
+ </div>
419
+ <div class="member-description hidden">
420
+
421
+ <div class="member-text">
422
+ <p>The translation of the matrix as a vector.</p>
423
+
424
+ <p>Read only.</p>
425
+
426
+
427
+
428
+ <ul class="member-list">
429
+ <h4>Type:</h4>
430
+ <li>
431
+ <a href="../classes/Point.html"><tt>Point</tt></a>
432
+ </li>
433
+ </ul>
434
+
435
+
436
+
437
+ </div>
438
+
439
+ </div>
440
+ </div>
441
+
442
+
443
+ <div id="scaling" class="member">
444
+ <div class="member-link">
445
+ <a name="scaling" href="#scaling"><tt><b>scaling</b></tt></a>
446
+ </div>
447
+ <div class="member-description hidden">
448
+
449
+ <div class="member-text">
450
+ <p>The scaling values of the matrix, if it can be decomposed.</p>
451
+
452
+ <p>Read only.</p>
453
+
454
+
455
+
456
+ <ul class="member-list">
457
+ <h4>Type:</h4>
458
+ <li>
459
+ <a href="../classes/Point.html"><tt>Point</tt></a>
460
+ </li>
461
+ </ul>
462
+
463
+
464
+ <ul class="member-list">
465
+ <h4>See also:</h4>
466
+
467
+ <li><tt><a href="../classes/Matrix.html#decompose"><tt>decompose</tt></a>()</tt></li>
468
+
469
+ </ul>
470
+
471
+
472
+ </div>
473
+
474
+ </div>
475
+ </div>
476
+
477
+
478
+ <div id="rotation" class="member">
479
+ <div class="member-link">
480
+ <a name="rotation" href="#rotation"><tt><b>rotation</b></tt></a>
481
+ </div>
482
+ <div class="member-description hidden">
483
+
484
+ <div class="member-text">
485
+ <p>The rotation angle of the matrix, if it can be decomposed.</p>
486
+
487
+ <p>Read only.</p>
488
+
489
+
490
+
491
+ <ul class="member-list">
492
+ <h4>Type:</h4>
493
+ <li>
494
+ <tt>Number</tt>
495
+ </li>
496
+ </ul>
497
+
498
+
499
+ <ul class="member-list">
500
+ <h4>See also:</h4>
501
+
502
+ <li><tt><a href="../classes/Matrix.html#decompose"><tt>decompose</tt></a>()</tt></li>
503
+
504
+ </ul>
505
+
506
+
507
+ </div>
508
+
509
+ </div>
510
+ </div>
511
+
512
+ </div>
513
+
514
+
515
+
516
+
517
+
518
+ <!-- ============================== methods ================================ -->
519
+ <div class="reference-members">
520
+ <h2>Methods</h2>
521
+
522
+
523
+ <div id="set-values" class="member">
524
+ <div class="member-link">
525
+ <a name="set-values" href="#set-values"><tt><b>set</b>(...values)</tt></a>
526
+ </div>
527
+ <div class="member-description hidden">
528
+ <div class="member-text">
529
+ <p>Sets the matrix to the passed values. Note that any sequence of parameters that is supported by the various <a href="../classes/Matrix.html"><tt>Matrix</tt></a>() constructors also work for calls of <code>set()</code>.</p>
530
+
531
+
532
+ <ul class="member-list">
533
+ <h4>Parameters:</h4>
534
+
535
+ <li>
536
+ <tt>values:</tt>
537
+ <tt>any value</tt>
538
+
539
+
540
+ </li>
541
+
542
+ </ul>
543
+
544
+
545
+ <ul class="member-list">
546
+ <h4>Returns:</h4>
547
+
548
+ <li>
549
+ <tt><a href="../classes/Point.html"><tt>Point</tt></a></tt>
550
+ </li>
551
+
552
+
553
+ </ul>
554
+
555
+
556
+
557
+
558
+
559
+ </div>
560
+ </div>
561
+ </div>
562
+
563
+
564
+ <div id="clone" class="member">
565
+ <div class="member-link">
566
+ <a name="clone" href="#clone"><tt><b>clone</b>()</tt></a>
567
+ </div>
568
+ <div class="member-description hidden">
569
+ <div class="member-text">
570
+
571
+
572
+
573
+
574
+ <ul class="member-list">
575
+ <h4>Returns:</h4>
576
+
577
+ <li>
578
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;a copy of this transform
579
+ </li>
580
+
581
+
582
+ </ul>
583
+
584
+
585
+
586
+
587
+
588
+ </div>
589
+ </div>
590
+ </div>
591
+
592
+
593
+ <div id="equals-matrix" class="member">
594
+ <div class="member-link">
595
+ <a name="equals-matrix" href="#equals-matrix"><tt><b>equals</b>(matrix)</tt></a>
596
+ </div>
597
+ <div class="member-description hidden">
598
+ <div class="member-text">
599
+ <p>Checks whether the two matrices describe the same transformation.</p>
600
+
601
+
602
+ <ul class="member-list">
603
+ <h4>Parameters:</h4>
604
+
605
+ <li>
606
+ <tt>matrix:</tt>
607
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
608
+ &mdash;&nbsp;the matrix to compare this matrix to
609
+
610
+ </li>
611
+
612
+ </ul>
613
+
614
+
615
+ <ul class="member-list">
616
+ <h4>Returns:</h4>
617
+
618
+ <li>
619
+ <tt><tt>Boolean</tt></tt>&nbsp;&mdash;&nbsp;<tt>true</tt> if the matrices are equal, <tt>false</tt> otherwise
620
+ </li>
621
+
622
+
623
+ </ul>
624
+
625
+
626
+
627
+
628
+
629
+ </div>
630
+ </div>
631
+ </div>
632
+
633
+
634
+ <div id="tostring" class="member">
635
+ <div class="member-link">
636
+ <a name="tostring" href="#tostring"><tt><b>toString</b>()</tt></a>
637
+ </div>
638
+ <div class="member-description hidden">
639
+ <div class="member-text">
640
+
641
+
642
+
643
+
644
+ <ul class="member-list">
645
+ <h4>Returns:</h4>
646
+
647
+ <li>
648
+ <tt><tt>String</tt></tt>&nbsp;&mdash;&nbsp;a string representation of this transform
649
+ </li>
650
+
651
+
652
+ </ul>
653
+
654
+
655
+
656
+
657
+
658
+ </div>
659
+ </div>
660
+ </div>
661
+
662
+
663
+ <div id="reset" class="member">
664
+ <div class="member-link">
665
+ <a name="reset" href="#reset"><tt><b>reset</b>()</tt></a>
666
+ </div>
667
+ <div class="member-description hidden">
668
+ <div class="member-text">
669
+ <p>Resets the matrix by setting its values to the ones of the identity matrix that results in no transformation.</p>
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+ </div>
678
+ </div>
679
+ </div>
680
+
681
+
682
+ <div id="apply" class="member">
683
+ <div class="member-link">
684
+ <a name="apply" href="#apply"><tt><b>apply</b>([recursively])</tt></a>
685
+ </div>
686
+ <div class="member-description hidden">
687
+ <div class="member-text">
688
+ <p>Attempts to apply the matrix to the content of item that it belongs to, meaning its transformation is baked into the item&rsquo;s content or children.</p>
689
+
690
+
691
+ <ul class="member-list">
692
+ <h4>Parameters:</h4>
693
+
694
+ <li>
695
+ <tt>recursively:</tt>
696
+ <tt>Boolean</tt>
697
+ &mdash;&nbsp;controls whether to apply transformations recursively on children
698
+ &mdash;&nbsp;optional, default: <tt>true</tt>
699
+ </li>
700
+
701
+ </ul>
702
+
703
+
704
+ <ul class="member-list">
705
+ <h4>Returns:</h4>
706
+
707
+ <li>
708
+ <tt><tt>Boolean</tt></tt>&nbsp;&mdash;&nbsp;<tt>true</tt> if the matrix was applied, <tt>false</tt> otherwise
709
+ </li>
710
+
711
+
712
+ </ul>
713
+
714
+
715
+
716
+
717
+
718
+ </div>
719
+ </div>
720
+ </div>
721
+
722
+
723
+ <div id="translate-point" class="member">
724
+ <div class="member-link">
725
+ <a name="translate-point" href="#translate-point"><tt><b>translate</b>(point)</tt></a>
726
+ </div>
727
+ <div class="member-description hidden">
728
+ <div class="member-text">
729
+ <p>Concatenates this matrix with a translate transformation.</p>
730
+
731
+
732
+ <ul class="member-list">
733
+ <h4>Parameters:</h4>
734
+
735
+ <li>
736
+ <tt>point:</tt>
737
+ <a href="../classes/Point.html"><tt>Point</tt></a>
738
+ &mdash;&nbsp;the vector to translate by
739
+
740
+ </li>
741
+
742
+ </ul>
743
+
744
+
745
+ <ul class="member-list">
746
+ <h4>Returns:</h4>
747
+
748
+ <li>
749
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
750
+ </li>
751
+
752
+
753
+ </ul>
754
+
755
+
756
+
757
+
758
+
759
+ </div>
760
+ </div>
761
+ </div>
762
+
763
+
764
+ <div id="translate-dx-dy" class="member">
765
+ <div class="member-link">
766
+ <a name="translate-dx-dy" href="#translate-dx-dy"><tt><b>translate</b>(dx, dy)</tt></a>
767
+ </div>
768
+ <div class="member-description hidden">
769
+ <div class="member-text">
770
+ <p>Concatenates this matrix with a translate transformation.</p>
771
+
772
+
773
+ <ul class="member-list">
774
+ <h4>Parameters:</h4>
775
+
776
+ <li>
777
+ <tt>dx:</tt>
778
+ <tt>Number</tt>
779
+ &mdash;&nbsp;the distance to translate in the x direction
780
+
781
+ </li>
782
+
783
+ <li>
784
+ <tt>dy:</tt>
785
+ <tt>Number</tt>
786
+ &mdash;&nbsp;the distance to translate in the y direction
787
+
788
+ </li>
789
+
790
+ </ul>
791
+
792
+
793
+ <ul class="member-list">
794
+ <h4>Returns:</h4>
795
+
796
+ <li>
797
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
798
+ </li>
799
+
800
+
801
+ </ul>
802
+
803
+
804
+
805
+
806
+
807
+ </div>
808
+ </div>
809
+ </div>
810
+
811
+
812
+ <div id="scale-scale" class="member">
813
+ <div class="member-link">
814
+ <a name="scale-scale" href="#scale-scale"><tt><b>scale</b>(scale[, center])</tt></a>
815
+ </div>
816
+ <div class="member-description hidden">
817
+ <div class="member-text">
818
+ <p>Concatenates this matrix with a scaling transformation.</p>
819
+
820
+
821
+ <ul class="member-list">
822
+ <h4>Parameters:</h4>
823
+
824
+ <li>
825
+ <tt>scale:</tt>
826
+ <tt>Number</tt>
827
+ &mdash;&nbsp;the scaling factor
828
+
829
+ </li>
830
+
831
+ <li>
832
+ <tt>center:</tt>
833
+ <a href="../classes/Point.html"><tt>Point</tt></a>
834
+ &mdash;&nbsp;the center for the scaling transformation
835
+ &mdash;&nbsp;optional
836
+ </li>
837
+
838
+ </ul>
839
+
840
+
841
+ <ul class="member-list">
842
+ <h4>Returns:</h4>
843
+
844
+ <li>
845
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
846
+ </li>
847
+
848
+
849
+ </ul>
850
+
851
+
852
+
853
+
854
+
855
+ </div>
856
+ </div>
857
+ </div>
858
+
859
+
860
+ <div id="scale-hor-ver" class="member">
861
+ <div class="member-link">
862
+ <a name="scale-hor-ver" href="#scale-hor-ver"><tt><b>scale</b>(hor, ver[, center])</tt></a>
863
+ </div>
864
+ <div class="member-description hidden">
865
+ <div class="member-text">
866
+ <p>Concatenates this matrix with a scaling transformation.</p>
867
+
868
+
869
+ <ul class="member-list">
870
+ <h4>Parameters:</h4>
871
+
872
+ <li>
873
+ <tt>hor:</tt>
874
+ <tt>Number</tt>
875
+ &mdash;&nbsp;the horizontal scaling factor
876
+
877
+ </li>
878
+
879
+ <li>
880
+ <tt>ver:</tt>
881
+ <tt>Number</tt>
882
+ &mdash;&nbsp;the vertical scaling factor
883
+
884
+ </li>
885
+
886
+ <li>
887
+ <tt>center:</tt>
888
+ <a href="../classes/Point.html"><tt>Point</tt></a>
889
+ &mdash;&nbsp;the center for the scaling transformation
890
+ &mdash;&nbsp;optional
891
+ </li>
892
+
893
+ </ul>
894
+
895
+
896
+ <ul class="member-list">
897
+ <h4>Returns:</h4>
898
+
899
+ <li>
900
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
901
+ </li>
902
+
903
+
904
+ </ul>
905
+
906
+
907
+
908
+
909
+
910
+ </div>
911
+ </div>
912
+ </div>
913
+
914
+
915
+ <div id="rotate-angle-center" class="member">
916
+ <div class="member-link">
917
+ <a name="rotate-angle-center" href="#rotate-angle-center"><tt><b>rotate</b>(angle, center)</tt></a>
918
+ </div>
919
+ <div class="member-description hidden">
920
+ <div class="member-text">
921
+ <p>Concatenates this matrix with a rotation transformation around an anchor point.</p>
922
+
923
+
924
+ <ul class="member-list">
925
+ <h4>Parameters:</h4>
926
+
927
+ <li>
928
+ <tt>angle:</tt>
929
+ <tt>Number</tt>
930
+ &mdash;&nbsp;the angle of rotation measured in degrees
931
+
932
+ </li>
933
+
934
+ <li>
935
+ <tt>center:</tt>
936
+ <a href="../classes/Point.html"><tt>Point</tt></a>
937
+ &mdash;&nbsp;the anchor point to rotate around
938
+
939
+ </li>
940
+
941
+ </ul>
942
+
943
+
944
+ <ul class="member-list">
945
+ <h4>Returns:</h4>
946
+
947
+ <li>
948
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
949
+ </li>
950
+
951
+
952
+ </ul>
953
+
954
+
955
+
956
+
957
+
958
+ </div>
959
+ </div>
960
+ </div>
961
+
962
+
963
+ <div id="rotate-angle-x-y" class="member">
964
+ <div class="member-link">
965
+ <a name="rotate-angle-x-y" href="#rotate-angle-x-y"><tt><b>rotate</b>(angle, x, y)</tt></a>
966
+ </div>
967
+ <div class="member-description hidden">
968
+ <div class="member-text">
969
+ <p>Concatenates this matrix with a rotation transformation around an anchor point.</p>
970
+
971
+
972
+ <ul class="member-list">
973
+ <h4>Parameters:</h4>
974
+
975
+ <li>
976
+ <tt>angle:</tt>
977
+ <tt>Number</tt>
978
+ &mdash;&nbsp;the angle of rotation measured in degrees
979
+
980
+ </li>
981
+
982
+ <li>
983
+ <tt>x:</tt>
984
+ <tt>Number</tt>
985
+ &mdash;&nbsp;the x coordinate of the anchor point
986
+
987
+ </li>
988
+
989
+ <li>
990
+ <tt>y:</tt>
991
+ <tt>Number</tt>
992
+ &mdash;&nbsp;the y coordinate of the anchor point
993
+
994
+ </li>
995
+
996
+ </ul>
997
+
998
+
999
+ <ul class="member-list">
1000
+ <h4>Returns:</h4>
1001
+
1002
+ <li>
1003
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
1004
+ </li>
1005
+
1006
+
1007
+ </ul>
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+ </div>
1014
+ </div>
1015
+ </div>
1016
+
1017
+
1018
+ <div id="shear-shear" class="member">
1019
+ <div class="member-link">
1020
+ <a name="shear-shear" href="#shear-shear"><tt><b>shear</b>(shear[, center])</tt></a>
1021
+ </div>
1022
+ <div class="member-description hidden">
1023
+ <div class="member-text">
1024
+ <p>Concatenates this matrix with a shear transformation.</p>
1025
+
1026
+
1027
+ <ul class="member-list">
1028
+ <h4>Parameters:</h4>
1029
+
1030
+ <li>
1031
+ <tt>shear:</tt>
1032
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1033
+ &mdash;&nbsp;the shear factor in x and y direction
1034
+
1035
+ </li>
1036
+
1037
+ <li>
1038
+ <tt>center:</tt>
1039
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1040
+ &mdash;&nbsp;the center for the shear transformation
1041
+ &mdash;&nbsp;optional
1042
+ </li>
1043
+
1044
+ </ul>
1045
+
1046
+
1047
+ <ul class="member-list">
1048
+ <h4>Returns:</h4>
1049
+
1050
+ <li>
1051
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
1052
+ </li>
1053
+
1054
+
1055
+ </ul>
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+ </div>
1062
+ </div>
1063
+ </div>
1064
+
1065
+
1066
+ <div id="shear-hor-ver" class="member">
1067
+ <div class="member-link">
1068
+ <a name="shear-hor-ver" href="#shear-hor-ver"><tt><b>shear</b>(hor, ver[, center])</tt></a>
1069
+ </div>
1070
+ <div class="member-description hidden">
1071
+ <div class="member-text">
1072
+ <p>Concatenates this matrix with a shear transformation.</p>
1073
+
1074
+
1075
+ <ul class="member-list">
1076
+ <h4>Parameters:</h4>
1077
+
1078
+ <li>
1079
+ <tt>hor:</tt>
1080
+ <tt>Number</tt>
1081
+ &mdash;&nbsp;the horizontal shear factor
1082
+
1083
+ </li>
1084
+
1085
+ <li>
1086
+ <tt>ver:</tt>
1087
+ <tt>Number</tt>
1088
+ &mdash;&nbsp;the vertical shear factor
1089
+
1090
+ </li>
1091
+
1092
+ <li>
1093
+ <tt>center:</tt>
1094
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1095
+ &mdash;&nbsp;the center for the shear transformation
1096
+ &mdash;&nbsp;optional
1097
+ </li>
1098
+
1099
+ </ul>
1100
+
1101
+
1102
+ <ul class="member-list">
1103
+ <h4>Returns:</h4>
1104
+
1105
+ <li>
1106
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
1107
+ </li>
1108
+
1109
+
1110
+ </ul>
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+ </div>
1117
+ </div>
1118
+ </div>
1119
+
1120
+
1121
+ <div id="skew-skew" class="member">
1122
+ <div class="member-link">
1123
+ <a name="skew-skew" href="#skew-skew"><tt><b>skew</b>(skew[, center])</tt></a>
1124
+ </div>
1125
+ <div class="member-description hidden">
1126
+ <div class="member-text">
1127
+ <p>Concatenates this matrix with a skew transformation.</p>
1128
+
1129
+
1130
+ <ul class="member-list">
1131
+ <h4>Parameters:</h4>
1132
+
1133
+ <li>
1134
+ <tt>skew:</tt>
1135
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1136
+ &mdash;&nbsp;the skew angles in x and y direction in degrees
1137
+
1138
+ </li>
1139
+
1140
+ <li>
1141
+ <tt>center:</tt>
1142
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1143
+ &mdash;&nbsp;the center for the skew transformation
1144
+ &mdash;&nbsp;optional
1145
+ </li>
1146
+
1147
+ </ul>
1148
+
1149
+
1150
+ <ul class="member-list">
1151
+ <h4>Returns:</h4>
1152
+
1153
+ <li>
1154
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
1155
+ </li>
1156
+
1157
+
1158
+ </ul>
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+ </div>
1165
+ </div>
1166
+ </div>
1167
+
1168
+
1169
+ <div id="skew-hor-ver" class="member">
1170
+ <div class="member-link">
1171
+ <a name="skew-hor-ver" href="#skew-hor-ver"><tt><b>skew</b>(hor, ver[, center])</tt></a>
1172
+ </div>
1173
+ <div class="member-description hidden">
1174
+ <div class="member-text">
1175
+ <p>Concatenates this matrix with a skew transformation.</p>
1176
+
1177
+
1178
+ <ul class="member-list">
1179
+ <h4>Parameters:</h4>
1180
+
1181
+ <li>
1182
+ <tt>hor:</tt>
1183
+ <tt>Number</tt>
1184
+ &mdash;&nbsp;the horizontal skew angle in degrees
1185
+
1186
+ </li>
1187
+
1188
+ <li>
1189
+ <tt>ver:</tt>
1190
+ <tt>Number</tt>
1191
+ &mdash;&nbsp;the vertical skew angle in degrees
1192
+
1193
+ </li>
1194
+
1195
+ <li>
1196
+ <tt>center:</tt>
1197
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1198
+ &mdash;&nbsp;the center for the skew transformation
1199
+ &mdash;&nbsp;optional
1200
+ </li>
1201
+
1202
+ </ul>
1203
+
1204
+
1205
+ <ul class="member-list">
1206
+ <h4>Returns:</h4>
1207
+
1208
+ <li>
1209
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this affine transform
1210
+ </li>
1211
+
1212
+
1213
+ </ul>
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+ </div>
1220
+ </div>
1221
+ </div>
1222
+
1223
+
1224
+ <div id="append-matrix" class="member">
1225
+ <div class="member-link">
1226
+ <a name="append-matrix" href="#append-matrix"><tt><b>append</b>(matrix)</tt></a>
1227
+ </div>
1228
+ <div class="member-description hidden">
1229
+ <div class="member-text">
1230
+ <p>Appends the specified matrix to this matrix. This is the equivalent of multiplying <code>(this matrix) * (specified matrix)</code>.</p>
1231
+
1232
+
1233
+ <ul class="member-list">
1234
+ <h4>Parameters:</h4>
1235
+
1236
+ <li>
1237
+ <tt>matrix:</tt>
1238
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
1239
+ &mdash;&nbsp;the matrix to append
1240
+
1241
+ </li>
1242
+
1243
+ </ul>
1244
+
1245
+
1246
+ <ul class="member-list">
1247
+ <h4>Returns:</h4>
1248
+
1249
+ <li>
1250
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this matrix, modified
1251
+ </li>
1252
+
1253
+
1254
+ </ul>
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+ </div>
1261
+ </div>
1262
+ </div>
1263
+
1264
+
1265
+ <div id="prepend-matrix" class="member">
1266
+ <div class="member-link">
1267
+ <a name="prepend-matrix" href="#prepend-matrix"><tt><b>prepend</b>(matrix)</tt></a>
1268
+ </div>
1269
+ <div class="member-description hidden">
1270
+ <div class="member-text">
1271
+ <p>Prepends the specified matrix to this matrix. This is the equivalent of multiplying <code>(specified matrix) * (this matrix)</code>.</p>
1272
+
1273
+
1274
+ <ul class="member-list">
1275
+ <h4>Parameters:</h4>
1276
+
1277
+ <li>
1278
+ <tt>matrix:</tt>
1279
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
1280
+ &mdash;&nbsp;the matrix to prepend
1281
+
1282
+ </li>
1283
+
1284
+ </ul>
1285
+
1286
+
1287
+ <ul class="member-list">
1288
+ <h4>Returns:</h4>
1289
+
1290
+ <li>
1291
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this matrix, modified
1292
+ </li>
1293
+
1294
+
1295
+ </ul>
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+ </div>
1302
+ </div>
1303
+ </div>
1304
+
1305
+
1306
+ <div id="appended-matrix" class="member">
1307
+ <div class="member-link">
1308
+ <a name="appended-matrix" href="#appended-matrix"><tt><b>appended</b>(matrix)</tt></a>
1309
+ </div>
1310
+ <div class="member-description hidden">
1311
+ <div class="member-text">
1312
+ <p>Returns a new matrix as the result of appending the specified matrix to this matrix. This is the equivalent of multiplying <code>(this matrix) * (specified matrix)</code>.</p>
1313
+
1314
+
1315
+ <ul class="member-list">
1316
+ <h4>Parameters:</h4>
1317
+
1318
+ <li>
1319
+ <tt>matrix:</tt>
1320
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
1321
+ &mdash;&nbsp;the matrix to append
1322
+
1323
+ </li>
1324
+
1325
+ </ul>
1326
+
1327
+
1328
+ <ul class="member-list">
1329
+ <h4>Returns:</h4>
1330
+
1331
+ <li>
1332
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;the newly created matrix
1333
+ </li>
1334
+
1335
+
1336
+ </ul>
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+ </div>
1343
+ </div>
1344
+ </div>
1345
+
1346
+
1347
+ <div id="prepended-matrix" class="member">
1348
+ <div class="member-link">
1349
+ <a name="prepended-matrix" href="#prepended-matrix"><tt><b>prepended</b>(matrix)</tt></a>
1350
+ </div>
1351
+ <div class="member-description hidden">
1352
+ <div class="member-text">
1353
+ <p>Returns a new matrix as the result of prepending the specified matrix to this matrix. This is the equivalent of multiplying <code>(specified matrix) * (this matrix)</code>.</p>
1354
+
1355
+
1356
+ <ul class="member-list">
1357
+ <h4>Parameters:</h4>
1358
+
1359
+ <li>
1360
+ <tt>matrix:</tt>
1361
+ <a href="../classes/Matrix.html"><tt>Matrix</tt></a>
1362
+ &mdash;&nbsp;the matrix to prepend
1363
+
1364
+ </li>
1365
+
1366
+ </ul>
1367
+
1368
+
1369
+ <ul class="member-list">
1370
+ <h4>Returns:</h4>
1371
+
1372
+ <li>
1373
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;the newly created matrix
1374
+ </li>
1375
+
1376
+
1377
+ </ul>
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+ </div>
1384
+ </div>
1385
+ </div>
1386
+
1387
+
1388
+ <div id="invert" class="member">
1389
+ <div class="member-link">
1390
+ <a name="invert" href="#invert"><tt><b>invert</b>()</tt></a>
1391
+ </div>
1392
+ <div class="member-description hidden">
1393
+ <div class="member-text">
1394
+ <p>Inverts the matrix, causing it to perform the opposite transformation. If the matrix is not invertible (in which case <a href="../classes/Matrix.html#issingular"><tt>isSingular</tt></a>() returns true), <code>null</code> is returned.</p>
1395
+
1396
+
1397
+
1398
+ <ul class="member-list">
1399
+ <h4>Returns:</h4>
1400
+
1401
+ <li>
1402
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this matrix, or <code>null</code>, if the matrix is singular.
1403
+ </li>
1404
+
1405
+
1406
+ </ul>
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+ </div>
1413
+ </div>
1414
+ </div>
1415
+
1416
+
1417
+ <div id="inverted" class="member">
1418
+ <div class="member-link">
1419
+ <a name="inverted" href="#inverted"><tt><b>inverted</b>()</tt></a>
1420
+ </div>
1421
+ <div class="member-description hidden">
1422
+ <div class="member-text">
1423
+ <p>Creates a new matrix that is the inversion of this matrix, causing it to perform the opposite transformation. If the matrix is not invertible (in which case <a href="../classes/Matrix.html#issingular"><tt>isSingular</tt></a>() returns true), <code>null</code> is returned.</p>
1424
+
1425
+
1426
+
1427
+ <ul class="member-list">
1428
+ <h4>Returns:</h4>
1429
+
1430
+ <li>
1431
+ <tt><a href="../classes/Matrix.html"><tt>Matrix</tt></a></tt>&nbsp;&mdash;&nbsp;this matrix, or <code>null</code>, if the matrix is singular.
1432
+ </li>
1433
+
1434
+
1435
+ </ul>
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+ </div>
1442
+ </div>
1443
+ </div>
1444
+
1445
+
1446
+ <div id="isidentity" class="member">
1447
+ <div class="member-link">
1448
+ <a name="isidentity" href="#isidentity"><tt><b>isIdentity</b>()</tt></a>
1449
+ </div>
1450
+ <div class="member-description hidden">
1451
+ <div class="member-text">
1452
+
1453
+
1454
+
1455
+
1456
+ <ul class="member-list">
1457
+ <h4>Returns:</h4>
1458
+
1459
+ <li>
1460
+ <tt><tt>Boolean</tt></tt>&nbsp;&mdash;&nbsp;whether this matrix is the identity matrix
1461
+ </li>
1462
+
1463
+
1464
+ </ul>
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+ </div>
1471
+ </div>
1472
+ </div>
1473
+
1474
+
1475
+ <div id="isinvertible" class="member">
1476
+ <div class="member-link">
1477
+ <a name="isinvertible" href="#isinvertible"><tt><b>isInvertible</b>()</tt></a>
1478
+ </div>
1479
+ <div class="member-description hidden">
1480
+ <div class="member-text">
1481
+ <p>Checks whether the matrix is invertible. A matrix is not invertible if the determinant is 0 or any value is infinite or NaN.</p>
1482
+
1483
+
1484
+
1485
+ <ul class="member-list">
1486
+ <h4>Returns:</h4>
1487
+
1488
+ <li>
1489
+ <tt><tt>Boolean</tt></tt>&nbsp;&mdash;&nbsp;whether the matrix is invertible
1490
+ </li>
1491
+
1492
+
1493
+ </ul>
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+ </div>
1500
+ </div>
1501
+ </div>
1502
+
1503
+
1504
+ <div id="issingular" class="member">
1505
+ <div class="member-link">
1506
+ <a name="issingular" href="#issingular"><tt><b>isSingular</b>()</tt></a>
1507
+ </div>
1508
+ <div class="member-description hidden">
1509
+ <div class="member-text">
1510
+ <p>Checks whether the matrix is singular or not. Singular matrices cannot be inverted.</p>
1511
+
1512
+
1513
+
1514
+ <ul class="member-list">
1515
+ <h4>Returns:</h4>
1516
+
1517
+ <li>
1518
+ <tt><tt>Boolean</tt></tt>&nbsp;&mdash;&nbsp;whether the matrix is singular
1519
+ </li>
1520
+
1521
+
1522
+ </ul>
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+ </div>
1529
+ </div>
1530
+ </div>
1531
+
1532
+
1533
+ <div id="transform-point" class="member">
1534
+ <div class="member-link">
1535
+ <a name="transform-point" href="#transform-point"><tt><b>transform</b>(point)</tt></a>
1536
+ </div>
1537
+ <div class="member-description hidden">
1538
+ <div class="member-text">
1539
+ <p>Transforms a point and returns the result.</p>
1540
+
1541
+
1542
+ <ul class="member-list">
1543
+ <h4>Parameters:</h4>
1544
+
1545
+ <li>
1546
+ <tt>point:</tt>
1547
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1548
+ &mdash;&nbsp;the point to be transformed
1549
+
1550
+ </li>
1551
+
1552
+ </ul>
1553
+
1554
+
1555
+ <ul class="member-list">
1556
+ <h4>Returns:</h4>
1557
+
1558
+ <li>
1559
+ <tt><a href="../classes/Point.html"><tt>Point</tt></a></tt>&nbsp;&mdash;&nbsp;the transformed point
1560
+ </li>
1561
+
1562
+
1563
+ </ul>
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+ </div>
1570
+ </div>
1571
+ </div>
1572
+
1573
+
1574
+ <div id="transform-src-dst-count" class="member">
1575
+ <div class="member-link">
1576
+ <a name="transform-src-dst-count" href="#transform-src-dst-count"><tt><b>transform</b>(src, dst, count)</tt></a>
1577
+ </div>
1578
+ <div class="member-description hidden">
1579
+ <div class="member-text">
1580
+ <p>Transforms an array of coordinates by this matrix and stores the results into the destination array, which is also returned.</p>
1581
+
1582
+
1583
+ <ul class="member-list">
1584
+ <h4>Parameters:</h4>
1585
+
1586
+ <li>
1587
+ <tt>src:</tt>
1588
+ Array of <tt>Numbers</tt>
1589
+ &mdash;&nbsp;the array containing the source points as x, y value pairs
1590
+
1591
+ </li>
1592
+
1593
+ <li>
1594
+ <tt>dst:</tt>
1595
+ Array of <tt>Numbers</tt>
1596
+ &mdash;&nbsp;the array into which to store the transformed point pairs
1597
+
1598
+ </li>
1599
+
1600
+ <li>
1601
+ <tt>count:</tt>
1602
+ <tt>Number</tt>
1603
+ &mdash;&nbsp;the number of points to transform
1604
+
1605
+ </li>
1606
+
1607
+ </ul>
1608
+
1609
+
1610
+ <ul class="member-list">
1611
+ <h4>Returns:</h4>
1612
+
1613
+ <li>
1614
+ <tt>Array of <tt>Numbers</tt></tt>&nbsp;&mdash;&nbsp;the dst array, containing the transformed coordinates
1615
+ </li>
1616
+
1617
+
1618
+ </ul>
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+ </div>
1625
+ </div>
1626
+ </div>
1627
+
1628
+
1629
+ <div id="inversetransform-point" class="member">
1630
+ <div class="member-link">
1631
+ <a name="inversetransform-point" href="#inversetransform-point"><tt><b>inverseTransform</b>(point)</tt></a>
1632
+ </div>
1633
+ <div class="member-description hidden">
1634
+ <div class="member-text">
1635
+ <p>Inverse transforms a point and returns the result.</p>
1636
+
1637
+
1638
+ <ul class="member-list">
1639
+ <h4>Parameters:</h4>
1640
+
1641
+ <li>
1642
+ <tt>point:</tt>
1643
+ <a href="../classes/Point.html"><tt>Point</tt></a>
1644
+ &mdash;&nbsp;the point to be transformed
1645
+
1646
+ </li>
1647
+
1648
+ </ul>
1649
+
1650
+
1651
+ <ul class="member-list">
1652
+ <h4>Returns:</h4>
1653
+
1654
+ <li>
1655
+ <tt><a href="../classes/Point.html"><tt>Point</tt></a></tt>
1656
+ </li>
1657
+
1658
+
1659
+ </ul>
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+ </div>
1666
+ </div>
1667
+ </div>
1668
+
1669
+
1670
+ <div id="decompose" class="member">
1671
+ <div class="member-link">
1672
+ <a name="decompose" href="#decompose"><tt><b>decompose</b>()</tt></a>
1673
+ </div>
1674
+ <div class="member-description hidden">
1675
+ <div class="member-text">
1676
+ <p>Decomposes the affine transformation described by this matrix into <code>scaling</code>, <code>rotation</code> and <code>skewing</code>, and returns an object with these properties.</p>
1677
+
1678
+
1679
+
1680
+ <ul class="member-list">
1681
+ <h4>Returns:</h4>
1682
+
1683
+ <li>
1684
+ <tt><tt>Object</tt></tt>&nbsp;&mdash;&nbsp;the decomposed matrix
1685
+ </li>
1686
+
1687
+
1688
+ </ul>
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+ </div>
1695
+ </div>
1696
+ </div>
1697
+
1698
+
1699
+ <div id="applytocontext-ctx" class="member">
1700
+ <div class="member-link">
1701
+ <a name="applytocontext-ctx" href="#applytocontext-ctx"><tt><b>applyToContext</b>(ctx)</tt></a>
1702
+ </div>
1703
+ <div class="member-description hidden">
1704
+ <div class="member-text">
1705
+ <p>Applies this matrix to the specified Canvas Context.</p>
1706
+
1707
+
1708
+ <ul class="member-list">
1709
+ <h4>Parameters:</h4>
1710
+
1711
+ <li>
1712
+ <tt>ctx:</tt>
1713
+ <tt>CanvasRenderingContext2D</tt>
1714
+
1715
+
1716
+ </li>
1717
+
1718
+ </ul>
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+ </div>
1726
+ </div>
1727
+ </div>
1728
+
1729
+
1730
+
1731
+ </div>
1732
+
1733
+
1734
+
1735
+
1736
+ <!-- =========================== copyright notice ========================== -->
1737
+ <p class="footer">
1738
+ Paper.js v0.12.17<br>
1739
+ Copyright &#169; 2011—2022 <a href="http://www.lehni.org" target="_blank">J&uuml;rg Lehni</a> &amp; <a href="http://www.jonathanpuckey.com" target="_blank">Jonathan Puckey</a>. All Rights Reserved.</p>
1740
+ <div class="content-end"></div>
1741
+
1742
+
1743
+ </article>
1744
+ </body>