Commit graph

941 commits

Author SHA1 Message Date
Jürg Lehni
80a725d08a Rename Item#transformContent to the more correct Item#applyMatrix 2014-03-02 16:04:17 +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
6fdb9f60bd Merge branch 'refs/heads/master' into apply-matrix 2014-03-02 01:27:50 +01:00
Jürg Lehni
7bf9cc88e4 Merge pull request #387 from mgrabovsky/master
Fix typo in comment
2014-03-02 01:05:21 +01:00
Jürg Lehni
4ba17127aa Make sure that #transformContent can only be set to true on items that actually support it. 2014-03-01 23:24:33 +01:00
Jürg Lehni
1a836a168f Merge branch 'refs/heads/master' into apply-matrix
Conflicts:
	src/item/Item.js
2014-03-01 22:55:54 +01:00
Jürg Lehni
a8578326ea Inherit #transformContent setting from parent, if not explicitely defined. 2014-03-01 22:52:00 +01:00
Jürg Lehni
dad7821ee9 Include Item#transformContent in serialization and cloning. 2014-03-01 22:51:01 +01:00
Jürg Lehni
7cf4591a1e Define Item#style before calling #addChild() in #initialize(), to avoid issues with layers. 2014-03-01 22:49:46 +01:00
Jürg Lehni
a3114e5c28 Do not preserve matrix transformations in empty groups when applied to inexisting content. 2014-03-01 22:48:44 +01:00
Jürg Lehni
c1ccdf6cb7 Take into account the view's resolution in Item#rasterize() 2014-02-26 16:20:19 +01:00
Jürg Lehni
ec0877962b Expose the view's pixel-ratio and resolution through View#pixelRatio and View#resolution 2014-02-26 16:19:48 +01:00
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
Matěj Grabovský
890eda9197 Fix typo in comment 2014-01-15 18:04:51 +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