Commit graph

3937 commits

Author SHA1 Message Date
Jürg Lehni
12254f5fe8 Fix two documentation errors in Raster.
Closes #495
2014-07-26 12:07:36 +02:00
Jürg Lehni
d96368a941 No need to convert strings to elements in View.create anymore, since PaperScript handles this already. 2014-07-26 12:07:14 +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
e0ec2bf2c3 Throw more meaningful error when CanvasView cannot be created from inexistent element. 2014-07-26 11:41:21 +02:00
Jürg Lehni
56704b9206 Fix a bug in Item#_removeNamed() for items without parents.
Closes #490.
2014-07-25 21:08:14 +02:00
Jürg Lehni
04a0c995bc Keep Math.acos() argument between -1 and 1.
Closes #482.
2014-07-25 21:01:58 +02:00
Jürg Lehni
4fab100e71 Improve CommonJS support a bit. 2014-07-25 20:10:20 +02:00
Jürg Lehni
652dbe1e86 Use loop to produce CurveLocation getters, and add CurveLocation#curvature. 2014-07-25 20:05:44 +02:00
Jürg Lehni
d3d9e4bada Improve some injection blocks. 2014-07-25 20:05:26 +02:00
Jürg Lehni
3c14a5ad05 Merge pull request #462 from jbielick/master
add commonJS export in browser environment export
2014-07-25 20:04:08 +02:00
Jürg Lehni
dc375d4c76 Correctly match the use of the unary operator $_ in PaperScript.
Closes #502
2014-07-23 12:17:55 +02:00
Jürg Lehni
3093a8ec43 Introduce matrix.chain(mx) as a shortcut to Matrix.clone().concatenate(mx)
Simplifies quite a few lines of code.
2014-07-08 15:43:17 +02:00
Jürg Lehni
66360bf58a Fix minor documentation bug. 2014-07-08 15:43:17 +02:00
hkrish
ccbf4579fd Don't remove the only intersection.
The previous code wrongly compared an intersection with itself while checking for duplicates.
2014-06-21 10:31:07 +02:00
Jürg Lehni
5384a63238 Improve Item. _clearBoundsCache() fix. 2014-05-15 21:33:30 +02:00
Jürg Lehni
a7f57315a6 Fix Item._clearBoundsCache() recursion, correctly this time. 2014-05-15 21:30:06 +02:00
Jürg Lehni
a1c1fc8ed8 Fix an issue in _clearBoundsCache where circular recursion could happen in certain circumstances. 2014-05-15 21:24:09 +02:00
Jürg Lehni
f39b7603de Remove pixelRatio handling from CanvasProvider and move it to Item#draw() 2014-05-15 17:14:37 +02:00
Jürg Lehni
af5e1609dd Fix an issue where CompoundPath wouldn't draw correctly if children had styles that forced non-direct compositing. 2014-05-15 17:09:58 +02:00
Jürg Lehni
98f2e08775 Fix SVG export when view is zoomed. 2014-05-15 16:26:19 +02:00
Jürg Lehni
c0a911d3c7 Rename Raster#ppi to#resolution, and deprecate #ppi. 2014-05-15 15:36:24 +02:00
Jürg Lehni
9d7ec13724 Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it. 2014-05-14 15:14:03 +02:00
Jürg Lehni
f38d3ee674 Handle view size and transformation correctly when exporting SVG.
Closes #277.
2014-05-14 13:29:20 +02:00
Jürg Lehni
aac98f2b25 Some code clean-up. 2014-05-13 13:54:31 +02:00
Jürg Lehni
a4f922cf26 Fix newly introduced error in SVG export. 2014-05-13 13:52:20 +02:00
Jürg Lehni
6896535663 Bring back accidentally removed ctx.beginPath(); 2014-05-13 13:51:09 +02:00
Jürg Lehni
846c806034 Implement non-scaling strokes through Style#strokeScaling.
Closes #418.
2014-05-13 13:38:51 +02:00
Jürg Lehni
68db4f9b59 Forgotten in previous commit. 2014-05-13 13:23:37 +02:00
Jürg Lehni
4464950301 Correctly take Item#matrix into account in #getPathData(). 2014-05-13 13:21:59 +02:00
Jürg Lehni
94bc6427c2 Export SVG transforms for path items correctly.
Needed when Item#applyMatrix = false
2014-05-13 12:53:58 +02:00
Jürg Lehni
f56efd6471 Fix exceptions in ProxyContext when drawing bitmaps. 2014-05-13 12:33:39 +02:00
Jürg Lehni
e1ed7f3294 Prevent drawing selected compound path children twice. 2014-05-12 18:57:09 +02:00
Jürg Lehni
ea8518c3a5 Use the correct change notification when reversing paths. 2014-05-12 16:44:48 +02:00
Jürg Lehni
8560a71312 Remove srcOffset and dstOffset parameters from Matrix#_transformCoordinates(). 2014-05-08 13:54:05 +01:00
Jürg Lehni
6aaeb81869 Simplify Item#_isUpdate() code a bit. 2014-05-07 17:27:53 +01:00
Jürg Lehni
bb6e1e686f Improve some comments. 2014-05-07 17:22:25 +01:00
Jürg Lehni
2412942d04 Fix SVG export for Item#visible, and import display attributes correctly.
Closes #471.
2014-05-07 16:59:57 +01:00
Jürg Lehni
56389a3929 Make sure _updateVersion also works for items and children of items with opacity == 0.
Closes #469.
2014-05-07 16:57:39 +01:00
Jürg Lehni
41c0d8f759 Implement onImport / onExport callbacks for SVG Import / export.
... and illustrate its functionality by importing Inkscape's transform-center attributes to pivots and exporting them again.
2014-05-05 20:48:30 +02:00
Jürg Lehni
312e670b22 Update Item#_updateVersion in Item#draw() before bailing out when items are invisible.
Closes #469.
2014-05-05 20:13:36 +02:00
Jürg Lehni
74d14ecf0c Fix PaperScript support on Node.js
Closes #470.
2014-05-05 20:10:29 +02:00
Jürg Lehni
87e72744ea Fix PaperScript.parse() for use with load.js 2014-04-30 17:08:43 +02:00
Jürg Lehni
735150d165 Minor adjustments in new source map code.
Handle empty code properly.
2014-04-30 17:04:58 +02:00
Jürg Lehni
2d702d0247 Directly expose Acorn parser through PaperScript.parse(), and replace options.inline with options.source. 2014-04-30 16:40:11 +02:00
Jürg Lehni
c36712758b Expose Acorn through PaperScript object. 2014-04-30 16:27:43 +02:00
Jürg Lehni
43f319e762 Remove support for Esprima as Acorn.js does everything we need. 2014-04-30 16:26:04 +02:00
Jürg Lehni
e96ec6a2f1 Remove breakpoint support again in PaperScript as this code is better placed in sketch. 2014-04-30 16:25:38 +02:00
Jürg Lehni
5e6d0377f4 Support adding breakpoints to PaperScript. 2014-04-30 13:37:07 +02:00
Jürg Lehni
9e45d7f5eb Automatically detect PaperScript code inlined on page. 2014-04-30 12:32:08 +02:00
Jürg Lehni
af9b3cd5c6 Simplify source-map support since all browser appear to require the shifting of inlined code. 2014-04-30 11:47:15 +02:00
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.curvesoption 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 paperalways 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