Jürg Lehni
3cb84842ff
Remove forced colon in label, so we can add it optionally through CSS instead.
2014-09-29 15:46:29 +02:00
Jürg Lehni
214ac10d57
Add support for Component#suffix, to define a linked label that should appear after the input element.
2014-09-29 15:46:04 +02:00
Jürg Lehni
c2cb3e3342
Improve Palette and Component code.
...
- Only create label elements when they are set for the first time.
- Give created elements clear class and id names.
2014-09-29 15:41:14 +02:00
Jürg Lehni
e541b10e89
Move user-agent code to PaperScope and expose through PaperScope#browser.
2014-09-29 13:07:02 +02:00
Jürg Lehni
6a11532322
Clean up and simplify code a bit further.
2014-09-28 11:49:46 +02:00
Jürg Lehni
7462fe0b70
Fix Curve.getParameterAt() for negative values of offset, and implement unit test.
...
Closes #524 .
2014-09-28 11:44:38 +02:00
Jürg Lehni
df190b6a47
Rearrange Project code for better doc sequence.
2014-09-27 22:53:37 +02:00
Jürg Lehni
2c9e15b070
Clean up comments.
2014-09-27 22:53:00 +02:00
Jürg Lehni
c87ce4de4c
Implement Item#replaceWith(item)
...
Closes #454
2014-09-27 22:52:37 +02:00
Jürg Lehni
91539e6bc5
Commit changes forgotten in 6450430b68
2014-09-27 22:51:22 +02:00
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
2dce6c4efa
Some code clean-up in Segment#_changed()
2014-09-27 22:09:25 +02:00
Jürg Lehni
cc8b23894c
Some clean up related to hidden _uncached parameter.
2014-09-27 22:03:54 +02:00
Jürg Lehni
b8530935a7
Streamline CurveLocation#getTangent/Normal/Curvature getter definitions to align with definitions in Curve, Path and PathIterator.
2014-09-27 22:03:20 +02:00
Jürg Lehni
8b4f59962e
Allow better code compression by removing repeated variable access on this.
2014-09-27 22:00:46 +02:00
Jürg Lehni
dd99db8d2d
Allow 'false' as well as 'off' for hidpi attribute, since that's what's in use for other attributes as well.
2014-09-26 18:03:37 +02:00
Jürg Lehni
762113230a
Implement Item#parentToLocal() and #localToParent()
...
As outlined in #530
2014-09-25 17:53:08 +02:00
Jürg Lehni
3389687c42
Do not check typeof module.exports === 'object', since it will be the Base constructor function after straps.js is included.
...
Closes #461
2014-09-25 16:46:34 +02:00
Jürg Lehni
5046a6a64c
Fix naming of PathIterator#get*At functions.
2014-09-24 12:32:07 +02:00
Jürg Lehni
4adab91a18
Remove unused argument.
2014-09-23 17:51:29 +02:00
Jürg Lehni
48e9447c47
Avoid error when SVG path data does not contain any 'm' commands.
...
Fixes #529
2014-09-22 17:44:15 +02:00
Jürg Lehni
ee27fe820f
Check for valid parameter range in Curve#getLocationAt() and delegate to it in #getLocationOf()
2014-09-20 11:09:09 +02:00
Jürg Lehni
c94fb3038f
Use valid parameter range [0,1] in calls to Curve.solveCubic().
2014-09-20 11:08:20 +02:00
Jürg Lehni
c2465b60fa
Transform the correct amount of points in Curve.getValues() when a matrix is provided.
2014-09-20 11:06:25 +02:00
Jürg Lehni
e5995527e8
Support Point argument reading for Style#shadowOffset.
2014-09-19 18:43:00 +02:00
Jürg Lehni
52dd24097f
Define PathIterator#getPoint(), #getTangent(), #getNormal() and #getCurvature().
2014-09-11 16:06:00 +02:00
Jürg Lehni
67d30f0042
Actually use maxRecursion and tolerance arguments in PathIterator, and increase precision in #flatten() a bit.
2014-09-11 15:20:04 +02:00
Jürg Lehni
73765e6654
Produce Path#getPointAt(), #getTangentAt(), #getNormalAt() & #getCurvature() in a loop, just like for Curve.
2014-09-10 11:21:06 +02:00
Jürg Lehni
50c5c6736c
Rename PathFlattener to PathIterator and include the class in exports.
2014-09-10 02:20:00 +02:00
Jürg Lehni
1db4fb4064
Refactor PathFlattener code and add maxRecursion and tolerance arguments to constructor.
2014-09-09 18:32:41 +02:00
Jürg Lehni
7d69ef1864
Fix documentation of bean properties that are not read-only.
...
@bean can only be used when the property is read-only or both getters and setters are present in the scope.
2014-08-26 10:01:30 +02:00
Jürg Lehni
73751040b7
Bump version to v0.9.20
2014-08-25 14:48:05 +02:00
Jürg Lehni
99b06b061c
Correctly match variables to be exposed at the beginning of PaperScripts.
2014-08-25 14:21:13 +02:00
Jürg Lehni
8574c1ebf6
Return the created scope from PaperScript.load()
2014-08-25 13:21:58 +02:00
Jürg Lehni
a564480522
Forgotten in previous commit.
2014-08-25 12:53:13 +02:00
Jürg Lehni
797a393c9a
Remove various double white-spaces.
2014-08-25 12:49:14 +02:00
Jürg Lehni
bcc8761f8c
Improve PaperScript#load() documentation.
2014-08-25 12:42:44 +02:00
Jürg Lehni
72f16eb1c3
Handle data-paper-ignore like any other Paper attribute, allowing the ignore="true" short-form as well.
2014-08-25 12:34:08 +02:00
Jürg Lehni
93dfd2a15a
Remove debugger statement.
2014-08-25 12:24:30 +02:00
Jürg Lehni
c03e9961d2
Allow PaperScript.load(script) to only load specific scripts, and define / improve documentation.
2014-08-25 12:21:27 +02:00
Jürg Lehni
992366246d
Ignore hash when comparing PaperScript URLs.
2014-08-25 12:20:58 +02:00
Jürg Lehni
4b19f99183
Improve user agent matching code in PaperScript.
...
Fixes #511 .
2014-08-20 18:54:00 +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
db1ccd1d1e
Restructure includes.
2014-08-20 16:44:36 +02:00
Jürg Lehni
6faf61e6ef
Fix incompatibility with jsdom 1.0.0-pre.1
...
Closes #513
2014-08-20 15:06:13 +02:00
Jürg Lehni
9da6325f49
Fix wrong __options comments.
2014-08-16 19:27:25 +02:00
Jürg Lehni
48cb05a181
Replace tabs with 4 white-spaces.
2014-08-16 19:24:54 +02:00
Jürg Lehni
687199e95d
Fix some whitespaces.
2014-08-16 19:18:36 +02:00
Jürg Lehni
a2b7f9fc11
Remove __options.stats and load Stats library automatically only when in dev mode on the browser.
2014-08-16 19:11:16 +02:00
Jürg Lehni
21c9f97450
Update version handling and comments in options.js
2014-08-16 18:49:35 +02:00
Jürg Lehni
bcd3fe2493
Bump version to v0.9.19
2014-08-16 18:31:53 +02:00
Jürg Lehni
5aa4a8300e
Move 'data-paper-scope' attribute handling out of PaperScope into browser related code in PaperScript.
...
Closes #508
2014-08-16 18:24:45 +02:00
Jürg Lehni
288b8553e7
Support PaperScript code with only one line and no breaks.
2014-08-16 18:22:43 +02:00
Jürg Lehni
15d79bbefb
Introduce isRoot argument in SVGExport code as well, to make sure that top-most node holds all the style information.
...
Relates to #509
2014-08-16 17:32:24 +02:00
Jürg Lehni
4e9fc558ac
Prevent double-application of styles when importing #document SVG nodes.
...
Closes #509 .
2014-08-16 17:31:42 +02:00
Jürg Lehni
53b00b40e1
Move isRoot parameter last in SVGImport code.
2014-08-16 17:27:14 +02:00
Jürg Lehni
ce4e6053ec
Try un-prefixed name before various prefixes, to prevent console warnings.
2014-08-15 18:00:32 +02:00
Jürg Lehni
3ac9a4f369
Use local parent short-cut variable.
2014-08-15 15:38:28 +02:00
Jürg Lehni
4d4a39c752
Implement Curve#getOffsetOf(point) / Path#getOffsetOf(point)
...
Closes #463 .
2014-07-31 19:01:37 +02:00
Jürg Lehni
da22161d28
Correctly clear Curve length cache when segments change.
...
Closes #497
2014-07-31 17:00:52 +02:00
Jürg Lehni
c90a7c9f38
Only use the unmerged setting for #strokeScaling, as otherwise it'll be used on layers and groups already.
...
Closes #500
2014-07-29 23:39:51 +02:00
Jürg Lehni
06366fb0ed
Support prefixed UpdateExpressions and fix a bug in suffixed UpdateExpression when assigning to plain variables.
...
Related #492
2014-07-26 12:40:00 +02:00
Jürg Lehni
54f0197eba
Correctly handle UpdateExpressions (a++, a--) that are directly following AssignmentExpressions.
...
Closes #492
2014-07-26 12:29:05 +02:00
Jürg Lehni
6e6df750f0
Use names less likely to be used in code for Operator Overloading handlers.
2014-07-26 12:28:00 +02:00
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.curves
option for hit-testing curves regardless of stroke settings.
2014-04-11 14:57:58 +02:00