Commit graph

154 commits

Author SHA1 Message Date
Jürg Lehni
6450430b68 Implement new strategy regarding Project#activeLayer:
- By default, no layer is created for any project.
- Project#activeLayer is a getter for the hidden #_activeLayer property. When it is called and no layer exists, one is created on the fly.
- Creating any other items creates a layer if none exists (was already the case).
2014-09-27 22:31:49 +02:00
Jürg Lehni
6b4f728a72 Bring back support for paper.setup('id') again, and document it properly.
Closes #510.
2014-08-20 16:53:31 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
0198f4c45f Reuse PaperScope objects when associating multiple scripts with the same canvas.
Closes #504.
2014-07-26 12:03:34 +02:00
Jürg Lehni
e1ed7f3294 Prevent drawing selected compound path children twice. 2014-05-12 18:57:09 +02:00
Jürg Lehni
8317aacc1b Split Item#hitTest() into separate private function that does need to do arguments reading, for improved performance also when iterating over children. 2014-04-29 20:06:48 +02:00
Jürg Lehni
bd07305435 Move selection drawing code to separate function and fix slowdowns in determining of selection color.
Closes #466 & #464.
2014-04-29 18:52:33 +02:00
Jonathan Puckey
ba98c91509 Fix SVGElement parameter type in docs. 2014-04-28 18:23:14 +02:00
Jonathan Puckey
efb5bf5cf5 Improve Project#isEmpty() docs. 2014-04-28 18:20:22 +02:00
Jonathan Puckey
ff5630ac07 Project#clear() docs. 2014-04-28 18:19:56 +02:00
Jonathan Puckey
12d7756892 Add more matching docs. 2014-04-27 23:40:43 +02:00
Jonathan Puckey
f0db48a77f More work on Project#getItems(match) docs. 2014-04-27 23:08:42 +02:00
Jonathan Puckey
46ef242e46 Documentation for Project#getItems(match) 2014-04-25 17:00:48 +02:00
Jürg Lehni
397c81e060 Switch from options.type to options.class in Item#hitTest(), to reflect recent change in Item#getItems(). 2014-04-13 16:43:20 +02:00
Jürg Lehni
a931a2530c Implement options.curvesoption for hit-testing curves regardless of stroke settings. 2014-04-11 14:57:58 +02:00
Jürg Lehni
8ab4df1979 Fix a bug where the selection of compound path children doe not get drawn when the ctx.currentPath optimisation is in use. 2014-04-10 22:28:21 +02:00
Jürg Lehni
60f6eca6c4 Do not keep the view's matrix baked into _globalMatrix, since we might allow multiple views soon. 2014-04-07 17:35:17 +02:00
Jürg Lehni
f002c633a7 Remove trailing white spaces and ensure newlines at the end. 2014-04-06 13:48:03 +02:00
Jürg Lehni
59da291d54 Remove tabs in examples in favor of 4 spaces.
To remove all these annoying JSHint complaints.
2014-04-02 21:03:35 +02:00
Jürg Lehni
0dca10d192 Take view#matrix into account when calculating and handling global matrices.
But make sure Item#globalMatrix returns a transformation without View#matrix factored in. Closes #440.
2014-03-31 19:28:00 +02:00
Jürg Lehni
4ca43ef2c3 Some documentation fixes. 2014-03-29 10:21:57 +01:00
Jonathan Puckey
01dbfe705c Fix accidental leaking of variables to the global scope.
Found using jscritic.com
2014-03-28 13:46:51 +01:00
Jürg Lehni
946e0d5b2c Fix spelling mistakes. 2014-03-18 15:25:25 +01:00
Jürg Lehni
62f7b0d73e Simplify and merge Item#getItems() code with Project#getItems() 2014-03-18 11:47:50 +01:00
Jürg Lehni
833d71f7ea Remove Item#type and replace it with Item#className, the non-hyphenated version of #type. 2014-03-18 11:42:38 +01:00
Jürg Lehni
0aa73d90c5 Change the way context dependent font sizes are handled by delegating handling to view.
Closes #425
2014-03-17 16:41:57 +01:00
Jürg Lehni
f3524ed0e2 Only draw selection if global matrix was calculated for the item. 2014-03-17 15:17:39 +01:00
Jürg Lehni
c63f9516b3 Remove Project#options.
The deprecated getter now redirects to PaperScope#settings.
2014-03-13 01:23:55 +01:00
Jürg Lehni
7dbf6ceaff Move Project#options to PaperScope#settings and define reasonable defaults. 2014-03-04 09:29:28 +01:00
Jürg Lehni
763fd5b6a3 Optimize and fix code that draws selections and handles. 2014-03-04 09:26:55 +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
568bb06853 Add comments about missing #importSVG() documentation. 2014-02-12 09:39:34 +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
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
9501fd1924 Make hit-test tolerance dependent of view#matrix 2013-12-10 22:53:03 +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
e238d23194 Implement caching of internal, untransformed bounds. 2013-12-09 10:53:19 +01:00
Jürg Lehni
2cd3de8188 Improve versioning of _globalMatrix 2013-12-09 07:51:28 +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
afe00add32 Implement option.type filtering in #hitTest() functions. 2013-12-08 16:32:42 +01:00
Jürg Lehni
593e0d8d7f Remove Base.merge() and use a new Straps.js feature instead.
A more clever Base() constructor that allows merging.
2013-11-28 22:20:00 +01:00
Jürg Lehni
da9e1f8de7 Define Project#isEmpty() 2013-11-24 22:53:41 +01:00
Jürg Lehni
af4410953f Various clean-ups regarding the handling of activeLayer, JSON deserialization, DOM insertion and and layer reusing.
JSON deserialization does no longer insert items into DOM twice now, and should therefore be faster.
2013-11-24 16:25:13 +01:00
Jürg Lehni
5439f6ba45 We need to take pixel ratio into account when directly blitting blend-modes onto canvas. 2013-11-06 13:11:54 +01:00
Jürg Lehni
2a9fe48cc9 Add options.matchShapes support to #exportSVG and improve documentation of various import / export functions. 2013-10-30 16:18:59 +01:00
Jürg Lehni
5d7c7a2409 Improve documentation of #hitTest() 2013-10-30 16:18:15 +01:00
Jürg Lehni
b86b66d43d Improve documentation. 2013-10-29 19:25:10 +01:00