Commit graph

149 commits

Author SHA1 Message Date
Jürg Lehni
62e5f3b3ac Improve / streamline Matrix documentation a bit. 2014-10-20 16:47:41 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
3093a8ec43 Introduce matrix.chain(mx) as a shortcut to Matrix.clone().concatenate(mx)
Simplifies quite a few lines of code.
2014-07-08 15:43:17 +02:00
Jürg Lehni
9d7ec13724 Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it. 2014-05-14 15:14:03 +02:00
Jürg Lehni
846c806034 Implement non-scaling strokes through Style#strokeScaling.
Closes #418.
2014-05-13 13:38:51 +02:00
Jürg Lehni
8560a71312 Remove srcOffset and dstOffset parameters from Matrix#_transformCoordinates(). 2014-05-08 13:54:05 +01:00
Jürg Lehni
fa9786b344 Switch to new simpler convention for control of beans creation in straps.js 2014-04-02 20:53:18 +02:00
Jürg Lehni
73ef269f0f Bake in matrix changes if owner has #applyMatrix set. 2014-03-04 09:36:00 +01:00
Jürg Lehni
fb1420eee0 Internalize Item#applyMatrix() code in #transform() and add short-cut method to it in Matrix#apply() 2014-03-02 15:50:45 +01:00
Jürg Lehni
5a131930fb Add _dontNotify parameter to Matrix#reset() and use it in Item#applyMatrix() 2014-01-06 00:18:40 +01:00
Jürg Lehni
706fe2c77d Rearrange Base.read argument sequence.
options are used more often than length.
2014-01-05 18:31:24 +01:00
Jürg Lehni
ea63d4c288 Merge branch 'refs/heads/master' into v8-optimizations
Conflicts:
	src/core/Base.js
	src/style/Color.js
2014-01-05 05:01:13 +01:00
Jürg Lehni
e22fa3a664 Update copyright notice. 2014-01-04 01:47:16 +01:00
Jürg Lehni
81651a7379 Prevent V8 "assignment to parameter in arguments object" deoptimizations.
Some getter-like functions still need fixing, but this might require a fix in Straps.js first.
2013-12-17 23:28:55 +01:00
Jürg Lehni
064d632d65 More matrix related clean-ups. 2013-12-08 22:12:36 +01:00
Jürg Lehni
9ca92165ee Expose rotation and scaling transformations through Item#rotation and Item#scaling properties, by moving the setters from Matrix to Item. 2013-12-07 12:16:11 +01:00
Jürg Lehni
3ea5c2d728 Improve documentation of Matrix properties. 2013-12-07 12:14:20 +01:00
Jürg Lehni
cb3cc84dae Implement Matrix#skew() 2013-12-07 05:20:55 +01:00
Jürg Lehni
268ecad00b Clean up Matrix documentation. 2013-12-07 05:20:38 +01:00
Jürg Lehni
0bf863d1fa Remove ill-named Matrix properties and replace with standardized a, c, b, d, tx, ty. 2013-12-06 22:26:21 +01:00
Jürg Lehni
f3832e0780 Implement setters for Matrix#translation, #rotation and #scaling.
Propagating the changes down to the owning Item too.
2013-11-26 19:28:18 +01:00
Jürg Lehni
56f25e8742 Implement change propagation in matrices. 2013-11-26 19:03:58 +01:00
Jürg Lehni
ac862f9bc4 Some minor code clean up and variable renaming. 2013-11-01 17:55:06 +01:00
Jürg Lehni
73d2c34088 Implement item-level #equals() method and clean up other equals methods. 2013-10-17 13:08:54 +02:00
Jürg Lehni
19c7788617 Fix documentation irregularities. 2013-08-23 19:45:28 -07:00
Chunpeng Huo
4904a1df1f fix typo "Concatentates". 2013-07-26 15:22:37 +10:00
Jürg Lehni
e8765d18d5 Make argument reading more flexible by introducing options object for readNull and clone, and passing it on to the constructor through this.__options for additional values. 2013-06-28 07:37:03 -07:00
Jürg Lehni
772c83596f Replace Base.create() calls in favor of faster direct constructors. 2013-06-25 09:50:14 -07:00
Jürg Lehni
1866e4ff15 Remove need for all special arguments in minification, and restructure code to avoid warnings. 2013-06-24 10:15:54 -07:00
Jürg Lehni
a4535edbb9 Bring back _class names, since code minification breaks reliance on constructor.name.
Closes #248.
2013-06-23 20:18:32 -07:00
Jürg Lehni
2196ef2a74 Streamline various #equals() methods. 2013-06-12 18:57:12 -07:00
Jürg Lehni
ce7d584c05 Revert readNull and clone parameter sequence in arguments reading code. 2013-06-11 19:49:35 -07:00
Jürg Lehni
cd7db56249 Remove all create() constructors for basic types since new constructors are now faster.
Woop!
2013-05-27 23:57:31 -07:00
Jürg Lehni
10d5de3ed6 Implement a better way to name and export class constructors.
This change also simplified the way classes are exported to PaperScope objects.
2013-05-27 12:48:58 -07:00
Jürg Lehni
04f2f19a43 Minor fix in Matrix#shear() 2013-05-09 02:31:26 -07:00
Jürg Lehni
fbe8a558bd Refactor Format literal to Formatter class that keeps precision stored. 2013-04-09 17:32:19 -07:00
Jürg Lehni
a0b903e49c Simply call slice() instead of slice(0). 2013-04-06 18:39:17 +02:00
Jürg Lehni
f43b322d2a Rename Base#_type property to #_class. 2013-04-06 09:16:08 +02:00
Jürg Lehni
be8b46899d Simplify Matrix#applyToContext() 2013-03-19 21:35:41 -07:00
Jürg Lehni
16b60d1b9e Allow all basic types to properly serialize themselves in non-compact form. 2013-03-19 17:52:17 -07:00
Jürg Lehni
a0066b61c3 Rearrange method sequence in basic types. 2013-03-19 17:51:50 -07:00
Jürg Lehni
3f5d0a6925 Merge constructor._name with _type and use CamelCase for Item types. 2013-03-01 17:13:22 -08:00
Jürg Lehni
9d8cddbe42 Implement new private Format object that handles formatting of number, point, size and rectangle. 2013-02-28 19:14:05 -08:00
Jürg Lehni
fdd15e675f Add options argument to #toJson() methods, and use to implement optional fractional digit precision control. 2013-02-12 14:57:54 -08:00
Jürg Lehni
b10454a83c Rename Matrix#createInverse() to #inverted() and #createShiftless() to #shiftless(). 2013-02-09 12:18:40 -08:00
Jürg Lehni
be3b257175 Restructure Matrix code sequence. 2013-02-09 12:11:19 -08:00
Jürg Lehni
0cf290ff2d More work on Matrix decomposition.
Have Matrix#decompose() return null if decomposition is not possible, separate Matrix#translation from decomposition code as it's always defined, and document methods and properties.
2013-02-09 12:09:55 -08:00
Jürg Lehni
2bb9153810 Fix TODO in Matrix#scale(). 2013-02-09 11:52:31 -08:00
Jürg Lehni
cd9fc39f54 Rename Matrix#setIdentity() to #reset() and document it. 2013-02-09 11:45:33 -08:00
Jürg Lehni
9aaa864f81 Streamline Matrix by removing unnecessary Matrix#setTo*() and Matrix.get*Instance() methods.
Use (new Matrix().*()) instead.
2013-02-09 11:42:55 -08:00