Jürg Lehni
00f710b599
SvgExporter: Rearrange code sequence.
2012-11-06 11:00:58 -08:00
Jürg Lehni
b24ee0de66
Document isColinear() and isArc().
2012-11-06 10:55:53 -08:00
Jürg Lehni
7dc453b58b
No need to escape ) inside [] in regular expressions.
2012-11-06 10:52:03 -08:00
Jürg Lehni
19fe762e10
SvgImporter: Rename all attributes and styles related functions to use shorter names.
2012-11-06 10:49:34 -08:00
Jürg Lehni
e26b56f88e
SvgImporter: Further optimise style parsing.
2012-11-06 10:43:32 -08:00
Jürg Lehni
dd3a242ee1
SvgImporter: Improve 'none' style handling, and shorten code.
2012-11-06 10:37:03 -08:00
Jürg Lehni
7b32e611b7
Use SVG type to determine Group constructor, not a function factory.
2012-11-06 10:29:14 -08:00
Jürg Lehni
09e845cfd1
SvgImporter: Move importPath() to its own function and restructure importer sequence.
2012-11-06 10:28:34 -08:00
Jürg Lehni
fd8fe9c08e
Rename CompoundPath#simplify() to #flatten() to avoid clashes with Path#simplify(), and add Path#flatten(), returning itself.
2012-11-06 10:16:03 -08:00
Jürg Lehni
d9bfc2fa35
Implement Matrix support in SvgExporter.
2012-11-06 10:04:04 -08:00
Jürg Lehni
a6b8201cf4
Minor clean-ups.
2012-11-06 10:04:04 -08:00
Jonathan Puckey
d1eb09176f
SVGImporter: add support for clip-path.
2012-11-06 18:14:17 +01:00
Jonathan Puckey
9f3a0fc002
SVGImporter: fix importing of visibility attribute.
2012-11-06 18:12:55 +01:00
Jonathan Puckey
f825969570
SVGImporter: add comments linking to the SVG specification.
2012-11-06 18:11:54 +01:00
Jonathan Puckey
bda7c71fcb
Fix problem when calling new Group([]).
2012-11-06 18:07:51 +01:00
Jonathan Puckey
33c13b36a3
Fix drawing of groups where a compound path is used as a clip mask.
2012-11-06 18:07:51 +01:00
Jürg Lehni
88a7fcc92b
Convert null to 'none' as style values.
2012-11-06 08:22:22 -08:00
Jürg Lehni
9ad0cb5d63
Implement roundrect conversion properly.
2012-11-06 08:02:46 -08:00
Jürg Lehni
18b6ad4907
Simplify roundrect detection since we assume the same point sequence always.
2012-11-06 07:52:45 -08:00
Jürg Lehni
40390f8309
Make drawCurve() a private function of drawPath().
2012-11-06 07:49:31 -08:00
Jürg Lehni
3c14b3042b
Remove isOrthogonal() as we don't use it anymore.
2012-11-06 07:47:31 -08:00
Jürg Lehni
7acd82b3f5
More work on primitive shape detection.
...
Implement roundrect properly.
2012-11-06 07:46:59 -08:00
Jürg Lehni
dbdf75c998
Make new drawPath() code actually work.
2012-11-06 07:31:29 -08:00
Jürg Lehni
b354e01f49
Move Base.equals() to Base extension, where it belongs.
2012-11-06 07:19:04 -08:00
Jürg Lehni
1fad063a30
Revert to version without optional digits, for speed reasons.
...
Since we don't actually use the other version anywhere.
2012-11-06 07:17:14 -08:00
Jürg Lehni
aa35226916
No need for two parameter version of formatPoint().
2012-11-06 07:16:25 -08:00
Jürg Lehni
ab633f15ac
Add optional digits precision to Base.formatNumber, default to 5.
2012-11-06 07:15:01 -08:00
Jürg Lehni
345309867e
Implement number formating in SvgExporter, and further simplify drawPath().
2012-11-06 07:14:11 -08:00
Jürg Lehni
4c51544b6e
Implement correct checks for primitives (rect, ellipse, circle).
2012-11-06 01:22:16 -08:00
Jürg Lehni
a6d19ac681
More work on SvgExporter code.
2012-11-05 23:45:23 -08:00
Jürg Lehni
ad76e65119
Further optimise determination of rotation and start implementing rotating of primitives.
2012-11-05 23:27:02 -08:00
Jürg Lehni
a5cdb5492c
Optimise Point#rotate(0)
2012-11-05 23:23:25 -08:00
Jürg Lehni
fe4da8e7a4
Embed determineIfTransformed() code into exportPath().
2012-11-05 21:24:01 -08:00
Jürg Lehni
ce5ee2dae8
Simplify exportPath().
2012-11-05 21:19:53 -08:00
Jürg Lehni
ab014c3328
Clean up determineType() and roundrect code.
2012-11-05 21:16:36 -08:00
Jürg Lehni
64b9daacd0
Code clean-up.
2012-11-05 21:06:56 -08:00
Jürg Lehni
6e0f29bf4a
Rename Path#closed getter to #isClosed() instead of #getClosed().
2012-11-05 21:06:47 -08:00
Jürg Lehni
400b454177
Introduce Numerical.isZero(), for comparisons against 0 with a tolerance.
2012-11-05 21:06:13 -08:00
Jürg Lehni
125fa1c051
Split SVG exporters apart more, and organise code better.
2012-11-05 20:50:31 -08:00
Jürg Lehni
f576ca3e9e
More SvgExporter simplifications.
2012-11-05 20:31:45 -08:00
Jürg Lehni
5a061da4e3
Introduce private getDistance() function for shorter code.
2012-11-05 20:10:31 -08:00
Jürg Lehni
7511511ec7
More SVG path code simplifications.
2012-11-05 20:06:54 -08:00
Jürg Lehni
a9a14fb458
More work on SVG path commands.
2012-11-05 20:03:03 -08:00
Jürg Lehni
d3d74fb513
Further simplify SvgExporter code.
2012-11-05 19:56:49 -08:00
Jürg Lehni
37f87a3c03
Some minor clean-ups in importer.
2012-11-05 19:48:00 -08:00
Jürg Lehni
b559f6e4f3
Merge polyline and polygon code.
2012-11-05 19:47:47 -08:00
Jürg Lehni
2c17ff7831
Directly access private properties rather than using getters.
2012-11-05 19:45:18 -08:00
Jürg Lehni
a0a04a0bc1
Remove separate point, handleIn and handleOut arrays and just use segments instead.
2012-11-05 19:44:23 -08:00
Jürg Lehni
4c93ce546a
There is no font attribute on Path#style.
2012-11-05 19:32:39 -08:00
Jürg Lehni
6211bc7ed6
More work on SvgStyles.
2012-11-05 19:26:54 -08:00
Jürg Lehni
03b94a92b5
More work on style meta-data, and fix yet another default style issue.
2012-11-05 19:03:42 -08:00
Jürg Lehni
07ce57c456
Implement SvgStyles as meta information about style-attribute mappings for both Svg Importer and Exporter.
2012-11-05 18:58:16 -08:00
Jürg Lehni
3714cd8706
Fix typo.
2012-11-05 18:27:50 -08:00
Jürg Lehni
05bf52b6af
Minor tweaks in SvgImporter code.
2012-11-05 18:27:13 -08:00
Jürg Lehni
f6c7143920
Implement constant substitution for SVG constants.
2012-11-05 18:26:29 -08:00
Jürg Lehni
35568c15f2
Implement transparent constant-substitution in prepro.js to shave of some extra bytes of final distribution file.
2012-11-05 18:11:44 -08:00
Jürg Lehni
65f1e5c66d
Improve style handling in SvgExporter.
2012-11-05 09:05:32 -08:00
Jürg Lehni
61531949b0
Rework horizontal / vertical lineto command code a bit.
2012-11-05 08:54:10 -08:00
Jonathan Puckey
6f19f64233
SvgImporter: fix support for vertical and horizontal lineTo commands.
2012-11-05 16:16:36 +01:00
Jürg Lehni
973211bbe2
Improve style handling in SvgExporter.
...
Work in progress, with some regressions for now.
2012-11-04 09:01:11 -08:00
Jürg Lehni
b979c3b362
Define Base.equals(), supporting Arrays and Objects.
...
And use it for style comparisons.
2012-11-04 09:00:40 -08:00
Jürg Lehni
0eaabd667c
Further clean up exporter code.
2012-11-04 00:09:44 -07:00
Jürg Lehni
e2cf7e1ace
Use Path#isPolygon() in SvgExporter.
2012-11-04 00:04:15 -07:00
Jürg Lehni
1050e3314e
Implement Segment#isLinear() and Path#isPolygon().
2012-11-04 00:03:49 -07:00
Jürg Lehni
5577e7e1ee
Start restructuring SvgExporter, similar to SvgImporter.
2012-11-03 23:43:45 -07:00
Jürg Lehni
19d145f281
Introduce Item#type, returning a simple item type string identifier.
2012-11-03 23:43:18 -07:00
Jürg Lehni
6ed1d67ada
Modernize Bootstrap.js, introduce Base.create() and use it instead of the Constructor.dont hack for object creation without the calling of initialize.
2012-11-03 21:49:37 -07:00
Jürg Lehni
420e62e1dc
Simplify compound path support in SvgImporter a little.
2012-11-03 19:45:19 -07:00
Jürg Lehni
07c0b6ce6a
Improve Path#moveTo behavior()
...
Allowing it to be called multiple times before any other drawing commands.
2012-11-03 19:45:02 -07:00
Jürg Lehni
76dab534a9
Add half-assed support for fill-opacity / stroke-opacity.
2012-11-03 19:28:18 -07:00
Jonathan Puckey
b0a82fdc06
SvgImporter: Fix importing of compound-paths.
2012-11-03 22:38:36 +01:00
Jürg Lehni
ddddd499ca
Avoid name-clash with recently renamed variable.
2012-11-02 22:57:19 -07:00
Jürg Lehni
93372da384
Further shorten code.
2012-11-02 22:57:06 -07:00
Jürg Lehni
57103545cb
Rename some variables.
2012-11-02 22:53:33 -07:00
Jürg Lehni
c755eba0c2
Switch to using Base.camelize().
2012-11-02 22:53:24 -07:00
Jürg Lehni
4cd6d6f230
Add support for conversion of text-anchor to justification.
2012-11-02 21:11:30 -07:00
Jürg Lehni
81f8c32d7b
Replace SVGTransform constants with their numeric values as well.
2012-11-02 20:21:08 -07:00
Jürg Lehni
9fbe1260b2
Comment out ARC code for now.
2012-11-02 20:11:40 -07:00
Jürg Lehni
964eb521ee
Clean up and Streamline path importer.
...
Replacing SVGPathSeg constants with numeric values should reduce code quite a bit.
2012-11-02 20:09:12 -07:00
Jürg Lehni
d600536390
Shorten applyTransform().
2012-11-02 19:39:59 -07:00
Jürg Lehni
99a39bebc3
Clean up applyAttributeOrStyle().
...
Do not use style properties directly, but setters instead.
2012-11-02 19:26:15 -07:00
Jürg Lehni
118a02bf05
Restructure SVGImporter code a bit.
2012-11-02 19:16:23 -07:00
Jürg Lehni
d52fff7425
Shorten importAttributesAndStyles()
2012-11-02 19:11:28 -07:00
Jürg Lehni
8790bc5533
Improve loops.
2012-11-02 19:11:16 -07:00
Jürg Lehni
905d1106d4
Fix SVGImporter tests for all polygon related code.
...
#length was used instead of #numberOfItems.
2012-11-02 19:10:58 -07:00
Jürg Lehni
6937d4c3be
Fix index lookup in getValue().
2012-11-02 19:05:21 -07:00
Jürg Lehni
3c88614a86
Heavily shorten SvgImporter code by introducing a couple of helpers.
2012-11-02 19:04:29 -07:00
Jürg Lehni
95b9b81c81
Refactor SvgImporter to new structure using real private functions and importers lookup-table.
2012-11-02 18:40:41 -07:00
Jürg Lehni
ebadef8b1d
A couple of smaller changes.
2012-11-02 18:23:37 -07:00
Jürg Lehni
cc503cb149
Rename fake 'roundRect' type to 'roundrect'.
2012-11-02 18:23:23 -07:00
Jürg Lehni
c2ac16a481
Change for-loops format.
2012-11-02 18:22:38 -07:00
Jürg Lehni
b284a42a56
Rework SvgExporter. _determineType. A lot more work needs to be done...
2012-11-02 18:22:01 -07:00
Jürg Lehni
086334773e
Rework and improve SVG documentation and remove too obvious docs for hidden functions.
2012-11-02 18:14:20 -07:00
Jürg Lehni
204eaa9dcc
Fix white-spaces in comments.
2012-11-02 17:47:14 -07:00
Jürg Lehni
1ce332756e
Rename ImportSvg to SvgImporter, and ExportSvg to SvgExporter.
2012-11-02 17:40:07 -07:00
Jürg Lehni
ab02023adf
Do not create extra points when asked to produce a round rectangle with no radius.
2012-11-02 17:04:21 -07:00
Jürg Lehni
80315e3e52
More SVG refactoring: Fix comments, documentation, and for-in loops.
2012-11-02 16:51:42 -07:00
Jürg Lehni
88dff19f73
Define squared parameter in Point#getDistance() as optional.
2012-11-02 16:45:46 -07:00
Jürg Lehni
b22ff5ecca
Revert a recent change in selection handling.
2012-11-02 16:27:59 -07:00
Jürg Lehni
69dc8be629
Switch from using classes to object literals for SVG exporter / importer.
2012-11-02 16:19:45 -07:00
Jürg Lehni
ee65ee1026
Clean up and improve PaperScript code a bit.
2012-11-02 15:58:41 -07:00
Jürg Lehni
04df1a0d4a
Always set canvas size, to avoid zooming pixels if size is set to a percentage.
2012-10-31 09:49:42 -07:00
Jürg Lehni
bdb74b67e2
Define #isActive() for PaperScopeItems.
2012-10-30 11:43:40 -07:00
Jürg Lehni
96e1765e4f
Do not implicitly use getTool() getter since it creates tools when none exists.
2012-10-30 11:43:06 -07:00
Jürg Lehni
155b6046cb
Some more SVG code refactoring.
2012-10-27 19:25:52 -07:00
Jürg Lehni
44fc5939e5
Simplify name-space element creation in SVG module.
2012-10-24 20:21:59 -07:00
Jürg Lehni
4a74cf9e29
Improve Paper code editor to also display errors.
2012-10-23 20:05:01 -07:00
Jürg Lehni
7096b37b2e
Change the way canvases get temporarily focused when there is more than one and the mouse is outside all of them.
...
Closes #115 .
2012-10-22 18:03:57 -07:00
Jürg Lehni
20797b8cc3
Avoid name clash between View._handlers and Callback._handlers that keeps track of installed handlers.
...
Closes #109 .
2012-10-22 17:38:40 -07:00
Jürg Lehni
46de04d29d
Properly rename SVG files.
...
Case-insensitive file system – an endless source of pain.
2012-10-22 17:31:11 -07:00
Jürg Lehni
d4a60fb62a
More SVG code refactoring.
...
Follow coding conventions and fix some forgotten renamings.
2012-10-22 16:31:08 -07:00
Jürg Lehni
160095d6e3
Rename SVG to Svg to follow naming convention.
2012-10-22 19:17:11 -04:00
Jürg Lehni
6b50641c18
Add documentation for Item#_getChildren().
2012-10-22 19:07:22 -04:00
Jürg Lehni
659b431404
Merge branch 'refs/heads/Stetson-Team-Alpha-master'
2012-10-22 18:56:50 -04:00
Jürg Lehni
f6f80e4061
Implement CompoundPath#contains() and #hitTest() correctly.
...
And change the way that styles are stored on CompoundPaths: Not in the first child but in the item itself.
2012-10-22 18:48:51 -04:00
Jürg Lehni
f73717a7e7
Fix issues in Numerical.solveQuadratic(), solveCubic() and Path#contains().
...
Closes #71 .
2012-10-22 18:21:33 -04:00
Jürg Lehni
63640cad03
Fix issue with hit-testing of translated rasters and other items.
...
Use the untransformed point in the initial bounds check. Closes #45 , #86 .
2012-10-20 16:54:39 -04:00
Jürg Lehni
317fcf5432
Only include strokeWidth in roughBounds if a strokeColor is actually set.
2012-10-20 16:01:53 -04:00
Jürg Lehni
3b50b3534f
Merge branch 'master' of https://github.com/Stetson-Team-Alpha/paper.js into Stetson-Team-Alpha-master
...
Conflicts:
build/jsdoc-toolkit
dist/paper.js
2012-10-19 09:39:36 -04:00
Jürg Lehni
f87eadecda
Correct default value for clockwise in arcTo().
2012-10-19 09:18:10 -04:00
Jürg Lehni
6441a682a8
Fix new error in quadraticCurveTo().
...
We don't seem to have test-cases for these yet.
2012-10-18 14:29:53 -07:00
Jürg Lehni
30374ae3b4
Implement proper index independent argument list reading of basic types.
...
Implemented for Point, Size, Rectangle and Color.
2012-10-18 14:24:15 -07:00
Jürg Lehni
6f2ff18fa1
Bring back fallback scenario in Point#initialize().
2012-10-15 17:13:20 -07:00
Jürg Lehni
db93544e8c
Restructure Point#initialize() to reflect new findings regarding typeof performance.
...
typeof val === 'undefined' is way faster than val === undefined.
2012-10-15 17:11:11 -07:00
Jürg Lehni
44ad4d885a
Update link to Kaspar Fischer's PDF with new URL.
2012-10-15 15:48:38 -07:00
Jürg Lehni
e17e94b50b
Implement Item#isEmpty() for the various types.
...
And use it to tell #getBounds() when to ignore items.
2012-10-10 20:11:11 -07:00
Jürg Lehni
adb2ddc615
Fix CompoundPath#insertChild.
...
It was not returning success values and thus broke some tests.
2012-10-10 19:54:32 -07:00
Jürg Lehni
ef59ad2875
Improve selection handling and drawing for Path item.
...
In a way that makes more sense when building tools.
2012-10-10 19:33:42 -07:00
Jürg Lehni
7329f4ef77
Improve handling of owner referencing in colors.
...
Allow one owner per Color only and clone colors when setting color styles. Gradient can still have multiple GradientColor owners. Closes #124 .
2012-10-10 19:27:14 -07:00
Jürg Lehni
4d1920ee8b
Improve Base.read() to support cloning of objects that are already provided in the required type.
2012-10-10 19:26:00 -07:00
Jürg Lehni
523736d9e5
Handle view redraws correctly for all selection changes.
2012-10-08 23:12:43 -07:00
Jürg Lehni
ed9037deb1
Fix white-space.
2012-10-08 18:44:08 -07:00
Jürg Lehni
f75386e8fb
No need to check _windowHandlers, as DomEvent.remove does the right thing either way.
2012-10-08 18:09:41 -07:00
Jürg Lehni
e9985a04a8
Merge branch 'master' of github.com:paperjs/paper.js
2012-10-08 18:06:27 -07:00
Jürg Lehni
08cb7c76ea
Clean up resize handlers when removing resizing views.
...
Closes #121 .
2012-10-08 18:05:44 -07:00
Jonathan Puckey
e3518c29b1
Fix issue where adding the children of one group to another using Item#insertChildren / Item#addChildren does not work.
...
This fixes #119 . To avoid duplication I chose to call
Item#insertChildren from Item#addChildren.
2012-10-06 13:08:07 +02:00
Jürg Lehni
6b08d96c45
Fix issue where out handle was compared to the wrong segment point when drawing.
...
This should fix #106 but needs to be verified before we can close the bug.
2012-10-05 19:08:31 -07:00
Jürg Lehni
77296c4640
Update documentation a bit.
2012-10-05 16:09:15 -07:00
Jürg Lehni
b29995f376
Clean up code.
2012-09-30 19:50:42 -07:00
Jürg Lehni
c51f2a0d3b
Remove unnecessary variable declarations.
2012-09-30 19:50:30 -07:00
Andrew
2508136602
Got rid of swp files
2012-09-30 21:17:02 -04:00
jaroles
981f113652
Update src/svg/ExportSVG.js
2012-09-30 22:11:00 -03:00
skierons
a1bb8651a3
Update src/svg/ExportSVG.js
2012-09-30 19:05:21 -03:00
Andrew
c6c460519e
Merging all the magic
2012-09-30 17:51:50 -04:00
Justin Ridgewell
f46c77c699
Reset files to stubs
2012-09-30 17:24:18 -04:00
Jürg Lehni
199d19a237
Minor code clean-up.
2012-09-30 14:09:59 -07:00
Jürg Lehni
59a55f7574
Merge branch 'master' of github.com:paperjs/paper.js
2012-09-30 14:08:44 -07:00
Jürg Lehni
2c5c4ae423
Improve documentation of Rectangle#intersects.
2012-09-30 14:08:02 -07:00
Jürg Lehni
99ac617ded
Inject HitResults fields as enumerable, so the default #toString works, and avoid listing getColor.
2012-09-30 14:07:27 -07:00
Jürg Lehni
9e61995282
Handle parameter matching of beginning and ends of curves separately.
2012-09-30 14:06:31 -07:00
Jürg Lehni
93ba19f7e2
Define key-code for tab key.
2012-09-30 14:05:51 -07:00
Jürg Lehni
c3f051583c
Remove unnecessary return statement.
...
This code can never be reached.
2012-09-30 14:05:34 -07:00
AWagenheim
205586bbbd
Update src/svg/ImportSVG.js
2012-09-19 16:42:00 -03:00
AWagenheim
bd83a434ff
Update src/svg/ImportSVG.js
2012-09-19 16:41:22 -03:00
AWagenheim
ed6007004a
Update src/svg/ImportSVG.js
2012-09-18 22:12:28 -03:00
AWagenheim
555d179978
Added comments to ImportSVG.js
2012-09-18 21:11:01 -04:00
AWagenheim
ce7e0cd349
Added comments to ImportSVG.js
2012-09-18 21:08:04 -04:00
skierons
6c1c6bc2d5
Created an SVGRect.html to test exporting and modified SVGCircles.html for
...
easier testing.
2012-09-17 19:34:46 -04:00
jnighlight
67f7ece09e
Added comments
...
Code should be easier to understand.
2012-09-17 01:30:51 -04:00
jnighlight
aca3ed67a2
Cleaned up ExportSVG for general purpose.
...
Removed all lines written for testing purposes, saved them in a text
document for possible future reference. Code should look a lot more clean
and linear with all the stuff removed.
2012-09-17 00:34:55 -04:00
skierons
b582e96d76
Made changes to SVGCircles to be able to have an easier time reading the
...
data from the circle. Also, made an SVGRect html to test rectangles. No
other changes than that. Still working on telling the types of points from
Paths that we make. The curveTo's and arcTo's are giving us the most
trouble. LineTo's are points with 0 values for the handles. Jacob will
clean up the code for the walkthrough tomorrow. There we can figure out
how to solve this problem and hopefully finish up the exportPath method.
2012-09-16 23:52:09 -04:00
jnighlight
f43abe2f32
Mostly more Experimenting, commiting it for practicing across computers.
...
Noticed that curveto and quadratic bezier curveto can be differentiated by
format of the handleIn/handleOut variables in each segment (we think) If
either handleIn.x and handleOut.x = 0 OR handleIn.y and handleOut.y = 0,
then that means the curve is a simple curveTo tag in SVG. If handleIn.x =
-handleOut.x AND handleIn.y = -handleOut.y, then you have a quadriatic
Bezier Curveto in SVG (using the Q tag). We *HOPE* and think that that
curveTo(through, to) (a method creating an arc that passes through the
"through" point and ends at the "to" point) simply creates 2 segments,
each with a handleIn and Out, which can be read and put into SVG
seperately, making our lives a lot easier. Created more SVG test files.
Made RGBConverter more efficient with another method to help reduce copied
lines of code.
2012-09-16 15:38:22 -04:00
Justin Ridgewell
76303bb756
Merge branch 'ImportSVG'
2012-09-16 01:15:37 -04:00
Justin Ridgewell
799d7cacf1
Merge branch 'master' of git://github.com/Stetson-Team-Alpha/paper.js
2012-09-16 01:12:09 -04:00
Justin Ridgewell
64f34e6dfd
Add _importText
2012-09-16 01:02:23 -04:00
Justin Ridgewell
2952e01fc5
Change the import* functions to private
2012-09-16 01:02:00 -04:00
Justin Ridgewell
9218664a67
Remove the initialize function
...
I'm not using it for anything
2012-09-16 01:01:28 -04:00
skierons
2f5dcce61d
Jacob and I added a bit to the exportPath class. The initialize function
...
was not working correctly and JT said he would fix that. So we initialized
svgObj in the function for the meantime. We added svgRect and svgPoint
objects for testing purposes to figure out the xml svg format. Recovered
points, strokecolor, fillcolor, and stroke width from the input path. The
last thing we need to do for extracting path data is to find the point
definitions for each point in the path. Waiting on response from head
coders to find out what type of path is passed in for simple conversions
(such as: Rectangle path, Circle path, etc.). We added a method called
RGBConverter to covnert colors into hexadecimal format for xml.
2012-09-16 00:13:14 -04:00
Justin Ridgewell
2ce23aacc2
Implement importSVG, importGroup, and importPath
2012-09-16 00:10:14 -04:00
Justin Ridgewell
8cf70ca6e1
Rename the create* functions to import*
...
Keeps in line with the naming of the other functions
2012-09-16 00:09:39 -04:00
Justin Ridgewell
edd8f67f8d
Fix error
...
Shouldn't have two of these...
2012-09-16 00:09:02 -04:00
Justin Ridgewell
7879b4b61b
Convert from 4 spaces to tabs
...
Oops. Paper.js uses tabs…
2012-09-15 23:58:39 -04:00
Justin Ridgewell
bbef9a9594
Add a few helper functions
...
These will convert directly from SVG objects to Paper.js equivalents.
2012-09-15 22:26:43 -04:00
Justin Ridgewell
8659c6b44c
Reformat the code to match the rest of Paper.js
2012-09-15 22:25:19 -04:00
Justin Ridgewell
9f1d840ada
Todos
2012-09-15 22:17:06 -04:00
Justin Ridgewell
d978520ba3
Reformat code to match the rest of Paper.js
2012-09-15 22:16:07 -04:00
Justin Ridgewell
24f0535bb6
Convert tabs to 4 spaces
2012-09-15 19:59:53 -04:00
Justin Ridgewell
1efd36c179
Strip trailing whitespace
2012-09-15 19:58:44 -04:00
Jt Whissel
1ccd5199b5
Added the new classes to work with, that also have the method stubs inside.
2012-09-13 20:45:27 -04:00
Jonathan Puckey
7247c1a5a2
Fix Node.js support.
2012-09-01 19:27:38 +02:00
Jonathan Puckey
2a0f322c22
Point#getLength: access to out of bounds index in arguments array prevented function from being optimized.
2012-07-25 20:02:04 +02:00
Jonathan Puckey
d20fb61c7c
Cleanup code.
2012-04-25 20:47:53 +02:00
Jonathan Puckey
10ae88e90c
Merge pull request #84 from luckyvoice/merge
...
_length cache in Curve is not updated when the Path is transformed
2012-04-25 11:38:31 -07:00
Carlo Alberto Ferraris
9e79231198
Remove trailing comma
...
Closure compiler chokes on it.
2012-04-09 10:28:09 +03:00
Oliver Beattie
457e96ac2b
Remove unused delta variable from Item.fitBounds
2012-03-17 17:09:59 +00:00
Oliver Beattie
3c7563a3bf
When a path is transformed, the _length cache of its Curves should be invalidated
2012-03-17 17:09:54 +00:00
Jonathan Puckey
08c02a66f1
Fix Item#insertAbove(item) & Item#insertBelow(item). Closes #81
2012-03-13 15:58:52 +01:00
Jonathan Puckey
31b5a0647e
Add change tracking to Gradient & GradientStop.
2012-03-04 19:14:13 +01:00
Jonathan Puckey
d78103339d
Make sure value exists.
2012-03-03 21:12:11 +01:00
Jonathan Puckey
4d21e219c0
Merge pull request #74 from jonobr1/patch-1
...
Based on logic, I think the else if statement means to refer to c1 rathe...
2012-03-02 03:30:25 -08:00
Jonathan Puckey
b0aa54bf56
Add missing ImageData relating functions to ProxyContext and fix problem where values weren't being returned.
2012-03-02 12:23:32 +01:00
Jonathan Puckey
2fff5b4f79
Group: fix clipping. Fixes #66
2012-03-02 11:54:11 +01:00
Jonathan Puckey
c339ffca35
Close closed paths when drawing using Context#closePath(). Fixes #72
2012-03-01 23:25:00 +01:00
Jonathan Puckey
b75e75f586
Cleanup and fix ProxyContext.
2012-03-01 23:20:15 +01:00
Jonathan Puckey
507ff8bb23
Add ProxyContext helper class to assist in debugging problems relating to interactions with the canvas' 2d context.
2012-03-01 22:25:35 +01:00
Jonathan Puckey
7093b73d31
Cleanup last merged pull request.
2012-03-01 17:06:39 +01:00
Jonathan Puckey
0d53b284e3
Merge pull request #75 from abuchanan/path-reverse-segment-siblings
...
Path.reverse() should adjust segment indices
2012-03-01 08:01:20 -08:00
Jonathan Puckey
a343724094
Item#setName: Check for Item#_parent to avoid errors in removed items and top level groups. Fixes #76
2012-03-01 16:43:05 +01:00
Alex Buchanan
f1a6357a05
Path.reverse() should adjust segment indices
2012-02-18 15:13:23 -08:00
Jono Brandel
ad811827fc
Based on logic, I think the else if statement means to refer to c1 rather than c0 again, but I'd like to verify with you guys.
2012-02-07 09:10:33 -08:00
Jonathan Puckey
772174cedc
Documentation for Tool and View event handling.
2012-02-02 11:45:02 +01:00
Jürg Lehni
1e0f779ea5
Make the hit test point transformation sticky.
...
So it propagates through the DOM levels.
2011-12-28 09:13:42 +01:00
Jürg Lehni
50e1509ab9
Simplify some code in #getAverageColor().
2011-12-27 20:39:46 +01:00
Jürg Lehni
96f7d140a7
Use faster Point.create(x, y) internally.
2011-12-27 20:39:28 +01:00
Jürg Lehni
ad2abfb71f
Inline drawDashes() code.
2011-12-27 20:18:02 +01:00
Jürg Lehni
24c0d0f87e
Fix bug in Raster#getAverageColor().
2011-12-27 19:55:55 +01:00
Jürg Lehni
5093648bd1
Shorten code a bit.
2011-12-27 19:53:37 +01:00
Jürg Lehni
b832787f7f
Fix issues with multiple instances of symbols appearing in the wrong positions.
...
This was caused by cached bounds rectangles being modified elsewhere.
2011-12-27 19:53:28 +01:00
Jürg Lehni
2280c0cb94
Fix drawing of selected items in zoomed views.
2011-12-27 16:40:49 +01:00
Jürg Lehni
6e3cef6eb4
Implement PaperScope#tool accessor.
...
For better handling of automatic tool creation in PaperScript.
2011-12-27 16:33:17 +01:00
Jürg Lehni
7b03dbedb9
Move stats update to onFrame handler.
2011-12-27 16:06:47 +01:00
Jürg Lehni
df5c33571f
Do not exceed 80 chars per line.
2011-12-27 16:05:02 +01:00
Jürg Lehni
2249f09223
Minor code clean up.
...
No need to set reference again, since we're directly modifying it.
2011-12-26 11:16:16 +01:00
Jürg Lehni
dbd3eff84b
Don't forget to set #_bounds again if recycling.
...
This fixes the other observed slowdown since the bounds caching code overhaul.
2011-12-26 11:15:47 +01:00
Jürg Lehni
873cd79517
Fix a bug in code that keeps #_position cache up to date.
...
Only happened in items that assign another type to 'bounds' through _boundsType, e.g. PlacedSymbol, leading to substantial slow downs.
2011-12-26 11:08:09 +01:00
Jürg Lehni
28806fe977
Ue the faster Matrix#_transformPoint().
...
And reuse Point objects if possible.
2011-12-26 11:06:36 +01:00
Jürg Lehni
d2869cfd55
Cached bounds are no longer LinkedRectangles.
2011-12-26 11:06:04 +01:00
Jürg Lehni
c552925426
Fix issue with Item#removeChildren(from, to) removing too many items.
2011-12-26 02:39:54 +01:00
Jürg Lehni
7af06502bc
Fix Path#transform() to also return a reference to 'this'.
2011-12-25 16:39:08 +01:00
Jürg Lehni
783d2782c0
Fix wrong HitResult type when hitting Segment#point.
2011-12-25 16:38:43 +01:00
Jürg Lehni
1e690a68e0
Add TODO about HitResult points requiring transformations.
2011-12-25 12:39:10 +01:00
Jürg Lehni
3b0b1184a3
Implement checkSegment() without relying on #_transformCoordinates().
2011-12-25 12:34:51 +01:00
Jürg Lehni
951a3aea99
Inverse-transform the passed point on each DOM level in #hitTest().
2011-12-25 00:19:44 +01:00
Jürg Lehni
c30ff47930
Remove matrix argument from all hit-testing related methods.
...
We better inverse-transform the point and save the code!
2011-12-25 00:19:01 +01:00
Jürg Lehni
1eadc87b58
No need to calculate matrix before handling cached values.
2011-12-24 12:30:43 +01:00
Jürg Lehni
733d879bb6
Add / improve comments about DOCS.
2011-12-23 22:47:10 +01:00
Jürg Lehni
98c82856ea
Override #matrix accessors in Path to do nothing.
...
For the same reasons as described in the previous commit.
2011-12-23 22:46:53 +01:00
Jürg Lehni
627961627e
Have Path always directly apply any transformation to its Segments.
...
This is required so the coordinates of its bounds, length and SegmentPoints are always in the same space.
2011-12-23 22:43:27 +01:00
Jürg Lehni
97b66582f8
Rename Item#applyMatrix() to shorter #apply().
2011-12-23 22:41:05 +01:00
Jürg Lehni
61dca0b4d0
Introduce standard way of passing matrices/points to Item constructors.
2011-12-20 23:33:53 +01:00
Jürg Lehni
a21d180150
Use faster Point.create().
2011-12-20 23:32:53 +01:00
Jürg Lehni
f2d7b85616
Introduce Matrix#setIdentity().
2011-12-20 23:14:30 +01:00
Jürg Lehni
a8392fbf68
Implement local caching for the calculation of concatenated global matrices in the drawing of selected items in Project#draw().
2011-12-20 23:09:49 +01:00
Jürg Lehni
16113d5462
Declare all Character/ParagraphStyle properties that change GEOMETRY.
...
Fixing a failing test that showed up after debugging code was removed in recent commit, which disabled speed optimisations.
2011-12-20 22:37:46 +01:00
Jürg Lehni
0fcee7d8df
Move _owner / _style declarations to the top.
2011-12-20 22:36:24 +01:00
Jürg Lehni
8888ca912a
The internal Item#_position is no longer a LinkedPoint.
...
Make sure it stays that way when it's kept up-to-date in Item#transform().
2011-12-20 22:35:06 +01:00
Jürg Lehni
0592038b9f
Remove debugging code that lead to slow-down regressions.
2011-12-20 22:34:08 +01:00
Jürg Lehni
93ede28f3b
Implement new selection drawing mechanism.
...
Using the new Item#globalMatrix.
2011-12-20 11:42:00 +01:00
Jürg Lehni
010209c70f
Pass on view matrix to Project#draw.
...
So selection drawing is not zoomed.
2011-12-20 11:41:23 +01:00
Jürg Lehni
daca14efb8
Add optional matrix in Path drawing code.
...
Required for new selection drawing mechanism to be implemented.
2011-12-20 11:40:31 +01:00
Jürg Lehni
89a1d2fe73
Define Item#globalMatrix.
...
For now uncached.
2011-12-20 11:39:36 +01:00
Jürg Lehni
5797b78c2c
Clean up Matrix concatenation code.
2011-12-20 11:39:10 +01:00
Jürg Lehni
42087071e7
Fix #strokeBounds for square caps.
...
Calculate the right points at both ends of paths.
2011-12-19 23:30:02 +01:00
Jürg Lehni
1e768e6c83
Fix #strokeBounds for strokes scaled using #matrix.
...
Gotta do the right thing, not the same buggy thing as Illustrator.
2011-12-19 23:21:13 +01:00
Jürg Lehni
4a46c8ac98
Fix recently introduced error with stroke/fillColor handling
...
Since CanvasContext#stroke/fillStyle cannot be set to null, we have to keep checking Style#fill/strokeColor even after calling #_setStyles().
2011-12-19 23:07:14 +01:00
Jürg Lehni
e30a0ae26d
Define CharacterStyle#getFontStyle()
...
And use it in PointText.
2011-12-19 23:05:22 +01:00
Jürg Lehni
cc26fdc5d1
Optimise handling and setting of fill and stroke styles.
...
Handle setting of fillColor and strokeColor in Item#_setStyles() instead of the various #draw() methods, directly access internal styles instead of using accessor calls and fix PointText#draw().
2011-12-19 22:40:14 +01:00
Jürg Lehni
ea0eaf04ea
Make TextItem#style a reference to #characterStyle.
...
Internally, CharacterStyle extends PathStyle and is now stored in TextItem#_style.
2011-12-19 22:26:09 +01:00
Jürg Lehni
19429d9b6d
Automate generation of style accessors through Style class.
...
Shaving off some byes by adding more magic.
2011-12-19 22:14:10 +01:00
Jürg Lehni
9e79514b54
Add documentation about observed discrepancy between TextItem#characterStyle and #style.
2011-12-19 22:03:36 +01:00
Jürg Lehni
f5c1125709
Move Path#_setStyles() to Item, so it can be used in PointText too.
2011-12-19 21:25:39 +01:00
Jürg Lehni
466857659c
Unroll loop in Path#_setStyles().
2011-12-19 21:23:28 +01:00
Jürg Lehni
e89b2e5be1
Remove recursive argument from Item#applyMatrix().
...
Always apply transforms recursively.
2011-12-19 21:20:10 +01:00
Jürg Lehni
12dbb11ec3
Optimise and simplify ellipse code.
2011-12-19 13:51:26 +01:00
Jürg Lehni
3ccb4a6ebe
Fix strokeBounds calculation when a rotation matrix is in use.
...
The bounding box of the rotated pen ellipse was calculated wrongly.
2011-12-19 13:47:30 +01:00
Jürg Lehni
daa1343155
Add comment about perhaps renaming Path.Oval to Path.Ellipse.
2011-12-19 13:16:29 +01:00
Jürg Lehni
83df011e1d
Add missing colon.
2011-12-19 13:16:06 +01:00
Jürg Lehni
4514c63ed4
Merge remote-tracking branch 'origin/master'
2011-12-18 21:30:22 +01:00
Jürg Lehni
e1c8c48f11
Increase default type size to 12px.
2011-12-18 16:56:31 +01:00
Jürg Lehni
e52d2a08b8
Use correct flags in _changed() call.
2011-12-18 16:56:18 +01:00
Jürg Lehni
554047ae38
Expose Item#_getCachedBounds and use it in PlacedSymbol for proper handling of nested matrices.
2011-12-18 16:55:56 +01:00
Jürg Lehni
d2b1c77686
No need to call #getDefinition() internally.
...
Use private value directly.
2011-12-18 16:55:24 +01:00
Jürg Lehni
9e5eb17264
Improve Item#transform() and implement #applyMatrix() to support nested matrices. Work in progress.
2011-12-18 16:54:21 +01:00
Jürg Lehni
a76d47fcf1
Merge pull request #62 from dram/update-focus-fix
...
Use break to avoid uncaught exception in View.updateFocus
2011-12-10 11:08:03 -08:00
Jürg Lehni
b0b49d027a
Remove unused parameter.
2011-12-10 20:05:26 +01:00
Jürg Lehni
c8f3f3be27
Document Base.hyphenate()
2011-12-10 19:57:18 +01:00
Jonathan Puckey
7fdb01cf77
More work on Item event handling documentation.
2011-12-07 12:45:04 +01:00
Jürg Lehni
120ead209e
Define Segment#clone().
2011-12-07 11:54:41 +01:00
Jürg Lehni
566aaed0be
Define Segment#equals().
2011-12-07 11:53:07 +01:00
Xin Wang
95b3bad6dc
Use break to avoid uncaught exception.
2011-12-06 09:41:40 +08:00
Jonathan Puckey
1414500f45
First version of documentation of Item event handlers and MouseEvent.
2011-12-01 11:57:10 +01:00
Jürg Lehni
6e5e54cfe6
Change sequence of position / bounds related properties.
2011-11-30 18:36:44 +01:00
Jürg Lehni
f895d3e6fb
Fix recently introduced error in Item#setSelected().
2011-11-30 18:28:11 +01:00
Jürg Lehni
d8f0105fb2
Document support for dontLink parameter.
2011-11-30 18:19:39 +01:00
Jürg Lehni
a26bc87686
Implement support for Item#matrix in Item#draw().
2011-11-30 18:19:23 +01:00
Jürg Lehni
a57070e4a3
Fix bounds caching issues on Group.
2011-11-30 18:18:51 +01:00
Jürg Lehni
a3ec184873
Add dontLink argument to Item#getPosition()
...
And use it to optimise up #setPosition().
2011-11-30 18:18:24 +01:00
Jürg Lehni
bb1d436281
Move creation of LinkedRectangle for 'bounds' to bounds accessor.
2011-11-30 17:20:29 +01:00
Jürg Lehni
3ece08bea1
Fix handling of recursion in Item#setSelected() / #setFullySelected().
2011-11-30 17:16:52 +01:00
Jürg Lehni
cf4c2b4919
Move #matrix accessor from PlacedItem to Item.
2011-11-29 17:19:31 +01:00
Jürg Lehni
5ff3a07b31
Add comment about 1px rectangle in Raster#getAverageColor().
2011-11-29 17:19:15 +01:00
Jürg Lehni
b5e46971f0
Replace new Size(x, y) calls with internal Size.create(x, y).
2011-11-29 17:11:15 +01:00
Jürg Lehni
26210fb95b
Implement transforming of cached bounds again, if possible.
2011-11-28 23:20:47 +01:00
Jürg Lehni
cadc2e78ca
We can directly access Item#_id.
...
No need to call Item#getId() internally.
2011-11-28 23:14:02 +01:00
Jürg Lehni
cb8c94ef7e
Recursively call _clearBoundsCache
...
If the cache for an item's children is not valid anymore, that needs to propagate up the DOM tree.
2011-11-28 23:13:31 +01:00
Jürg Lehni
d3c83be3bb
Correct execution sequence in getBounds so that the parent's _boundsCache is kept up to date even when the child is returning a cached result.
2011-11-28 22:59:25 +01:00
Jürg Lehni
e82deff4b9
Fix the drawing of PlacedSymbol bounds when selected.
2011-11-27 14:55:49 +00:00
Jürg Lehni
ac18786109
Implement bounds caching for all items, even groups and layers, using a smart structure keeping track of which items affect the cache, and automatically clearing it on changes without having to walk the DOM tree.
2011-11-27 13:48:15 +00:00
Jürg Lehni
907d6c0954
Implement Matrix#equals().
2011-11-26 12:04:44 +01:00
Jürg Lehni
b51cf064b0
Make baseItem to last optional parameter of _getBounds.
2011-11-26 11:55:19 +01:00
Jürg Lehni
f799c85e76
Switch to using 'this' in private getBounds methods to point to path item rather than 'that'.
2011-11-26 11:48:08 +01:00
Jürg Lehni
40a3272cb3
Implement PointText#bounds properly, with matrix support in place now.
2011-11-26 11:40:38 +01:00
Jürg Lehni
a0ad81b576
Pass on the baseItem of a getBounds call, required to implement proper caching later.
2011-11-26 11:24:48 +01:00
Jürg Lehni
8729e9919f
Use getBounds.call(item) to use this instead of item, since we're accessing it a lot.
2011-11-26 10:42:38 +01:00
Jürg Lehni
1fd9242fd8
Define private getBounds() function that handles matrix concatenation, bounds caching and calling of _getBounds, leading to further simplifications in PlacedItem.
2011-11-26 10:39:51 +01:00
Jürg Lehni
2605fadcfd
Move bounds related code to a proper inejction scope, so we can declare private functions for caching.
2011-11-26 10:18:47 +01:00
Jürg Lehni
de4b5a0d87
Start implementing Item#matrix, work in progress.
2011-11-26 10:15:01 +01:00
Jürg Lehni
92066a6ecb
Implement Item#_boundsType as a structure to control bounds handling and caching.
2011-11-24 16:03:05 +01:00
Jürg Lehni
a6b90dea35
Clean up Item documentation.
2011-11-24 16:02:34 +01:00
Jürg Lehni
44b6fe9f0d
Fix documentation about bounds beans.
2011-11-24 15:46:06 +01:00
Jürg Lehni
310fbb260b
Remove _boundsCache and replace it with easier _simpleBounds flag.
2011-11-24 15:44:26 +01:00
Jürg Lehni
067e0a954b
Add comment about LinkedRectangle for 'bounds'.
2011-11-24 15:39:04 +01:00
Jürg Lehni
909b9040d5
Since we only use _createBounds in one place now we can inline it.
2011-11-24 15:38:08 +01:00
Jürg Lehni
569c415b2f
Start implementing bounds caching the new way.
...
Work in progress still.
2011-11-24 15:37:44 +01:00
Jürg Lehni
c989d3ee3f
Restructure code a bit for easier reading.
2011-11-24 15:18:57 +01:00
Jürg Lehni
ea87be166e
Part one of big refactoring of bouding box handling. Functional, but caching is broken right now.
2011-11-24 15:13:21 +01:00
Jürg Lehni
d9777111dc
No need for an injection scope as we can also just use Base.each() in combination with a side-car.
2011-11-24 14:54:04 +01:00
Jürg Lehni
b96cd4e1c8
Add comments about possible optimization of accessing of style properties.
2011-11-24 14:53:38 +01:00
Jürg Lehni
1d6cfeeb9b
Add dest and dontNotifty arguments to Matrix#_transformBounds() and use them where appropriate.
2011-11-24 11:29:35 +01:00
Jürg Lehni
3f5e68aa76
Document the private getPendPadding() function.
2011-11-24 10:21:12 +01:00
Jürg Lehni
29aaf38320
Improve comments.
2011-11-24 10:17:31 +01:00
Jürg Lehni
8a53288b1e
Add comment about upcoming changes relating to bounds.
2011-11-23 18:13:21 +01:00
Jürg Lehni
cd1810e6a3
Fix arguments check in Path#getHandleBounds().
2011-11-23 18:13:05 +01:00
Jürg Lehni
11f298c994
Start adding support for PointText#bounds and multi-line text, work in progress.
2011-11-23 18:12:41 +01:00
Jürg Lehni
eb70c4de5d
Directly pass matrix argument to _getBounds() instead of whole arguments array.
2011-11-20 18:51:34 +01:00
Jürg Lehni
75072bde4f
Directly access project.view.
2011-11-18 20:33:27 +01:00
Jürg Lehni
44291fe33b
Support injecting multiple object parameters into Style classes.
2011-11-18 20:08:54 +01:00
Jürg Lehni
5f0da04daf
Add empty line at file end.
2011-11-18 19:54:16 +01:00
Jürg Lehni
b9f6c99dcd
Add comments and clean up code.
2011-11-17 19:28:05 +01:00
Jürg Lehni
427cc21b3a
Fix a comment.
2011-11-17 00:06:21 +01:00
Jürg Lehni
1b484a2f7b
Implement MouseEvent#delta for Item#onMouseDrag and #onMouseMove.
2011-11-17 00:04:30 +01:00
Jürg Lehni
cf54b1a7c1
Change parameter sequence in mouse event code.
2011-11-16 23:47:51 +01:00
Jürg Lehni
9061daa935
Simplify event handling code.
2011-11-16 23:41:47 +01:00
Jürg Lehni
80d3763c39
Implement Item#onMouseDrag evnets, and have them silence #onMouseMove events if both are present.
2011-11-16 23:30:14 +01:00
Jürg Lehni
d066ad775d
Implement Item#onClick and #onDoubleClick.
2011-11-16 23:18:27 +01:00
Jürg Lehni
b3bf57c8e9
Implement Item#onMouseEnter / #onMouseLeave.
2011-11-16 22:59:39 +01:00
Jürg Lehni
c0e6d5b2ee
Remove unused injection scopes.
2011-11-16 22:54:03 +01:00
Jürg Lehni
44bf596e51
Finish implementing Item#onMouseMove and clean up code.
2011-11-16 22:48:38 +01:00
Jürg Lehni
8efc7ce7cd
Implement Item#onMouseUp events and work on #onMouseMove.
2011-11-16 22:41:22 +01:00
Jürg Lehni
57bd659023
Move Item base mouse handling code to CanvasView.
2011-11-16 13:12:41 +01:00
Jürg Lehni
577c884a70
Prepend non-public Tool methods with '_'.
2011-11-16 13:10:39 +01:00
Jürg Lehni
1eff9741a4
Separate Canvas related code from View into CanvasView class.
2011-11-14 20:18:08 +01:00
Jürg Lehni
c85f0326c3
Simplify installling of mouse handlers in View.
2011-11-14 13:32:03 +01:00
Jürg Lehni
acbebc2aa4
Remove #idleInterval left-overs.
2011-11-13 00:09:09 +01:00
Jürg Lehni
fcd92c4ac1
Fix updateFocus() documentation.
2011-11-13 00:05:28 +01:00
Jürg Lehni
c8e1a9c959
Merge remote-tracking branch 'origin/master'
2011-11-12 23:57:39 +01:00
Jürg Lehni
e4586cfeeb
Commit beginning of item based mouse events. So far only onMousedown / 'mousedown' is supported.
2011-11-12 23:57:25 +01:00
Jürg Lehni
18d44689fa
Fix white-space in code example.
2011-11-12 23:56:25 +01:00
Jürg Lehni
36846d6e38
Remove code from previous commit again.
2011-11-12 19:52:36 +01:00
Jürg Lehni
d89d7f1ef7
Commit temporary support for attach() and detach() handler on event entries, to be removed again.
2011-11-12 19:51:51 +01:00
Jürg Lehni
4ba752d42a
Add note and TODO about Path#contains() only working correctly for no-zero winding rule, which is not used by Canvas...
2011-11-12 19:49:12 +01:00
Jürg Lehni
ddf7c6534b
Fix Path#hitTest() to only consider strokeWidth if a strokeColor is provided too.
2011-11-12 19:48:39 +01:00
Jonathan Puckey
52385451f6
Resolve a few documentation todos.
2011-11-12 18:30:21 +01:00
Jürg Lehni
6e5a81f907
Fix white-spaces in documentation.
2011-11-12 18:26:15 +01:00
Jürg Lehni
c33998c140
Remove support for Tool#eventInterval.
2011-11-12 18:26:03 +01:00
Jürg Lehni
52ad906c97
Add support for onFrame handlers on Item.
2011-11-12 17:44:05 +01:00
Jürg Lehni
d9ba90ea2d
Remove white space.
2011-11-12 17:15:04 +01:00
Jürg Lehni
8eaddc759e
Fix code sequence when attaching and detaching event handlers.
2011-11-12 17:14:49 +01:00
Jürg Lehni
da5a837da2
Merge remote-tracking branch 'origin/master'
2011-11-12 16:56:35 +01:00
Jürg Lehni
719ae2315c
Remove global views list, link View to Project and allow projects to only have one view.
2011-11-12 16:56:23 +01:00
Jonathan Puckey
3ac171a304
Path#smooth() example: select path using fullySelected instead of selected, so we can see its handles.
2011-11-12 16:45:33 +01:00
Jonathan Puckey
d631288dc7
Fire resize event directly after evaluation, so we don't need to call onResize ourselves from PaperScript.
2011-11-12 16:31:22 +01:00
Jürg Lehni
ea689faa43
Fix white space.
2011-11-12 15:50:53 +01:00
Jürg Lehni
07839cf683
Add comment about name being set again in addChild().
2011-11-12 15:50:35 +01:00
Jürg Lehni
2b5cfa401a
Remove obsolete documentation.
2011-11-12 14:41:27 +01:00
Jürg Lehni
24f07dccec
Clean up some JSDoc comments.
2011-11-12 13:27:29 +01:00
Jürg Lehni
b1332331b0
Simplify injection scope for removeOn* methods.
2011-11-12 13:22:45 +01:00
Jürg Lehni
a326b189b4
Improve Curve#isFlatEnough() by finding the right threshold through testing, and remove other less precise solutions.
2011-11-12 01:23:41 +01:00
Jürg Lehni
d43b54a531
Shorten Curve.isFlatEnough() code.
2011-11-11 20:58:33 +01:00
Jürg Lehni
fdd4ee8d31
Switch back to Kaspar Fischer's version of Curve.isFlatEnough, as it produces the best results with dashed lines.
2011-11-11 20:55:31 +01:00
Jürg Lehni
3dfb4d3ae5
Make Item#removeOn() calls work with new event callback mechanism.
2011-11-11 20:41:09 +01:00
Jürg Lehni
78d1ce1540
Make new events work properly for key handlers.
2011-11-11 20:12:29 +01:00
Jürg Lehni
e238dea3ac
More work to make new events mechanisms work for Tool too.
2011-11-11 19:49:31 +01:00
Jürg Lehni
5fd7753c60
Remove dev comments.
2011-11-11 18:39:12 +01:00
Jürg Lehni
eaa5f97e95
Merge remote-tracking branch 'origin/master'
2011-11-11 18:29:44 +01:00
Jürg Lehni
256e48b511
Define Callback code for callback based event handling (#atach() / #detach() #fire()) and start implementing it in View.
2011-11-11 18:29:28 +01:00
Jonathan Puckey
a96a92caba
Add support for hit testing Raster items and getting the color of the pixel that was hit.
2011-11-11 15:00:53 +01:00
Jürg Lehni
af9df0e1b8
Provide point of hit handles and segments too in HitResult.
2011-11-11 14:47:03 +01:00
Jürg Lehni
99a8532cca
No need to set beans = true since we're always producing beans.
2011-11-11 14:03:36 +01:00
Jürg Lehni
1124236b8a
Use inject() instead of a each() loop to add values to HitResult, so getters can be defined too (required for raster hit testing).
2011-11-11 13:11:10 +01:00
Jürg Lehni
e2eec3476d
Add comments about backward compatible Color constructor names.
2011-11-10 20:00:20 +01:00
Jürg Lehni
42d0e722db
Rename RGBColor -> RgbColor, to avoid clash with native constructor, and follow same naming convention for HsbColor and HslColor, but keep references to old names for PaperScript scopes for now.
2011-11-10 19:16:34 +01:00
Jürg Lehni
c4bea4d24c
Include comment about algorithm modifications.
2011-11-10 18:30:18 +01:00
Jonathan Puckey
eb34e058c0
Fix bug in Item#hitTest and Project#hitTest documentation. Closes #57
2011-11-10 15:14:49 +01:00
Jürg Lehni
34b5d043b3
Implement Matrix#inverseTransform().
2011-09-23 11:19:03 +02:00
Jürg Lehni
4600fe1e21
Add comments about alternative arguments.
2011-09-23 11:18:25 +02:00
Jürg Lehni
d1d110f085
Document the two versions of Matrix#transform() separately.
2011-09-23 11:17:42 +02:00
Jürg Lehni
f8dac43107
Remove Matrix#determinant and convert getter to private method that only returns determinant if matrix is reversible, simplifying the various places where _getDeterminant is in use.
2011-09-22 21:19:41 +02:00
Jürg Lehni
3397931bb2
Be consistent in Numerical. EPSILON comparison rules.
2011-09-22 21:14:16 +02:00
Jürg Lehni
44e5c30436
Remove misleading alternative parameter comment.
2011-09-22 10:36:27 +02:00
Jürg Lehni
6052e94a2a
Add basic code for fine-grained change tracking, as required by on-the fly SVG DOM manipulation.
2011-09-22 10:32:17 +02:00
Jürg Lehni
a2358a0fc0
Also fire key events for modifier keys. Closes #52 .
2011-09-18 12:51:03 +02:00
Jürg Lehni
571ca31dbf
Move ctx.restore() to same level as ctx.save(). Closes #51 .
2011-09-18 10:56:04 +02:00
Jürg Lehni
b51c1286da
Add documentation for all color components. Closes #43 .
2011-09-18 10:54:26 +02:00
Jürg Lehni
8db7352342
Merge branch 'master' of github.com:paperjs/paper.js
2011-09-18 10:38:33 +02:00
Jürg Lehni
936fd43c37
Implement Item#layer.
2011-09-18 10:38:16 +02:00
Ben Ogle
7ebd4a17bd
Adds other keycodes for command keys in different browsers.
...
- 224 for firefox
- 93 for the right command key in WebKit browsers.
2011-08-25 18:53:30 -07:00
Jürg Lehni
ae116cd043
Improve comments about change notifications.
2011-08-23 16:36:57 +02:00
Jürg Lehni
7a5ca5609f
Have View#_redraw() properly redraw the content even if nothing has changed inside.
2011-08-23 16:36:18 +02:00
Jürg Lehni
79f351e5ee
No need to check for _project as it will always bet set.
2011-08-23 16:35:19 +02:00
Jürg Lehni
a775ddec9e
Remove obsolete comment.
2011-08-22 11:14:49 +02:00
Jürg Lehni
b54f9f2228
Introduce View#_redraw() and use it in #setViewSize() and #_transform().
2011-08-22 11:14:38 +02:00
Jürg Lehni
3ca165f413
Move #_transform() up.
2011-08-22 11:13:42 +02:00
Jürg Lehni
a081419a8b
Fix View#bounds for zoom levels other than 1.
2011-08-22 11:12:40 +02:00
Jürg Lehni
7c2fabd6a1
Remove redundant scope by sharing one between browser and server code.
2011-08-22 11:05:59 +02:00
Jonathan Puckey
0ee1e80c68
Node.js: add Raster support.
2011-08-21 16:38:06 +02:00
Jonathan Puckey
a28b20dac8
Merge branch 'master' of https://github.com/paperjs/paper.js
2011-08-20 15:55:48 +02:00
Jonathan Puckey
bec8cf967e
View: add documentation todos.
2011-08-20 15:51:54 +02:00
Jonathan Puckey
1f9993f894
Move Node.js specific things to dedicated folder.
2011-08-20 15:48:57 +02:00
Jonathan Puckey
70dc88ca91
View: Clean up #exportImage() and #exportFrames().
2011-08-20 15:46:06 +02:00
Jonathan Puckey
197c2670d6
Implement View#exportImage(uri, param)
2011-08-18 11:11:24 +02:00
Jürg Lehni
76df9d9a92
Fix documentation for beans.
2011-08-16 13:53:36 +02:00
Jürg Lehni
4e1dd90549
Use faster Size.create().
2011-08-16 13:52:31 +02:00
Jürg Lehni
4dd90b440e
Use new dontLink parameter for Path.Constructors optimisations.
2011-08-16 13:52:18 +02:00
Jürg Lehni
c9eb538f7a
Support an optional argument 'dontLink' in getters that normalled return LinkedPoint and LinkedSize objects, for internal use.
2011-08-16 13:50:59 +02:00
Jürg Lehni
8f8188a091
Optimise Path.Rectangle constructor.
2011-08-16 13:39:37 +02:00
Jürg Lehni
3c5a46a8af
Implement SegmentPoint#isZero() that does not use the x / y accessors but the internal properties directly, for performance reasons, since it is used a lot internally.
2011-08-16 13:38:52 +02:00
Jürg Lehni
7e0307dd6a
Correct comments.
2011-08-16 13:36:58 +02:00
Jonathan Puckey
25cb4a7dd1
Support running of PaperScript .pjs files.
2011-08-13 18:26:43 +02:00
Jonathan Puckey
38a4184ab5
Color: Avoid dividing by 0 in rgb-hsl converter.
2011-08-13 15:26:14 +02:00
Jonathan Puckey
8ce7ed578e
Allow loading of Paper.js on Node.js without the need for compiling.
2011-08-10 21:02:32 +02:00
Jonathan Puckey
ebc3b3789b
Merge branch 'master' of https://github.com/paperjs/paper.js
2011-08-10 18:30:42 +02:00
Jonathan Puckey
e82a838085
Fix problem in Item#rasterize(resolution) where rasterizing the active layer caused the resulting Raster to be positioned wrongly.
2011-08-08 18:43:45 +02:00
Jonathan Puckey
a58bbaf6cf
Fix Size#isZero().
2011-08-04 15:06:35 +02:00
Jonathan Puckey
24f5188c24
Merge remote-tracking branch 'origin/master'
2011-08-04 10:55:02 +02:00
Jonathan Puckey
3a3f5ecabb
Segment: notify path of change when selection state of handles changes, so the view is redrawn.
2011-08-04 10:54:56 +02:00
Jürg Lehni
4e78c55859
Simplify PointText#setPoint()
2011-08-03 23:37:56 +02:00
Jürg Lehni
7c95eb7694
Do not usse LinkedPoint internally for PointText#point, since we're returning new instances each time now in #getPoint().
2011-08-02 16:08:00 +01:00
Jonathan Puckey
fe1b2ca8a0
Fix PointText#setPoint(point) and PointText#setPosition(point).
2011-08-02 14:31:35 +02:00
Jürg Lehni
fe97b94340
Define PaperScopeItem as a private base class for all classes that have lists and references in the PaperScope (Project, View, Tool), so they can share functionality (#initialize(), #activate(), #remove()), and add support for multiple tools. Closes #27
2011-08-02 10:08:08 +01:00
Jonathan Puckey
a9780374f2
Remove logging statements.
2011-08-02 11:07:59 +02:00
Jonathan Puckey
94a6860f7f
Add back Node.js related changes to View.
2011-08-02 11:02:04 +02:00
Jonathan Puckey
820ef43f56
Merge remote-tracking branch 'source/master'
2011-08-02 10:53:25 +02:00
Jonathan Puckey
30e2ba5582
Update View.
2011-08-02 10:49:40 +02:00
Jürg Lehni
2d5788540d
Hide internal properties even if they are enumerable in Base#toString()
2011-08-02 08:32:55 +01:00
Jürg Lehni
14881b8b19
Let View handle the retrieving of the canvas object.
2011-08-01 16:23:56 +01:00
Jürg Lehni
828c3ae369
Doc: Improve View#initialize(canvas).
2011-08-01 16:21:00 +01:00
Jürg Lehni
9195f026d7
Support passing canvas ids straight to View constructor.
2011-08-01 16:18:17 +01:00
Jürg Lehni
022de4d781
Some documentation fixes for v0.2
2011-08-01 14:25:46 +01:00
Jürg Lehni
ea629fefda
Remove debug log.
2011-08-01 12:03:23 +01:00
Jürg Lehni
14895f412c
Fix PaperScope#install() so classes actually get injected.
2011-08-01 12:02:50 +01:00
Jürg Lehni
a8c08b3301
Docs: Document Path#getNearestLocation() and #getNearestPoint().
2011-08-01 11:48:27 +01:00
Jürg Lehni
c8578658ae
Docs: Remove |null from @return, since it's verbally described, and null can also be a HitResult.
2011-08-01 11:48:07 +01:00
Jürg Lehni
31cc571e8a
Docs: Hide matrix parameter in Item#hitTest() and add "options." in front of each options property.
2011-08-01 11:47:42 +01:00
Jürg Lehni
884ea96a29
Docs: Link HitResult back to #hitTest() functions.
2011-08-01 11:47:08 +01:00
Jürg Lehni
8cdc5ea2aa
Change PaperScope#install() to be clever about project, view and tool references and link them through a getter to their current state in PaperScope.
2011-08-01 11:21:22 +01:00
Jürg Lehni
3fc21cd4b6
Always call View#draw() since it won't redraw internally if nothing has changed.
2011-08-01 11:02:00 +01:00
Jürg Lehni
6b6d5909c1
Revert back to PaperScope#setup() and keep #initialize0 simple.
2011-08-01 11:01:27 +01:00
Jürg Lehni
6086165d1a
Merge remote-tracking branch 'origin/master'
2011-08-01 08:56:07 +01:00
Jürg Lehni
0e6aeac28c
Fix HSLColor documentation.
2011-08-01 08:53:28 +01:00
Jürg Lehni
5b963b13e1
Export classes through PaperScope in dev mode too.
2011-08-01 08:53:07 +01:00
Jürg Lehni
c6cf4f9cf0
Only create an empty Project for a PaperScope if a canvas was provided for it.
2011-08-01 08:52:51 +01:00
Jonathan Puckey
e0650cae73
Document HitResult, Item#hitTest(point, options) and Project#hitTest(point, options).
2011-07-31 22:58:51 +02:00
Jürg Lehni
fc7da5fa13
Docs: Improve HSL example.
2011-07-31 15:46:26 +01:00
Jürg Lehni
42c9f91279
Rename internal Matrix transform parameters to (a, c, b, d, tx, ty), expoes values through Matrix#getValues() and improve documentation.
2011-07-31 15:26:09 +01:00
Jürg Lehni
b14a294430
Delcare DomElement and DomEvent as private namespaces.
2011-07-31 15:23:26 +01:00
Jürg Lehni
13ae51789f
Remove reduntant argument, fixing visibility check.
2011-07-31 14:25:23 +01:00
Jürg Lehni
d84f0d34cf
Fix errors in DomElement.getOffset() by using native #getBoundingClientRect() in DomElement.getBounds() and relying on that. Closes #29
2011-07-31 14:13:29 +01:00
Jürg Lehni
e1d90c921c
Do not parse PaperScript code in exigent mode. Relaxes requirements of semicolons, etc.
2011-07-31 12:14:37 +01:00
Jürg Lehni
7f81184848
Only intersect lines if their lengths are not conflicting with Numerical.EPSILON comparison of the cross product in Line#intersect().
2011-07-30 11:38:17 +01:00