Commit graph

3069 commits

Author SHA1 Message Date
Jürg Lehni
ad6124cf98 Take strokeWidth into account in Item#hasStroke() 2013-06-18 14:08:48 -07:00
Jürg Lehni
f4f97cda88 Fix a bug with wrong offsets when rendering nested clips and blend-modes.
And streamline blend-mode and opacity rendering code.
2013-06-18 12:35:57 -07:00
Jürg Lehni
414ac1d092 Fix offset in direct blitting of nested Clip items. 2013-06-18 12:20:21 -07:00
Jürg Lehni
a2cc7e11b3 Clean up blend-mode code a bit. 2013-06-18 11:26:58 -07:00
Jürg Lehni
deebd15f05 Improve comments. 2013-06-18 11:19:56 -07:00
Jürg Lehni
c48ab03050 Add support for native blend-modes.
Already works on Firefox 21.0 and will soon land on other major browsers!
2013-06-18 11:17:15 -07:00
Jürg Lehni
8cf09c08d9 Merge branch 'master' of github.com:paperjs/paper.js 2013-06-18 08:02:22 -07:00
Jürg Lehni
b133d8fe2e Restructure BlendMode code, fix issues with color-dodge and color-burn, and create BlendModes.html example.
All modes should be implemented according to specs now.
2013-06-18 08:02:04 -07:00
Jürg Lehni
1b42822c2d Remove trailing comma. 2013-06-17 16:35:28 -07:00
Jürg Lehni
f350f34eb4 Apply clipping fix not only to blend modes but any operation that draws into a separate canvas. 2013-06-17 16:22:23 -07:00
Jürg Lehni
ab2bfe2d40 Rename nativeDash to dash. 2013-06-17 15:52:16 -07:00
Jürg Lehni
a51745447b Restructure CanvasProvider code and call save() and restore() upon retrieval / release. 2013-06-17 15:24:57 -07:00
Jürg Lehni
d98a9f40cb Correctly fix Line#length documentation. 2013-06-17 15:16:48 -07:00
hkrish
d4d2075040 Fix: Use absolute coordinates from #Curve.getValues() directly while calculating the curvature 2013-06-17 22:27:20 +05:30
Jürg Lehni
8a726f22b2 Clean up comments. 2013-06-17 08:57:30 -07:00
Jürg Lehni
b072df0486 Put isEnd value directly into conditional. 2013-06-17 08:56:42 -07:00
Jürg Lehni
ccd0bf8f6b Simply delegate to Point#getLength() as we already have it. 2013-06-17 08:28:37 -07:00
Jürg Lehni
9463f0078a Fix documentation since Line#vector will be documented as a simple accessor. 2013-06-17 08:28:02 -07:00
Jürg Lehni
18ad8a235d Clean up code to follow Paper.js coding conventions. 2013-06-17 08:26:51 -07:00
Jürg Lehni
be6bbb802d Move calculations of values to where they are needed. 2013-06-17 08:22:28 -07:00
Jürg Lehni
5ff990a84a Fix global variable leakage, and join sequential variable definitions. 2013-06-17 08:10:57 -07:00
hkrish
2693516844 Implement correct method for calculating curvature on a Path 2013-06-17 15:16:11 +05:30
Jürg Lehni
f8367bb0dd More clean-ups. 2013-06-15 05:24:34 -07:00
Jürg Lehni
79785afa2a Minor clean-ups and optimizations of stroke hit-test code. 2013-06-15 05:21:17 -07:00
Jürg Lehni
8c09d19f7c Fix wrong calculation of rough bounds for square caps.
And add some comments to stroke hit-testing code.
2013-06-15 05:15:48 -07:00
Jürg Lehni
26971672b2 Only check segments for miters that are within the limit. 2013-06-15 05:08:12 -07:00
Jürg Lehni
be1098e006 Further improve stroke hit-testing.
Properly detect all miter joins.
2013-06-15 05:06:09 -07:00
Jürg Lehni
d318057897 Implement Segment#getLocation() 2013-06-15 05:05:10 -07:00
Jürg Lehni
1cab9aad90 Improve stroke hit-testing. 2013-06-15 03:12:57 -07:00
Jürg Lehni
eb32bad57e Fix imprecision in #getNearestLocation() 2013-06-15 03:12:29 -07:00
Jürg Lehni
38f832a888 Remove console.log() 2013-06-15 02:25:44 -07:00
Jürg Lehni
8b9fb3741d Implement proper stroke hit-testing for all variations of joins and caps. 2013-06-15 02:24:59 -07:00
Jürg Lehni
e4ba0d80b6 Simple code improvement in #isClockwise(). 2013-06-14 23:18:29 -07:00
Jürg Lehni
4ffcdc3971 Clean up code. 2013-06-14 23:13:54 -07:00
Jürg Lehni
1ae7832ab3 Move calculation of square joins and caps to static methods.
These will be of use when correctly implementing hit-testing of strokes.
2013-06-14 23:11:50 -07:00
Jürg Lehni
ca0e931498 Clean up and simplify getStrokeBounds() code.
Handling of bevel and miter joins can be merged nicely.
2013-06-14 22:57:14 -07:00
Jürg Lehni
1dee05900f Move getArea code to other statics block. 2013-06-13 23:16:44 -07:00
Jürg Lehni
610e396d94 Make Curve#_getCrossings() a static method and have it work on curve values directly. 2013-06-13 23:16:00 -07:00
Jürg Lehni
d6db007765 Fix documentation warning. 2013-06-13 15:57:12 -07:00
Jürg Lehni
01e48b3322 Improve and clean up fat-line bug fix. 2013-06-13 15:53:28 -07:00
Jürg Lehni
38f31be6b2 Clean up and simplify Path#_hitTest() code. 2013-06-13 14:30:52 -07:00
Jürg Lehni
ae474131cc Implement stroke hittesting for Shape.Rectangle. 2013-06-13 10:40:54 -07:00
Jürg Lehni
48fa889e0d Start implementing proper hit-testing for Shapes with strokes.
Support for Shape.Rectangle is still missing.
2013-06-13 10:31:21 -07:00
Jürg Lehni
40dbe7ec74 Fix drawing of Shape.Ellipse items. 2013-06-13 10:30:54 -07:00
Jürg Lehni
d67ce8a103 Fix syntax. 2013-06-13 09:13:42 -07:00
Jürg Lehni
d87937dc03 Fix issue on IE occuring when nodes are removed from DOM. 2013-06-13 09:08:11 -07:00
Jürg Lehni
7f6ac3d8af Changing HIERARCHY also changes GEOMETRY.
Fixes #237.
2013-06-13 08:47:45 -07:00
Jürg Lehni
5250281ab1 Fully support object literal arguments in Shape constructors. 2013-06-12 20:13:39 -07:00
Jürg Lehni
95ecab8a6f Improve handling of merged CompoundPath style through #getStyle().
Only access _style directly in core code if you really know what you're doing!
2013-06-12 20:12:08 -07:00
Jürg Lehni
33eb750586 Simplify Path#hasFill() and implement #hasStroke() as well. 2013-06-12 19:57:05 -07:00
Jürg Lehni
fe10c99d1b Implement standard behavior of #_hitTest() for items without children, based on #_contains().
This should cover the minimum of what's needed for PointText.
2013-06-12 19:30:23 -07:00
Jürg Lehni
463a00bd1e Fix negative bounds height on PointText. 2013-06-12 19:21:46 -07:00
Jürg Lehni
2196ef2a74 Streamline various #equals() methods. 2013-06-12 18:57:12 -07:00
Jürg Lehni
4a8469b740 Define Base.isPlainValue() and use it to implement more flexible #equals() for Color and Rectangle. 2013-06-12 18:55:14 -07:00
Jürg Lehni
294bfc9c9a Improve IE Function#name fix and move it to straps.js, since constructor.name is used there too.
Cache result and improve RegExp.
2013-06-12 18:36:18 -07:00
Jürg Lehni
6fe60cff9d Fix trailing comas. 2013-06-12 17:42:38 -07:00
Jürg Lehni
34ad9045cc Fix wrong default fillColor on TextItems. 2013-06-12 17:30:35 -07:00
Jürg Lehni
cb0dcf1719 Fix accidental global leakage. 2013-06-12 17:27:20 -07:00
Jürg Lehni
d1932124d7 Implement #equals() in Point, Size and Rectangle without argument reading.
Closes #235
2013-06-12 15:28:29 -07:00
Jürg Lehni
1394c36907 Find an elegant way to implement all variations of Rectangle(object) constructors. 2013-06-12 15:08:22 -07:00
Jürg Lehni
7c5478cd93 Define first solution for correctly handling Rectangle(object) constructors.
Work in progress.
2013-06-12 14:57:47 -07:00
Jürg Lehni
b581f8b33e Implement Style#selectedColor and Item#selectedColor as a way to control appearance of selections.
Closes #219.
2013-06-12 14:17:34 -07:00
Jürg Lehni
9977ec5c28 Rename #toCss() to #toCSS() 2013-06-12 14:04:59 -07:00
Jürg Lehni
8c596927fb Store _removeSets per project, not globally. 2013-06-12 13:50:05 -07:00
Jürg Lehni
f59882b757 Handle Tool._removeSets also when there is no corresponding event handler installed.
Closes #204.
2013-06-12 13:46:14 -07:00
Jürg Lehni
f8c36b8276 Adopt Function#name regular expression to accommodate different scenarios of white-spaces. 2013-06-12 08:49:15 -07:00
Jürg Lehni
7a2f577b75 Implement Path#contains() correctly for open paths. 2013-06-12 00:35:34 -07:00
Jürg Lehni
f45a66d2ee Filter out curves with zero length in Path#contains() algorithm.
Fixes #227
2013-06-12 00:19:54 -07:00
Jürg Lehni
3d99b5e931 Fix ADM support to avoid error messages. 2013-06-12 00:07:56 -07:00
Jürg Lehni
b99d54f8c3 Add support for AMD (e.g. require.js)
Fixes #223.
2013-06-11 23:50:59 -07:00
Jürg Lehni
94e07e77f0 Redraw clipItem when drawing into separate canvas for blend-modes.
Closes #228.
2013-06-11 20:41:20 -07:00
Jürg Lehni
20f7c567aa Use Base objects for drawing params, so we can use param.extend() on them for easier overriding. 2013-06-11 20:40:44 -07:00
Jürg Lehni
a7750c3e67 Support null arguments in Point#equals(). 2013-06-11 20:14:45 -07:00
Jürg Lehni
ce7d584c05 Revert readNull and clone parameter sequence in arguments reading code. 2013-06-11 19:49:35 -07:00
Jürg Lehni
2e565dcfce Fix Function#name on browsers that don't support it.
Closes #236.
2013-06-11 19:07:25 -07:00
Jürg Lehni
18383875eb Fix global variable leakage. 2013-06-11 17:46:50 -07:00
Jürg Lehni
375156059d Do not use pathData in JSON for CompoundPaths. 2013-06-11 15:27:04 -07:00
Jürg Lehni
03a7503789 Fix issue in getPathData() with closed CompoundPaths. 2013-06-11 15:26:44 -07:00
Jürg Lehni
f2bb5d07df Let's not go too far with optimizations. 2013-06-11 15:10:02 -07:00
Jürg Lehni
875a766d19 Implement clipPath support in SVGExporter. 2013-06-11 14:50:13 -07:00
Jürg Lehni
35f17979df Improve Node.js XMLSerializer workaround for lowercased tagNames. 2013-06-11 14:39:34 -07:00
Jürg Lehni
d41f79598e Change exportDefinitions() to create an actual <defs> container for definitions. 2013-06-11 14:26:04 -07:00
Jürg Lehni
470cfae9f1 Clean up export code. 2013-06-11 14:15:54 -07:00
Jürg Lehni
a1cab3592b No need to explicitly set fill to 'none' anymore since comparing style with parent handles this for us automatically now. 2013-06-11 14:15:43 -07:00
Jürg Lehni
72082bdcff Fix new failing test. 2013-06-11 13:57:28 -07:00
Jürg Lehni
b4ff0d347e Optimize SVG import for clipped groups. 2013-06-11 12:57:03 -07:00
Jürg Lehni
7faf2a9e70 Clean-up @hkrish's changes a bit. 2013-06-09 18:37:08 -07:00
hkrish
d8498b6418 Remove invalid code and unnecessary comments 2013-06-09 22:02:50 +05:30
hkrish
8758b232f4 Merge branch 'master' into fatline
* master:
  Fix regression in importing SVG viewBox.
  Minor code clean ups.
  Properly fix exporting of classes into Base.exports.
  Switch to HTML5 meta charset tags.
  Fix issues with uglifyjs.
  Include stats.js in distribution so all examples can work.
