Jürg Lehni
91865be8a3
Merge remote-tracking branch 'origin/master' into solve-cubic
...
Conflicts:
src/basic/Line.js
src/path/Curve.js
src/path/PathItem.Boolean.js
src/util/Numerical.js
2015-01-02 16:21:18 +01:00
Jürg Lehni
45c86a3035
Switch to suggested new implementation of Line.getSignedDistance() by @iconexperience
...
Closes #554
2015-01-02 16:17:19 +01:00
Jürg Lehni
878be7962e
Merge branch 'refs/heads/master' into solve-cubic
...
Conflicts:
src/path/Curve.js
src/path/PathItem.Boolean.js
src/util/Numerical.js
2015-01-02 15:33:23 +01:00
Jürg Lehni
95a8539045
Fix size issue on non-resizable HiDPI canvases.
...
Reverting back to original behavior in #586 .
2015-01-02 14:38:06 +01:00
Jürg Lehni
3c31c0e482
Have SVGImport respect the current PaperScope's applyMatrix setting.
2015-01-02 14:19:17 +01:00
Jürg Lehni
a07dc98046
Clean up and simplify code from pull request #580 and fix CSS in examples accordingly.
2014-12-30 00:16:51 +01:00
Jürg Lehni
dfda6cf7b5
Merge branch 'true-resize-canvas' of https://github.com/georeith/paper.js into georeith-true-resize-canvas
2014-12-29 23:56:57 +01:00
Jürg Lehni
66c67fbe94
Improve insertion handling for Item and Layer so insertAbove() / insertBelow() works for Layers too.
...
Closes #603
2014-12-29 23:16:13 +01:00
Jürg Lehni
83dd2034c3
Fix issue where cloned TextItems get always inserted into the scene graph.
...
Closes #606
2014-12-28 19:43:38 +01:00
Jürg Lehni
16105067bf
Correctly handle Item#insertChild(null)
2014-12-28 18:29:20 +01:00
Jürg Lehni
a307bc4d14
Implement recursively
parameter in Matrix#apply(), so matrices can be backed in recursively in children too.
2014-12-28 18:29:04 +01:00
Jürg Lehni
80e64ad0a9
Implement setters for Raster#width and #height, and properly handle these values being set in constructors, along with #size.
...
Closes #557 .
2014-12-28 18:27:32 +01:00
Jürg Lehni
1de750bc77
Check for Path#closed in Path#equals()
2014-12-28 18:10:14 +01:00
Jürg Lehni
7bc6da5401
Do not create entries in Style#_values for default values.
2014-12-28 18:03:41 +01:00
Jürg Lehni
fb890b2c8a
Implement Symbol#equals()
2014-12-28 18:03:19 +01:00
Jürg Lehni
9adbc3774a
Implement unit test comparators for many more types, and start refactoring compareItems() helper.
2014-12-28 16:41:23 +01:00
Jürg Lehni
28538d8a43
Clean up code from #597 a bit.
2014-12-26 06:42:46 +01:00
Jürg Lehni
71e2af9d70
Merge pull request #597 from byte-foundry/simplify_closed
...
fix #572 Handle closed path in PathFitter
2014-12-26 06:30:56 +01:00
Jürg Lehni
b816337e18
Remove legay.js since we're about to hit 2015.
...
Closes #592
2014-12-26 06:21:56 +01:00
Jürg Lehni
4d6f5c259c
Remove non-breaking space.
...
Closes #602 .
2014-12-17 20:07:14 -08:00
louisremi
a9bf0b097e
Handle closed path in PathFitter
2014-12-15 14:56:25 +01:00
Leo Koppelkamm
f1348931bb
Browser detection: Add Atom shell
...
As it a an unsual mix of both node and browser environment at the same time
2014-12-12 20:53:12 +01:00
George Reith
6f1c3145bf
Fixes #580 where resizable views were only taking into account their offset from the top left of the viewport.
2014-12-04 13:01:02 +00:00
Jürg Lehni
f193acf31b
Fix transformation sequence to correctly handle combined rotate and scale commands.
...
Closes #583
2014-12-02 22:31:20 -08:00
Jürg Lehni
318209e9e9
Replace compareNumbers() with equals() and improve numerical tolerance handling in test helpers.
2014-11-30 11:27:14 -08:00
Jürg Lehni
c48f4d772e
Expose #className on all classes that define #_class
...
Closes #576
2014-11-30 11:13:51 -08:00
Jürg Lehni
ed31476dea
Bump version to v0.9.21
2014-11-22 19:23:35 -08:00
Jürg Lehni
7f6bb63683
Correctly handle white-space before first matrix value when handling transform SVG attribute.
...
Closes #531 .
2014-11-22 09:01:01 -08:00
Jürg Lehni
912f7ad629
Allow injection of additional undefined fields through object literal constructors and #set().
2014-11-18 15:24:40 -08:00
Jürg Lehni
d5471c480f
Always return emitter from #on()
2014-11-18 15:05:14 -08:00
Jürg Lehni
19a9976939
Return emitter in #on(), #off(), #once(), so calls can be chained.
2014-11-18 14:56:55 -08:00
Jürg Lehni
0fb7e49248
Return a LinkedPoint from Item#scaling.
...
Closes #544 ,
2014-11-09 07:46:45 -08:00
Jürg Lehni
892c1a28bd
Some code clean-up.
2014-11-08 17:26:43 -08:00
Jürg Lehni
4ab6446e16
Handle horizontal lines properly in Line.getSignedDistance()
...
Closes #546 .
2014-11-08 17:26:13 -08:00
Jürg Lehni
ebdc63fbfa
Use correct formula in Curve#getTangentAt() for end-points when there is no handle.
...
Closes #553 .
2014-11-08 17:16:22 -08:00
Jürg Lehni
bfd3a91df0
Simplify Emitter.inject() a bit, as we only need to handle _events in the first injection scope.
2014-10-21 23:52:53 +02:00
Jürg Lehni
a39eea64e9
Improve docs sequence a bit.
2014-10-20 23:55:24 +02:00
Jürg Lehni
6e9ff38c15
Fix spelling mistakes in docs.
2014-10-20 23:45:33 +02:00
Jürg Lehni
e7707cd354
Implement match.inside and match.overlapping in #getItems(match).
...
Closes #275
2014-10-20 23:35:47 +02:00
Jürg Lehni
99ef521af4
Switch from inline @option tags to real doc tags.
2014-10-20 23:33:28 +02:00
Jürg Lehni
c25548031b
Clean up documentation for Project#getItems() / Item#getItems().
2014-10-20 22:44:15 +02:00
Jürg Lehni
82b988327d
Update docs to use the newly introduced {@option} tag to docuemnt option-style objects.
2014-10-20 22:41:45 +02:00
Jürg Lehni
782bde238c
Find a more general implementation for Item#intersects(item).
2014-10-20 18:00:07 +02:00
Jürg Lehni
5ddbc5b07f
Implement Item#intersects(item)
2014-10-20 17:00:18 +02:00
Jürg Lehni
b3c7be67fc
Support optional hidden matrix argument in #getIntersections()
...
...in order to provide an alternative matrix for the passed path to check against.
2014-10-20 16:53:49 +02:00
Jürg Lehni
4eb06f0849
Implement Item#isInside(rect).
2014-10-20 16:51:28 +02:00
Jürg Lehni
ad50e9f604
Change the way the optional matrix argument is handled in bounds getters.
...
Before it was treated as the paren't matrix and the child's was concatenated to it, but it's more logical and useful to just use it as the full replacement matrix instead.
2014-10-20 16:50:33 +02:00
Jürg Lehni
62e5f3b3ac
Improve / streamline Matrix documentation a bit.
2014-10-20 16:47:41 +02:00
Jürg Lehni
616e848376
Implement handling of empty
and editable
in #getItems(), and simplify code a bit.
2014-10-18 14:32:21 +02:00
Jürg Lehni
e7fd751765
Fix docs issues with Item#matches()
2014-10-18 13:40:36 +02:00
Jürg Lehni
3be1e481e9
Preserve line-breaks when replacing mathematical operators, to not mess with debugging.
2014-10-15 15:30:56 +02:00
Jürg Lehni
be82af9b47
Implement Item#matches(name, compare), along with Item#matches(match).
2014-10-15 15:09:44 +02:00
Jürg Lehni
77f6e68846
Remove documentation for deprecated #attach() methods.
2014-10-15 13:01:59 +02:00
Jürg Lehni
0894e625b0
Fix documentation issues with Path#get*At()
...
Closes #537 .
2014-10-15 13:00:50 +02:00
Jürg Lehni
e5714584ff
Fix return type of #getCurvatureAt() methods.
...
Closes #535 properly this time.
2014-10-15 12:02:21 +02:00
Jürg Lehni
b71e2c69d6
Fix documentation of Curve#getCurvatureAt(), as well as Path#getCurvatureAt() & co.
...
Closes #535
2014-10-14 13:52:57 +02:00
Jürg Lehni
862867ecd2
Bump Acorn version.
2014-10-09 00:17:16 +02:00
Jürg Lehni
3b2a82047e
Clean up event related comments, to reflect recent renaming.
2014-10-08 18:33:17 +02:00
Jürg Lehni
68585276a0
Rename ui folder to event.
2014-10-08 18:32:55 +02:00
Jürg Lehni
f4a36b7cd4
Remove all Palette and Component related code, as it is separated into its own project.
...
https://github.com/lehni/palette.js
2014-10-08 17:43:03 +02:00
Jürg Lehni
f29f3c8b11
Some code clean-up.
2014-10-08 16:36:22 +02:00
Jürg Lehni
8983953ccc
Do not export internal Http module.
2014-10-08 15:58:11 +02:00
Jürg Lehni
3c8331a94e
No longer export DomElement and DomEvent.
...
These are undocumented and meant to be private. They may change a lot still.
2014-10-08 15:55:12 +02:00
Jürg Lehni
a457228846
Fix formatting issues.
2014-10-08 15:52:41 +02:00
Jürg Lehni
c7c49d4091
Time to go with the flow and use the on()/off()/emit() pattern for events.
2014-10-08 14:57:56 +02:00
Jürg Lehni
3dc5c94e25
Rename Callback mix-in to Emitter.
2014-10-08 14:13:08 +02:00
Jürg Lehni
d2c2b0a7fd
Implement ruler component, and only use palettejs-input id for actual inputs that can have labels.
2014-10-08 00:24:27 +02:00
Jürg Lehni
2217bc2c29
Only expose observed component value in values object if it was already defined there initially.
...
It seems like too much magic to expose values defined on components there too.
2014-10-08 00:23:52 +02:00
Jürg Lehni
d4c509b4d4
Allow finding of palettes by their ids.
2014-10-07 23:42:40 +02:00
Jürg Lehni
369fcfc7cf
Add disabled class to components that have enabled = false.
2014-10-07 23:42:03 +02:00
Jürg Lehni
a92b8eb591
Correctly name boolean getters.
2014-10-07 23:41:26 +02:00
Jürg Lehni
c405c78d41
Implement #element getters to get the native DOM element on Palette and Component.
2014-10-05 12:35:33 +02:00
Jürg Lehni
90d088e708
Switch to object literal constructor for Palette and support props.parent, to set a palette's parent in the DOM.
2014-10-05 12:33:40 +02:00
Jürg Lehni
689e150bb7
Use <span> for text components so they can have a suffix as well.
2014-10-05 12:18:18 +02:00
Jürg Lehni
ca730cd76e
Rename _input to _element since it can be other things than <input>, and simplify <button> handling.
2014-10-05 11:17:53 +02:00
Jürg Lehni
8344ea9639
Switch from <input type="button"> to <button> for button components, and allow #text as an alias to #value for better semantics.
2014-10-05 11:14:02 +02:00
Jürg Lehni
6e4c2ebc64
Use an injection loop to produce all methods that simply forward from Palette to root Component.
2014-10-05 00:23:16 +02:00
Jürg Lehni
5456f1a595
Clean up DOM code a bit.
2014-10-05 00:19:47 +02:00
Jürg Lehni
9fec267dd4
Implement table captions through Palette#title / Component#title.
2014-10-05 00:11:29 +02:00
Jürg Lehni
b9af3af6f4
Bring back change event to Palette.
2014-10-04 19:51:10 +02:00
Jürg Lehni
6b9a40d987
Improve documentation of components code.
2014-10-04 19:46:44 +02:00
Jürg Lehni
5f7fd42bcb
Add comment about layout components.
2014-10-04 19:39:17 +02:00
Jürg Lehni
ddc7675c13
Improve Component layout class name handling.
2014-10-04 19:35:26 +02:00
Jürg Lehni
22d79948a0
Rename horizontal
to columns
2014-10-04 19:02:56 +02:00
Jürg Lehni
73529f0170
Merge Pane functionality into Component.
...
Work in progress.
2014-10-04 18:58:11 +02:00
Jürg Lehni
e46a1d24da
Move View classes to their own folder.
...
That's not really UI.
2014-10-04 16:51:58 +02:00
Jürg Lehni
5b71dabba2
Rename 'pane' Component to 'column'.
2014-10-02 20:02:04 +02:00
Jürg Lehni
aa73083d4f
Make sure nested components are available through the components hierarchy.
2014-10-02 19:41:39 +02:00
Jürg Lehni
4ef4a293ea
Expose child components.
2014-10-02 19:20:03 +02:00
Jürg Lehni
fe019f926e
Fix Component#setSuffix()
2014-10-02 18:59:26 +02:00
Jürg Lehni
88bc14f597
Clean up Pane code a bit.
2014-10-02 18:45:51 +02:00
Jürg Lehni
8907662524
Use this._set() instead of Base.set(), since it filters for existing properties.
2014-10-02 18:35:03 +02:00
Jürg Lehni
fd6741ce5a
Implement Component type 'pane' and merge more functionality with 'row'.
2014-10-02 18:16:38 +02:00
Jürg Lehni
99d46b4478
Restructure Component constructor to facilitate upcoming 'pane' Component type.
2014-10-02 17:09:40 +02:00
Jürg Lehni
85fbc94f41
Move Palette related functionality form Pane to Palette constructor.
2014-10-02 17:09:08 +02:00
Jürg Lehni
e1fba03b34
Make Component#enabled work for row type.
2014-10-02 17:02:26 +02:00
Jürg Lehni
f4c4522c18
Remove references to this
in DomElement os we can call method references directly, and always check el for null.
2014-10-02 17:00:40 +02:00
Jürg Lehni
7194d4bcf0
Fix palette labels and improve CSS id / class structure.
2014-10-02 16:30:27 +02:00
Jürg Lehni
54de02149b
Implement 'row' type component, for multiple components per row in palettes.
2014-10-02 16:05:56 +02:00
Jürg Lehni
09a4defb73
Separate Palette into Pane and Palette to prepare for nested UIs.
2014-10-02 09:45:19 +02:00
Jürg Lehni
47c225a782
Fix typo.
...
As reported by https://github.com/paperjs/paperjs.org/pull/7
2014-10-02 01:03:39 +02:00
Jürg Lehni
139adc72de
Implement object literal constructor for Palette.
2014-09-30 08:20:44 +02:00
Jürg Lehni
d6481bcb5b
Implement Component#enabled and Palette#enabled
2014-09-30 08:20:18 +02:00
Jürg Lehni
021ba59c54
Implement Component#visible.
2014-09-30 08:16:26 +02:00
Jürg Lehni
c7970e367d
Always set Component#value at the end of all other values.
...
Closes #365 .
2014-09-29 17:15:33 +02:00
Jürg Lehni
24a80dca27
Remove debug logging.
2014-09-29 16:12:50 +02:00
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