Commit graph

928 commits

Author SHA1 Message Date
Jürg Lehni
ccfd51a65a Improve performance of Path constructors and handling of { insert: false } Item creation. 2014-02-26 16:15:51 +01:00
Jürg Lehni
737466d15c Fix all faulty {@true} doc statements. 2014-02-26 15:39:00 +01:00
Jürg Lehni
bf50bd649a Fix issue in Item#rasterize() when resolution is not 72 DPI.
Closes #412.
2014-02-26 11:54:14 +01:00
Jürg Lehni
86e4d2a6b9 Implement Curve#remove() and Path#reduce().
Also have Item#reduce() recursively call #reduce() on reduced children.
2014-02-20 02:50:39 +01:00
Jürg Lehni
74a153dd88 Some code clean-up.
More to come.
2014-02-17 20:59:38 +01:00
Jürg Lehni
568bb06853 Add comments about missing #importSVG() documentation. 2014-02-12 09:39:34 +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
6ad2105110 Replace delete in favor of setting to undefined to prevent V8 deoptimization. 2014-01-05 19:16:48 +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
b66c41e1c9 Remove need for arguments[1] in Item#transform() 2014-01-05 18:05:47 +01:00
Jürg Lehni
8d08d3c014 Remove the need for arguments[0] in bounds getters. 2014-01-05 18:01:38 +01:00
Jürg Lehni
e3f3a9c9d2 Merge branch 'refs/heads/master' into v8-optimizations 2014-01-05 17:42:59 +01:00
Jürg Lehni
1ee5b2c126 Fix references to Bootstrap.js in comments. 2014-01-05 17:41:38 +01:00
Jürg Lehni
6cb25fafe3 Use changes in latest Straps.js to remove as many hidden parameters as possible.
Hidden parameters through arguments[] are bad news for JS optimizer engines.
2014-01-05 17:40:54 +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
ad34bbf7aa Bail out of Item#transform() immediately if there is nothing to do. 2014-01-02 21:47:00 +01:00
Jürg Lehni
c197f531a4 Implement options.asString for Item#exportJSON() 2013-12-30 23:34:19 +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
3dbad9c477 Replace delete in favor of setting to undefined to prevent V8 deoptimization. 2013-12-17 23:27:48 +01:00
Jürg Lehni
e2b06b8e54 Filter out insert property in Item#set() 2013-12-16 22:03:33 +01:00
Jürg Lehni
a51f8d4ee8 Rename Item#anchor -> Item#pivot 2013-12-13 20:50:58 +01:00
Jürg Lehni
25d8b1f0d2 Clean up code and comments in various places. 2013-12-11 17:10:09 +01:00
Jürg Lehni
3ff4a6d801 Use Point.read() for center parameter in Item#rotate 2013-12-11 17:09:03 +01:00
Jürg Lehni
da427e969b Make hit-tests work again with projects that don't have a view.
Fixes broken tests.
2013-12-11 17:08:36 +01:00
Jürg Lehni
97f7204eab Write documentation for Item#anchor. 2013-12-11 16:23:30 +01:00
Jürg Lehni
42788a5bf7 Keep support for Item#registration for now as well, since there are some scripts on the mailing list that use it. 2013-12-11 15:08:56 +01:00
Jürg Lehni
78a2685324 Rename Item#registration to Item#anchor 2013-12-11 14:59:51 +01:00
Jürg Lehni
e2b48ebf33 Allow layers to select children again, since it breaks examples otherwise. 2013-12-10 23:55:41 +01:00
Jürg Lehni
9501fd1924 Make hit-test tolerance dependent of view#matrix 2013-12-10 22:53:03 +01:00
Jürg Lehni
9177bac125 Use same stroke tolerance approach for hit-testing joins and caps as well. 2013-12-10 14:23:05 +01:00
Jürg Lehni
7c28c7e9e3 Do not factor in view matrix into Item#globalMatrix.
Instead concatenate it when drawing selections.
2013-12-10 13:18:21 +01:00
Jürg Lehni
48c8946f9e Implement correct hit-testing tolerance using transformed 2D stroke padding rather than unscaled numerical tolerance.
But we still need to factor in the View zoom as well...
2013-12-10 12:52:42 +01:00
Jürg Lehni
3d868ae400 Fix issue with cached internal bounds and #transformContent == true. 2013-12-10 12:51:49 +01:00
Jürg Lehni
48b7b740ad Allow the creation of internally used items with no ids. 2013-12-10 11:07:14 +01:00
Jürg Lehni
642111a7a2 Fix error in #getGlobalMatrix() 2013-12-09 19:33:50 +01:00
Jürg Lehni
b7943239eb Implement cached getInternalRoughBounds as well. 2013-12-09 19:33:34 +01:00
Jürg Lehni
7278ee4374 Make JSON serialization work for Shapes. 2013-12-09 17:27:41 +01:00
Jürg Lehni
94d5a09b7b Do not inherit selection behavior from Group in Layer. 2013-12-09 15:10:09 +01:00
Jürg Lehni
e238d23194 Implement caching of internal, untransformed bounds. 2013-12-09 10:53:19 +01:00
Jürg Lehni
81fe98d1bb Make cachedBounds mechanism work for Symbols. 2013-12-09 09:05:29 +01:00
Jürg Lehni
f8f60ec603 Fix slow-down in bounds caching. 2013-12-09 08:58:37 +01:00
Jürg Lehni
2cd3de8188 Improve versioning of _globalMatrix 2013-12-09 07:51:28 +01:00
Jürg Lehni
064d632d65 More matrix related clean-ups. 2013-12-08 22:12:36 +01:00
Jürg Lehni
238f577e6f Clean up _getCachedBounds() code. 2013-12-08 22:06:32 +01:00
Jürg Lehni
516b9d040f Apply matrices before calculating boolean path operations. 2013-12-08 21:39:56 +01:00
Jürg Lehni
24ce35cc6e Make sure items removed from DOM remove all their events and reinstall them again when reinserted.
Closes #254.
2013-12-08 20:40:30 +01:00
Jürg Lehni
97fcd6ff38 Implement Item#getGlobalMatrix(), #globalToLocal() and #localToGlobal()
Closes #270.
2013-12-08 20:04:10 +01:00
Jürg Lehni
6e5d8939d5 Rename View#draw() -> View#update() and remove checkRedraw argument.
We always check for changes, since change propagation should work reliably.
2013-12-08 19:15:58 +01:00
Jürg Lehni
c75d48cf98 Fix comments. 2013-12-08 18:45:11 +01:00