2013-06-09 18:08:31 +05:30
hkrish
ca2bfb8cab Merge branch 'master' of https://github.com/paperjs/paper.js
* 'master' of https://github.com/paperjs/paper.js:
  Fix regression in importing SVG viewBox.
2013-06-09 18:03:19 +05:30
Jürg Lehni
48651d5fb1 Fix regression in importing SVG viewBox. 2013-06-08 13:44:50 -07:00
hkrish
d6ed9890b8 Merge branch 'master' of https://github.com/paperjs/paper.js
* 'master' of https://github.com/paperjs/paper.js:
  Minor code clean ups.
  Properly fix exporting of classes into Base.exports.
  Switch to HTML5 meta charset tags.
  Fix issues with uglifyjs.
  Include stats.js in distribution so all examples can work.
2013-06-08 23:26:45 +05:30
hkrish
d3405115c1 Use parameter on both curves in CurveLocation objects instead of Point in #getIntersection() 2013-06-08 21:37:43 +05:30
Jürg Lehni
75eddbcdba Minor code clean ups. 2013-06-02 16:18:40 -07:00
Jürg Lehni
b896a98b1e Properly fix exporting of classes into Base.exports. 2013-06-02 16:17:54 -07:00
hkrish
1e86aa4e97 Merge branch 'master' of https://github.com/paperjs/paper.js
* 'master' of https://github.com/paperjs/paper.js:
  Explicitly use bash to avoid build problems on linux.
  Bump version number to 0.9.2
  Fix exporting of Base, Numerical and PaperScript into PaperScope.
2013-05-31 17:21:46 +02:00
Jürg Lehni
a81fdc2758 Fix exporting of Base, Numerical and PaperScript into PaperScope. 2013-05-30 14:37:04 -07:00
hkrish
8d1e5ea144 Merge branch 'master' of https://github.com/paperjs/paper.js
* 'master' of https://github.com/paperjs/paper.js:
  Bump version number to 0.9.1
  Fix issue with local paper variable shielding global one.
  Reset transformation matrix when blitting off-screen canvas.
2013-05-30 23:21:05 +02:00
Jürg Lehni
178b09caa7 Fix issue with local paper variable shielding global one.
We need a cleaner fix for this on the long run.
2013-05-30 11:26:47 -07:00
Jürg Lehni
d76d573eb2 Reset transformation matrix when blitting off-screen canvas.
Closes #233.
2013-05-29 13:52:47 -07:00