Jürg Lehni
43bc9f14da
Add more comments and clean up code a bit.
2014-04-30 11:39:05 +02:00
Jürg Lehni
d91aac52b4
Check in initial support for source-maps in PaperScript.
...
Probably needs more testing and work.
2014-04-30 11:34:02 +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
fce31599a5
Use _dontMerge for #getSelectedColor() on both item and layer, and have style getters on item pass on _dontMerge to the style object.
2014-04-29 19:40:46 +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
04e90ec3f4
Improve PathItem#getIntersections(path, sorted) docs.
2014-04-28 18:58:19 +02:00
Jonathan Puckey
1d905f5c58
Path: add docs for Style Tests group and move Path#isInserted() to Hierarchy Tests group.
2014-04-28 18:41:40 +02:00
Jonathan Puckey
8c32dda435
Make View#projectToView(point) and View#viewToProject(point) show up in the docs.
2014-04-28 18:29:16 +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
2b712959f2
Path: Improve docs of the 'Positions on Paths and Curves' group.
2014-04-28 18:12:44 +02:00
Jürg Lehni
a9618b50f8
Small fix in Segment#linear.
2014-04-28 16:43:11 +02:00
Jürg Lehni
ad4f74a872
Fix bugs when dynamically loading paper.js source code in Node.
2014-04-28 16:42:06 +02:00
Jürg Lehni
e851090c81
Fix bug in item object literal constructor when providing parent as property after other values that depend on hierarchy being defined already.
2014-04-28 15:12:55 +02:00
Jürg Lehni
364c31b0f6
Remove TODOs for already implemented functions.
2014-04-28 14:25:15 +02:00
Jürg Lehni
42945825e8
Fix all argument assignment TODOs.
2014-04-28 14:22:50 +02:00
Jonathan Puckey
af84a52af8
Move around Item#isInserted() code so it shows up in the Tests group section in the docs.
2014-04-27 23:59:01 +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
Josh
572f3e06ff
add commonJS export in browser environment export
2014-04-27 12:53:14 -04:00
Jürg Lehni
320caa56d1
Add support for line dash to ProxyContext.
2014-04-27 17:36:31 +02:00
Jürg Lehni
c5b317600a
Support comparing colors with string values in Color#equals().
2014-04-27 11:16:22 +02:00
Jonathan Puckey
46ef242e46
Documentation for Project#getItems(match)
2014-04-25 17:00:48 +02:00
Jürg Lehni
19630d6229
Fix spelling mistakes.
2014-04-24 19:34:49 +02:00
Jürg Lehni
28e759a28a
fix spelling mistakes.
2014-04-21 10:30:38 +02:00
Jürg Lehni
28871534c2
Always use tolerance 0 in mouse event hit-tests.
...
Mouse events should imitate native events, so they can also be partly replaced by them on some backends (e.g. SVG).
2014-04-21 10:30:38 +02:00
Jürg Lehni
9ccba17fbe
Clean up white-space, comments and jshint errors.
2014-04-14 18:29:26 +02:00
Jürg Lehni
d0d4b29856
Fix bugs in bounds caching algorithm.
2014-04-13 18:31:01 +02:00
Jürg Lehni
6af797bbad
Optimize handling of property object in Item constructor.
...
Only check for values if it is a plain object, and avoid inserting into DOM twice if parent is specified.
2014-04-13 18:12:19 +02:00
Jürg Lehni
ee729622e0
Correctly handle Raster#setImage(null)
2014-04-13 18:11:34 +02:00
Jürg Lehni
ea81df6572
Fix spelling mistakes.
2014-04-13 17:03:44 +02:00
Jürg Lehni
db2bdf84af
Allow the JS optimizer to better do its thing by creating local references to repeatedly used class variables.
2014-04-13 16:44:49 +02:00
Jürg Lehni
dafdd0ae28
Avoid double-insertion of root layer when importing JSON directly into it.
2014-04-13 16:44:00 +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.curves
option for hit-testing curves regardless of stroke settings.
2014-04-11 14:57:58 +02:00
Jürg Lehni
d12607dd44
Use a Base object for PaperScope#settings and update straps.js to version that offers Base#set().
2014-04-11 13:32:06 +02:00
Jürg Lehni
1f7cb30fa5
Correctly transform Item#pivot when #matrix is applied to an item's contents.
...
Closes #452 and defines unit tests to cover this bug.
2014-04-11 13:18:27 +02:00
Jürg Lehni
86277f0578
Reversing path direction needs to trigger a GEOMETRY change.
2014-04-10 22:37:11 +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
eea4e533a4
Support type: Class
filters in hit-testing code too.
2014-04-10 22:27:03 +02:00
Jürg Lehni
61c2b11938
Serialize #applyMatrix before #matrix, because in deserialization its setting will affect how #matrix is read.
...
Closes #451 .
2014-04-09 11:57:25 +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
66b1087d33
Have boolean operation result inherit styles from the left-hand item in the operation.
...
Closes #445 .
2014-04-07 12:18:04 +02:00
Jürg Lehni
64aaabbc2e
Export PaperScope reference into PaperScript as well, so the global paper
always points to the current scope.
2014-04-07 11:53:32 +02:00
Jürg Lehni
2111e76804
Bump version to v0.9.18
2014-04-07 11:26:37 +02:00
Jürg Lehni
495e10e408
Exclude empty Item#data objects in SVG export.
...
Closes #363 .
2014-04-07 11:24:38 +02:00
Jürg Lehni
f953331edb
Implement correct selection drawing for CompoundPath.
...
Closes #402 .
2014-04-07 11:22:25 +02:00
Jürg Lehni
b8f1cfea9f
Support linked gradients.
...
Closes #441 .
2014-04-07 01:18:17 +02:00
Jürg Lehni
46ac9052c8
Some more JSON package file reformatting.
2014-04-07 00:35:08 +02:00
Jürg Lehni
1d0c6e09ba
Move version store to options.js and update the various JSON package files from there.
2014-04-06 14:47:45 +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
fe064e9cc3
Switch from dist/paper.js to dist/paper-full.js and explain the different versions in the README.
...
Closes #422 .
2014-04-06 13:44:19 +02:00
Jürg Lehni
95bcdac57c
Capture command + key combinations in key handling.
...
Closes #379 .
2014-04-06 13:02:52 +02:00
Jürg Lehni
09d0f5f389
Correctly handle paths with only one segment in hit-testing code.
...
Closes #430 .
2014-04-04 12:08:20 +02:00
Jürg Lehni
dfacc16788
Fix regular expression in Style#getFontStyle()
2014-04-03 17:19:07 +02:00
Jürg Lehni
c0d11ea98e
Fix hit-testing of PlacedSymbols.
...
Closes #428
2014-04-03 09:21:12 +02:00
Jürg Lehni
ee7c604ec0
Remove unused matrix parameter in PlacedSymbol#_hitTest()
2014-04-03 09:19:36 +02:00
Jürg Lehni
748256abb9
Fix broken documentation for Item.
2014-04-02 21:04:39 +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
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
4d52867b4a
Fix spelling mistakes and white-spaces.
2014-04-02 20:52:13 +02:00
Jürg Lehni
4108e9487b
Add optional joining behavior to PathItem#closePath() again and use it in #setPathData().
2014-03-31 19:33:38 +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
17fb1fb862
Some Straps.js related code changes.
2014-03-31 19:27:04 +02:00
Jürg Lehni
7c447c8c5a
Move segment merging logic from Path#closePath() to Path#join()
...
Closes #435
2014-03-31 18:14:58 +02:00
Jürg Lehni
e0120b8f58
Fix spelling mistakes.
2014-03-31 18:13:54 +02:00
Jürg Lehni
92331a62c3
transformations will always be defined at this point of the code.
2014-03-31 18:13:36 +02:00
Jürg Lehni
eb29e72195
Support reading default canvas size.
...
Closes #438 .
2014-03-31 17:59:53 +02:00
Jürg Lehni
a81063a994
Replace all unsupported Curve#getLength(from, to) calls with #getPartLength(from, to)
2014-03-30 14:17:02 +02:00
Jürg Lehni
c464f9ce1b
Make sure Segment#getLocation() always determines the right value for CurveLocation#parameter
...
Half the solution for #437 .
2014-03-30 14:16:03 +02:00
Jürg Lehni
4ca43ef2c3
Some documentation fixes.
2014-03-29 10:21:57 +01:00
Jonathan Puckey
400bc69159
Remove unnecessary commas.
...
Found using jscritic.com.
2014-03-28 14:02:39 +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
8c45786759
Fix a regression in Style#fontSize.
...
Closes #432 .
2014-03-26 16:58:43 +01:00
Jürg Lehni
e453b90ad2
Remove unused variable.
2014-03-20 17:26:22 +01:00
Jürg Lehni
7233c82084
Fix wrong call of _clearBoundsCache() on child.
...
Closes #426 .
2014-03-20 17:20:26 +01:00
Jürg Lehni
aeeba4d58d
Implement ChangeFlag.INSERTION notification to know when an item was inserted in a new parent inside the DOM.
2014-03-18 15:28:29 +01:00
Jürg Lehni
946e0d5b2c
Fix spelling mistakes.
2014-03-18 15:25:25 +01:00
Jürg Lehni
e998083156
Rename Shape#shape to Shape#type.
2014-03-18 12:47:54 +01:00
Jürg Lehni
3dae48acf4
Bring back accidentally removed support for pixelRatio in CanvasProvider.
2014-03-18 12:42:28 +01:00
Jürg Lehni
09d90a21bc
Support legacy #type filtering again in #getItems(), and offer an alternative through instanceof checks with #class and #constructor property.
2014-03-18 12:39:55 +01:00
Jürg Lehni
d28bac0734
Support Firefox 3.6 still, with surprising little effort.
...
Why, I don't really know :)
2014-03-18 12:38:29 +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
f115072e8c
Rename HIERARCHY change-flag to more precise CHILDREN.
2014-03-17 18:59:10 +01:00
Jürg Lehni
1df20c3794
Fix comments in Symbol#_changed()
2014-03-17 18:58:44 +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
2b4ecfa669
Remove unused pixelRatio code from CanvasProvider.
2014-03-17 16:41:11 +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
2a3f0646f0
Fix exception in _getMonoCurves() when path is empty.
...
Closes #427 .
2014-03-17 14:58:40 +01:00
Jürg Lehni
438de7013a
Correctly handle groups as clipping masks.
...
Closes #370 .
2014-03-17 14:51:47 +01:00
Jürg Lehni
0fe52a7d39
Implement an optimization in _changed() notifications where not all curves need to updated if only segments change that already have told their curves about the change.
2014-03-17 14:35:33 +01:00
Jürg Lehni
72ba453ba2
Define Path#reorient() and simplify preparePath()
2014-03-17 10:04:09 +01:00
Jürg Lehni
e04946e250
Simplify CompoundPath#reorient() code.
2014-03-17 10:03:49 +01:00
Jürg Lehni
7372c14f0c
Expose reorientPath() functionality as Path#getInteriorPoint() and CompoundPath#reorient()
2014-03-17 09:48:00 +01:00
Jürg Lehni
6d47824a69
Merge remote-tracking branch 'origin/master' into bool-cleanup
...
Conflicts:
src/path/PathItem.Boolean.js
2014-03-16 22:48:08 +01:00
Jürg Lehni
2a08a88461
Avoid calling #moveTo() twice in SVG 'zm' path data sequence.
2014-03-16 22:44:46 +01:00
hkrish
b193cf0fe8
More precise handling of islands and holes in reorient path
2014-03-15 16:15:55 +01:00
Jürg Lehni
db1d87b843
Fix GradientStop.readAll() call that was omitted in the recent function signature change.
2014-03-14 15:43:16 +01:00
hkrish
b1fca8d3dc
Merge branch 'master' into bool-cleanup
...
* master: (36 commits)
Avoid dividing with zero while splitting curves
Implement propper support for pointer events and MSPointer events.
Clean up white-space.
WinGums: Some more code clean-up.
WineGum example: Untangle the offset calculation code a bit.
WineGum example: Some more style changes.
Some more simplifications and style changes.
Convert to cleaner OOP style.
Precalculate side points again for better performance.
Optimise WineGums example.
Change title of WineGums example.
Optimise WineGums example.
Add WineGums example by kynd.info.
Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
Optimize and fix code that draws selections and handles.
Minor clean-up in the way Base.exports are handled.
Better handle Path#moveTo() / #closePath() edge cases in SVG data.
Fix SVG issues with reflected control points in the commands 'SsTt'
Prevent accidental transformation of selection bounds in TextItem.
Fix importPoly() on Node.js
...
2014-03-13 19:32:51 +01:00
Jürg Lehni
c84c019990
Add TODO and DOC for new #arcTo(to, radius, rotation, clockwise, large)
2014-03-13 17:46:31 +01:00
Jürg Lehni
42558fa057
Changes to new #arcTo(): Rename sweep -> clockwise and change argument sequence, as clockwise is more often used than large.
2014-03-13 16:35:56 +01:00
Jürg Lehni
6c7c4d0798
Close previous paths if followed by a new M command.
2014-03-13 03:28:46 +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
d622d648c1
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 01:19:52 +01:00
Jürg Lehni
4e20a5594e
Fix failing test.
2014-03-13 01:15:36 +01:00
Jürg Lehni
d58f24157e
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 01:05:09 +01:00
Jürg Lehni
10c28a301e
Fix compare statements.
2014-03-13 01:04:31 +01:00
Jürg Lehni
0bca1656ac
Avoid CompoundPath#reduce() in SVG path import by improving regular expression that identifies the need for CompoundPath.
2014-03-13 01:01:26 +01:00
Jürg Lehni
3c257dcae0
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 00:54:05 +01:00
Jürg Lehni
e80991658b
Fix issue with relative commands after Z.
...
Closes #413 .
2014-03-13 00:52:24 +01:00
Jürg Lehni
afcabea1a7
Fix issue with Z in the middle of SVG path data, not followed by a M command.
...
Closes #413 .
2014-03-12 23:24:09 +01:00
Jürg Lehni
86c5894822
No need to use parseFloat() in color parsing, a + does enough.
2014-03-12 23:06:13 +01:00
Jürg Lehni
326ecfca0e
Rename angle parameter to rotation.
2014-03-12 23:05:54 +01:00
Jürg Lehni
56335ae5f5
Implement SVG-style #arcTo() version.
...
This should fix the arc related part of issue #413 .
2014-03-12 23:00:47 +01:00
Jürg Lehni
7ace275da8
Implement Segment#transform()
2014-03-12 22:58:12 +01:00
Jürg Lehni
847060e146
Improve handling of _changed() events in Segment.
2014-03-12 22:58:00 +01:00
Jürg Lehni
dc76ef144e
Remove accidentally committed console.log()
2014-03-12 21:34:52 +01:00
Jürg Lehni
6a58679593
Stick to 80 char line length.
2014-03-12 15:40:22 +01:00
Jürg Lehni
0ea5416a54
Deactivate dragstart events on view too.
2014-03-12 15:39:08 +01:00
hkrish
066d47dbf7
Avoid dividing with zero while splitting curves
2014-03-12 13:34:43 +01:00
Jürg Lehni
9c552b1739
Implement propper support for pointer events and MSPointer events.
...
Closes #406 and #336 .
2014-03-12 13:22:41 +01:00
Jürg Lehni
550044e476
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:55:20 +01:00
Jürg Lehni
b08cc68ffe
Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
2014-03-04 09:48:41 +01: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
d594b4264d
Define settings.applyMatrix and inherit at Item creation time.
2014-03-04 09:30:04 +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
5b49fdf3ff
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:27:55 +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
dad17ba28e
Minor clean-up in the way Base.exports are handled.
2014-03-03 22:53:00 +01:00
Jürg Lehni
30b11e5968
Better handle Path#moveTo() / #closePath() edge cases in SVG data.
...
Relates to issue #413
2014-03-03 17:27:47 +01:00
Jürg Lehni
2f5a9bb70d
Fix SVG issues with reflected control points in the commands 'SsTt'
...
Relates to issue #413
2014-03-03 08:57:33 +01:00
Jürg Lehni
7911d8b42a
Change code sequence in tracePaths() to only calculate tangents and winding values if they are required.
2014-03-02 21:39:54 +01:00
Jürg Lehni
21bd4628f2
Merge branch 'refs/heads/bool-cleanup'
2014-03-02 21:19:47 +01:00
Jürg Lehni
d7be443119
Simplify path filtering code in tracePaths() a bit, and improve documentation.
2014-03-02 21:19:31 +01:00
Jürg Lehni
36e3cbddf2
Remove inheritance of Item#applyMatrix setting again.
...
Implementation cannot be solved well, since hierarchy is not known at creation time of item.
2014-03-02 21:00:08 +01:00
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
2f61d11a3b
Prevent accidental transformation of selection bounds in TextItem.
...
Closes #386 .
2014-03-02 01:07:36 +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
ac2161c6d9
Fix importPoly() on Node.js
...
Closes #390
2014-03-02 01:02:33 +01:00
Jürg Lehni
0ba58431e5
Merge branch 'refs/heads/master' into apply-matrix
2014-03-01 23:41:24 +01:00
Jürg Lehni
7dd3bfa2ec
Fix issue in recent Path.Line constructor optimization.
...
Line paths should not be closed.
2014-03-01 23:40:38 +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