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
Jürg Lehni
3930a40c7e
Implement Matrix#rotate() without relying on Matrix#getRotateInstance().
2013-02-09 11:40:49 -08:00
Jürg Lehni
53474aa5c0
Put decomposed matrix values in sequence in which they would have to be applied again.
2013-02-09 11:21:16 -08:00
Jürg Lehni
aec13ffd43
Fix all tests for Matrix decomposition.
2013-02-08 23:25:10 -08:00
Jürg Lehni
e438ac8223
Implement proper matrix decomposition and use it in SvgExport.
2013-02-08 23:02:20 -08:00
Jürg Lehni
aec87f4ed1
Fix issues with matrix decomposition.
...
Work in progress...
2013-02-08 22:17:32 -08:00
Jürg Lehni
d793d8a43d
Clean up code.
2013-02-08 18:17:51 -08:00
Jürg Lehni
6c9c16ad3d
Update copyright information comments, and year.
2013-01-28 18:03:27 -08:00
Jürg Lehni
57a9f4fc91
Use constant substitution for Numerical constants as well.
2012-12-27 18:36:59 +01:00
Jürg Lehni
8c33e5be88
Fix null exception in Matrix#equals().
2012-12-27 13:04:21 +01:00
Jürg Lehni
4f83e0eee6
Commit first version of serialization / deserialization mechanism.
...
It appears to work fine already for Paths and Groups.
2012-12-27 12:45:55 +01:00
Jürg Lehni
d671a08205
Introduce Base.toFloat() and rename Base.formatNumber() to Base.formatFloat()
2012-11-14 01:31:08 -08:00
Jürg Lehni
d9bfc2fa35
Implement Matrix support in SvgExporter.
2012-11-06 10:04:04 -08:00
Jürg Lehni
4c51544b6e
Implement correct checks for primitives (rect, ellipse, circle).
2012-11-06 01:22:16 -08:00
Jürg Lehni
400b454177
Introduce Numerical.isZero(), for comparisons against 0 with a tolerance.
2012-11-05 21:06:13 -08:00
Jürg Lehni
6ed1d67ada
Modernize Bootstrap.js, introduce Base.create() and use it instead of the Constructor.dont hack for object creation without the calling of initialize.
2012-11-03 21:49:37 -07:00
Jürg Lehni
30374ae3b4
Implement proper index independent argument list reading of basic types.
...
Implemented for Point, Size, Rectangle and Color.
2012-10-18 14:24:15 -07:00
Jürg Lehni
a21d180150
Use faster Point.create().
2011-12-20 23:32:53 +01:00
Jürg Lehni
f2d7b85616
Introduce Matrix#setIdentity().
2011-12-20 23:14:30 +01:00
Jürg Lehni
5797b78c2c
Clean up Matrix concatenation code.
2011-12-20 11:39:10 +01:00
Jürg Lehni
907d6c0954
Implement Matrix#equals().
2011-11-26 12:04:44 +01:00
Jürg Lehni
1d6cfeeb9b
Add dest and dontNotifty arguments to Matrix#_transformBounds() and use them where appropriate.
2011-11-24 11:29:35 +01:00
Jürg Lehni
34b5d043b3
Implement Matrix#inverseTransform().
2011-09-23 11:19:03 +02:00
Jürg Lehni
4600fe1e21
Add comments about alternative arguments.
2011-09-23 11:18:25 +02:00
Jürg Lehni
d1d110f085
Document the two versions of Matrix#transform() separately.
2011-09-23 11:17:42 +02:00
Jürg Lehni
f8dac43107
Remove Matrix#determinant and convert getter to private method that only returns determinant if matrix is reversible, simplifying the various places where _getDeterminant is in use.
2011-09-22 21:19:41 +02:00
Jürg Lehni
44e5c30436
Remove misleading alternative parameter comment.
2011-09-22 10:36:27 +02:00
Jürg Lehni
76df9d9a92
Fix documentation for beans.
2011-08-16 13:53:36 +02:00
Jürg Lehni
42c9f91279
Rename internal Matrix transform parameters to (a, c, b, d, tx, ty), expoes values through Matrix#getValues() and improve documentation.
2011-07-31 15:26:09 +01:00
Jürg Lehni
f5ee4a1ff7
Improve documentation for Matrix#createInverse().
2011-07-27 22:01:51 +01:00
Jürg Lehni
a0a426982f
Documentation: Fix display of pseudo code.
2011-07-25 09:16:41 +01:00
Jürg Lehni
2c1fdc0744
Clean up Matrix constructor.
2011-07-25 09:15:35 +01:00
Jürg Lehni
68ba8e25e4
Documentation: Fix Matrix properties.
2011-07-25 09:15:18 +01:00
Jürg Lehni
7e26a7af1e
Rename all x-axis / y-axis parameters in #scale and #shear to hor / ver, and fix a bug in Matrix#shear, where an undeclared variable was used (sx instead of shx).
2011-07-01 18:00:16 +02:00
Jürg Lehni
79c0ad8cc5
Update copyright notices.
2011-07-01 12:17:45 +02:00
Richard D. Worth
ac39873693
Whitespace. Removed all trailing whitespace from .js files
2011-06-30 06:01:51 -04:00
Jürg Lehni
4a344c8fad
Clean up forgotten @lends statements.
2011-06-22 23:58:50 +01:00
Jürg Lehni
7cd749e63d
Change all documentation to new convention of defining @class outside injection scope, fix some comments and a few errors with examples.
2011-06-22 23:56:05 +01:00
Jürg Lehni
582f8f84fb
Remove debug logging.
2011-06-20 18:28:12 +01:00
Jürg Lehni
c6135c6dc7
Define Matrix#getTranslation, #getScaling() and #getRotation(), as a way to extract translation, scale and rotation from matrices.
2011-06-20 18:25:19 +01:00
Jonathan Puckey
e23282fe05
Documentation: convert Array return types to Type[].
2011-06-20 15:19:08 +02:00
Jürg Lehni
2594a41b7d
Remove the mention of optional parameters in documentation, as they are marked optional already.
2011-06-19 21:52:52 +01:00
Jürg Lehni
3226147e00
Use a version of Bootstrap that always produces beans and remove all beans: true instructions.
2011-06-17 18:42:29 +01:00
Jürg Lehni
38003b6818
Clean up documentation: Always use @function / @name when there is more than one version of a method.
2011-06-16 19:26:50 +01:00
Jürg Lehni
ffa79f4fd1
Clean up white spaces in comments.
2011-06-14 22:59:45 +01:00
Jonathan Puckey
7087b5476d
Clean up Matrix#setToRotation.
2011-05-31 16:19:43 +02:00
Jonathan Puckey
7a4c44ec7b
Matrix documentation.
2011-05-31 16:08:25 +02:00
Jonathan Puckey
31bf3ffa70
Matrix: add param tags to #applyToContext documentation.
2011-05-31 14:25:24 +02:00
Jonathan Puckey
17fcb923ff
Documentation: rearrange @example tags, improve examples, rename boolean -> Boolean and misc smaller edits.
2011-05-30 19:42:17 +02:00
Jonathan Puckey
9012bed504
Matrix: add some docs todos and make center optional in Matrix#shear.
2011-05-29 17:34:51 +02:00
Jonathan Puckey
005f505959
Matrix: add documentation for Matrix#scale(scale[, center]).
2011-05-29 17:31:13 +02:00
Jonathan Puckey
1520cad144
Documentation: capitalize basic types in @ tags.
2011-05-27 21:21:49 +02:00
Jonathan Puckey
a988f1b7a2
Matrix documentation: whitespace.
2011-05-23 13:37:26 +02:00
Jonathan Puckey
41c47449c1
Make Matrix docs jsdoc compatible.
2011-05-23 00:54:27 +02:00
Jürg Lehni
f545805786
Move Rectangle#transformCornerCoordinates() to Matrix#_transformCorners().
2011-05-16 12:29:52 +01:00
Jürg Lehni
fc547793fa
Remove redundant Rectangle#transformBounds() and merge its code with less optimised Matrix#transformBounds().
2011-05-16 12:25:18 +01:00
Jürg Lehni
f92434ab54
Add dontNotify parameter to _transformPoint(), required sometimes for LinkedPoints.
2011-05-16 11:18:53 +01:00
Jürg Lehni
9384fb4fb5
Add an optinonal dest parameter to Matrix#_transformPoint().
2011-05-16 11:07:39 +01:00
Jürg Lehni
c36db3a55c
Introduce private faster Matrix#_transform* methods that lack arguments checks, and use them internally.
2011-05-06 13:28:35 +01:00
Jürg Lehni
bc80c58558
Add Base.formatNumber() to format numbers in the same way as Scriptographer (precision of up to 5 fractional digits) and use it in the various #toString() functions.
2011-05-04 19:42:50 +01:00
Jürg Lehni
4d999d57e2
Replace all type converting string compares with ===, !==.
2011-04-28 13:23:17 +01:00
Jürg Lehni
bdfe35d93a
Consistently name local context variables 'ctx', to save line size and acknowledge the fact that Canvas contexts have a funny API design.
2011-04-26 15:39:16 +01:00
Jürg Lehni
9d4af0ce9e
Clean up recently caused Base.read() mess by introducing _readNull property,m setting it to true on Color and reverting to previous behavior for Point, Size and Rectangle, where dimensions of 0 are read by default if nothing is provided.
2011-03-13 18:31:00 +01:00
Jürg Lehni
dd9340d522
Handle all the calls to Base.read() differently, by checking result for null and bailing out if it is.
2011-03-08 17:17:36 +00:00
Jürg Lehni
6a67052090
Update copyright / licensing comments.
2011-03-08 01:41:50 +00:00
Jonathan Puckey
dc25512f73
Compress getters and setters of translateX / translateY / scaleX / scaleY / rotateX / rotateY.
2011-03-07 18:38:50 +01:00
Jürg Lehni
e1a7aff2f0
Add copyright notice and license file.
2011-03-07 00:50:44 +00:00
Jürg Lehni
8ddf5a3d90
Add Matrix#createShiftless(), to return a copy of the matrix that lacks the translation.
2011-03-06 21:10:47 +00:00
Jürg Lehni
670512d123
Finally figured out why Matrix#applyToContext was not working right: The parameters where not passed in the right sequence!
2011-03-06 21:09:52 +00:00
Jürg Lehni
994b9deb8f
Fix Matrix#toString() to print values in correct sequence.
2011-03-06 21:08:37 +00:00
Jürg Lehni
607fe8f5d6
Improve argument handling in Matrix constructor.
2011-03-06 21:07:44 +00:00
Jürg Lehni
a7d08bcc08
Use variable definition chaining in Matrix where possible.
2011-03-06 21:06:46 +00:00
Jürg Lehni
32d0f31c31
Introduce Matrix.create() and use where applicable.
2011-03-06 21:05:24 +00:00
Jürg Lehni
af909238eb
Shorten code a bit.
2011-03-05 21:08:32 +00:00
Jürg Lehni
5392268b83
Remove Raster/PlacedSymbol specific code form Matrix#transformBounds() and use Rectangle#setCenter() instead to center the bounds rectangle on the origin.
2011-03-05 21:05:07 +00:00
Jürg Lehni
06ca80573a
Allow chaining of all Matrix calls without returns.
2011-03-05 21:04:01 +00:00
Jürg Lehni
352b3f0d40
More work on Bootstrap core, move Base.isArray back to Array.isArray.
2011-03-05 13:53:18 +00:00
Jürg Lehni
836ee492ae
More beans related refactoring.
2011-03-05 02:40:38 +00:00
Jürg Lehni
c313e702c9
Clean up a whole lot of beans access, and in the process of the refactoring improve canvas, context, size and bounds handling in Raster and PlacedSymbol.
2011-03-05 01:26:12 +00:00
Jürg Lehni
7355c2d4a7
Switch to using Base.isArray.
2011-03-04 21:47:00 +00:00
Jürg Lehni
92bf51a7cc
Simplify the way the paper namespace is created and populated.
2011-03-04 13:34:31 +00:00
Jürg Lehni
2b6dede883
Clean up white-spaces and line lengths.
2011-03-03 22:45:17 +00:00
Jürg Lehni
46a0589547
Use Error constructor correctly.
2011-03-03 17:29:40 +00:00
Jürg Lehni
9a9cb91f72
Use the faster Point/Size.create() constructors across the basic classes for higher performance.
2011-03-03 17:07:12 +00:00
Jürg Lehni
5ed30d7089
Make sure all files end on empty line.
2011-03-03 16:32:55 +00:00
Jürg Lehni
1f29f6f104
Improve formating.
2011-03-03 12:46:50 +00:00
Jürg Lehni
231343c6a2
Fix context orientation bug correct proberly, by flipping shear values instead of scale values.
2011-03-03 12:34:55 +00:00
Jürg Lehni
f9346a3b7a
Simplify code by merging setTransform() / transform() call to one.
2011-03-02 16:06:06 +00:00
Jürg Lehni
8c96d91400
Fix errors introduced by bad merge.
2011-03-02 08:52:13 +01:00
Jürg Lehni
3f972be500
Merge remote-tracking branch 'origin/master'
...
Conflicts:
src/basic/Matrix.js
src/item/Raster.js
2011-02-28 23:27:03 +01:00
Jürg Lehni
763fc95776
Fix odd issue of Rasters rotating the wrong way, which seems to be caused by Canvas not using the same Matrix orientation as Paper.js (scaleX (m00) and scaleY (m11) need to be flipped).
2011-02-28 20:15:40 +01:00
Jonathan Puckey
a7429205ed
Allow Matrix#applyToContext to optionally reset the matrix transformation.
2011-02-28 18:27:57 +01:00
Jonathan Puckey
5a786c300b
Implement Matrix#applyToContext.
2011-02-21 19:03:57 +01:00
Jürg Lehni
b0b9594f1e
Add support for single-parameter calls to scale() and shear(), both in Matrix and Item (supporting optional center parameter too).
2011-02-15 23:23:40 +00:00