Jonathan Puckey
151f7026e1
Fix mistake in previous commit.
2012-11-23 20:55:46 +01:00
Jonathan Puckey
43b3ac6beb
Optimize PlacedSymbol#_hitTest a bit.
...
Use faster Point#_transformPoint function to transform point.
2012-11-23 20:48:34 +01:00
Jonathan Puckey
e835ccf786
Remove accidentally committed logging statement.
2012-11-23 20:43:28 +01:00
Jonathan Puckey
90e475b5f9
Support hit-testing of placed-symbols and add test. Closes #131 .
2012-11-23 20:29:36 +01:00
Jürg Lehni
61b6026361
Rename CompoundPath#flatten() to #reduce(), to avoid clash with Path#flatten().
2012-11-23 01:16:21 -08:00
Jonathan Puckey
1f5af06e74
Merge pull request #136 from bfirsh/leaky-globals
...
Fixed a bunch of leaking globals
2012-11-22 11:43:41 -08:00
Jürg Lehni
7fe8e3c918
Handle null nodes.
2012-11-21 12:17:01 -08:00
Jürg Lehni
373474d088
Implement loading Rasters from external sources and notify using a 'load' callback.
2012-11-21 10:39:26 -08:00
Jürg Lehni
1e744e3db7
Handle case where no project is created through execution errors.
2012-11-21 10:38:54 -08:00
Jürg Lehni
900f3fe2dd
Have ToolEvent#item fallback to returning null, not undefined.
2012-11-21 10:38:29 -08:00
Ben Firshman
8ca26f650a
Fixed leaky _handle2
2012-11-20 15:53:31 +00:00
Ben Firshman
73d6c102a6
Fix k leaking into globals
2012-11-20 15:53:04 +00:00
Ben Firshman
dc1161b32a
Fix fullLength leaking into globals
2012-11-20 15:53:03 +00:00
Dmitri Iouchtchenko
ae7e6ee6b3
Fix insertBelow for Layer objects
2012-11-19 23:41:04 -05:00
Jürg Lehni
302f23bc5a
Update Acorn.js and use it now by default, thanks to Marijn's fast bugfix:
...
https://github.com/marijnh/acorn/issues/14
2012-11-18 12:25:37 -08:00
Jürg Lehni
b977e18e3b
No need to throw operator exceptions since we're checking for their existence in the parsing.
2012-11-18 10:13:50 -08:00
Jürg Lehni
34819e6a73
Switch to using Mozilla's standardized AST model for PaperScript parsing though Acorn.js or Esprima.js and their support for ranges.
...
No more AST mingling but direct code modification means we're finally getting accurate error messages! Sticking to Esprima for now since Acorn still has some issues with ranges: https://github.com/marijnh/acorn/issues/14
2012-11-18 10:06:16 -08:00
Jürg Lehni
81257a28ec
Have item actually nested inside table cell.
2012-11-14 21:16:33 -08:00
Jürg Lehni
61c37f0858
Improve component type guessing.
2012-11-14 18:34:27 -08:00
Jürg Lehni
532a94369e
Fix a couple of code typos.
2012-11-14 18:30:33 -08:00
Jürg Lehni
bd8dc0c3de
Fix bug when values do not have associated components.
2012-11-14 18:30:22 -08:00
Jürg Lehni
5097bf37ff
Fix small newly introduced bug.
2012-11-14 12:56:13 -08:00
Jürg Lehni
4945a45a99
Further simplify Palette code: Directly link values to components, without a private values list, and improve values conversion.
2012-11-14 12:49:03 -08:00
Jürg Lehni
01c936e1b9
Also consider palette component's initial values.
2012-11-14 12:30:13 -08:00
Jürg Lehni
74bce39184
Make sure private values are initialized correctly.
2012-11-14 12:10:39 -08:00
Jürg Lehni
72d64be5e6
Remove unnecessary window reference.
2012-11-14 12:07:08 -08:00
Jürg Lehni
fbe8095d1b
Define missing DomElement.remove().
2012-11-14 12:06:53 -08:00
Jürg Lehni
a646f922d4
Convert values of numeric items to numbers.
2012-11-14 12:06:41 -08:00
Jürg Lehni
26e3090b40
Actually update linked palette values when input items change.
2012-11-14 12:06:06 -08:00
Jürg Lehni
3fe936addf
Expose Palettes through PaperScope#palettes.
2012-11-14 12:05:36 -08:00
Jürg Lehni
405198f94d
Implement Component#label and Palette#remove().
2012-11-14 12:05:12 -08:00
Jürg Lehni
0b919d0907
Rename Palette classes.
2012-11-14 10:56:32 -08:00
Jürg Lehni
b122a85512
Make Palette#reset() work.
2012-11-14 10:02:16 -08:00
Jürg Lehni
926e5d0b3a
Clean up code.
2012-11-14 10:02:07 -08:00
Jürg Lehni
550d43ae0b
Check in first version of Scriptographer-style Palette / Component GUI code, including a basic example.
...
It kinda works already!
2012-11-14 01:35:34 -08:00
Jürg Lehni
9a180b5377
More work on micro DOM library.
2012-11-14 01:31:49 -08:00
Jürg Lehni
c4a66cff0a
Support more than one argument in Callback#fire().
2012-11-14 01:31:34 -08:00
Jürg Lehni
d671a08205
Introduce Base.toFloat() and rename Base.formatNumber() to Base.formatFloat()
2012-11-14 01:31:08 -08:00
Jürg Lehni
a7320cf2e2
Implement new DomElement micro lib, supporting creation of elements, getting and setting of style, content, and events, in an elegant fashion.
2012-11-13 22:58:03 -08:00
Jürg Lehni
e6c59672ac
Update camelize() and hyphenate() to simpler versions.
2012-11-10 22:24:50 -08:00
Jürg Lehni
f871430018
Use 'in' operator instead of typeof checks in basic type constructors.
2012-11-10 16:32:37 -08:00
Jürg Lehni
92eb89fc43
Clean up and shorten code.
2012-11-10 15:48:15 -08:00
Jürg Lehni
86609103fc
Allow rectangles to be created from arrays too.
2012-11-10 15:45:23 -08:00
Jürg Lehni
af66bccb64
SvgImporter: Simplify creation of clip group.
...
No need to move group into place in DOM, since we're returning it instead of item.
2012-11-10 15:05:13 -08:00
Jürg Lehni
6475d61c89
SvgImporter: Fix issue with importText().
2012-11-10 11:30:34 -08:00
Jürg Lehni
9f6e43454a
Make sure items produced outside of importSvg() are inserted in the same place inside the DOM.
2012-11-10 11:28:00 -08:00
Jürg Lehni
dad30d15ec
Shorten code a bit.
2012-11-10 11:27:09 -08:00
Jürg Lehni
5489f7f496
Switch back to using allowNull for gradient highlight, now that it works.
2012-11-10 11:20:25 -08:00
Jürg Lehni
d929c3177c
SvgImporter: Streamline getValue() helper, and clean up some code depending on it.
2012-11-10 11:19:06 -08:00
Jonathan Puckey
116e782f33
Svg Importer: fix handling of highlight point of radial gradients.
2012-11-10 16:20:59 +01:00
Jonathan Puckey
a86340c088
Svg Importer: clone or place depending on the type
2012-11-10 16:05:47 +01:00
Jonathan Puckey
69b84616ed
Svg Importer: more work on symbols and viewboxes.
2012-11-10 15:56:56 +01:00
Jonathan Puckey
81799b9042
SvgImporter: cleanup getValue.
2012-11-10 15:56:12 +01:00
Jonathan Puckey
9adebea69c
SvgImporter: getValue: fall back to using getAttribute.
2012-11-10 15:55:09 +01:00
Jonathan Puckey
661afca98f
Svg Importer: getValue: make sure the attribute exists first.
2012-11-10 15:45:11 +01:00
Jonathan Puckey
30f63599f1
Merge branch 'master' of https://github.com/paperjs/paper.js
2012-11-10 11:20:07 +01:00
Jürg Lehni
e6913e0013
Shorten importGradient() code.
2012-11-08 15:08:06 -08:00
Jürg Lehni
203c9b16ca
Remove need for svg.getAttribute('fx') check.
2012-11-08 15:01:32 -08:00
Jürg Lehni
61c8f76309
Move all import function references to the top of importers list.
2012-11-08 15:01:13 -08:00
Jürg Lehni
df76e0feb8
SvgImporter: Replace SVG getter functions with their more explicit direct calls.
2012-11-08 09:47:07 -08:00
Jürg Lehni
0da2baa617
Prefer String#substring() over #substr().
...
Using both in the lib seems confusing.
2012-11-08 09:42:51 -08:00
Jürg Lehni
1376d75e61
SvgImporter: Shorten percentage code.
2012-11-08 09:41:58 -08:00
Jürg Lehni
b04f852667
Rename convertStringTo() to convertValue(), and add missing break statement.
2012-11-08 09:38:42 -08:00
Jonathan Puckey
126a631200
SVG Importer: remove handling of default value for path fill color for now.
2012-11-08 18:27:35 +01:00
Jonathan Puckey
56c90839ab
SVG Importer: fillcolor of path items should default to black.
2012-11-08 18:02:38 +01:00
Jonathan Puckey
485bc83b65
SVG Importer: ignore viewBox for svg element for now.
2012-11-08 17:48:21 +01:00
Jonathan Puckey
a1e38ee52e
SVG Importer: implement initial support for viewBox attributes.
2012-11-08 17:32:07 +01:00
Jonathan Puckey
24ecf7840e
SVG Importer: move string conversion code into seperate convertStringTo function for reuse.
2012-11-08 17:31:23 +01:00
Jonathan Puckey
f92e842644
SVG Importer: more work on Symbol importing.
2012-11-08 17:22:32 +01:00
Jonathan Puckey
2cc56c767e
SVG Importer: remove todo.
2012-11-08 15:55:50 +01:00
Jonathan Puckey
71d3cca2d8
SVG Importer: support percentage values for gradient stop offset.
2012-11-08 15:55:24 +01:00
Jonathan Puckey
b7c50a16d1
SvgImporter: Various cleanups and improvements.
2012-11-08 14:32:09 +01:00
Jonathan Puckey
494874ec8f
Svg Importer: Fix handling of getDefinition for color values.
2012-11-08 14:29:48 +01:00
Jonathan Puckey
6bbc78eaef
SVG Importer: initial support for gradients and gradient examples.
2012-11-07 19:32:35 +01:00
Jonathan Puckey
b7486a7e4d
SvgImport: Fix typo.
2012-11-07 17:28:09 +01:00
Jonathan Puckey
9e00a6282f
SVG Importer: Add support for 'use' element.
2012-11-07 17:21:35 +01:00
Jonathan Puckey
c704d285f2
SVG Importer: Use importGroup to import defs.
2012-11-07 17:21:02 +01:00
Jürg Lehni
d5a9a48db3
Also expose space bar state through Event#modifiers.
2012-11-07 01:02:48 -08:00
Jürg Lehni
0e22430993
Only set opacity and visibility when they differ from the defaults.
2012-11-07 01:02:28 -08:00
Jürg Lehni
01342fa073
Implement onActivate() onDeactivate() handlers on Tool, and remove onSelect() / onDeselect() which never worked.
2012-11-07 01:02:09 -08:00
Jürg Lehni
e9a9066d7f
Use group creation without explicit array declaration, as that's been supported all along.
2012-11-06 20:37:50 -08:00
Jürg Lehni
b1c24e2762
Improve importGroup() code a bit by directly filling an Item instead of an array first.
2012-11-06 20:28:20 -08:00
Jürg Lehni
1cb6a7fc3c
Clean up Path#smooth() code a bit.
2012-11-06 20:18:59 -08:00
Jürg Lehni
f110038104
Improve clipping mask drawing, and remove some unneeded ctx.save() / ctx.restore() calls.
2012-11-06 20:14:21 -08:00
Jürg Lehni
1581d44c06
Have newly created group parent in applyAttribute() propagate back up.
2012-11-06 20:13:29 -08:00
Jürg Lehni
b6ca26092f
SvgImporter: Do not add defs to the DOM.
2012-11-06 20:12:25 -08:00
Jürg Lehni
6d69c86962
Unbox CompoundPaths first when adding to clipping CompoundPaths, as CompoundPaths cannot be nested.
2012-11-06 18:38:09 -08:00
Jürg Lehni
53a8099403
Avoid division with almost zero.
2012-11-06 14:02:07 -08:00
Jürg Lehni
4b6207bdb6
Do not allow adding of items other than paths to CompoundPath.
2012-11-06 14:01:52 -08:00
Jürg Lehni
4e1db6a1d1
Fix a row of documentation issues.
2012-11-06 13:35:50 -08:00
Jürg Lehni
7a0752eb11
No need for private exportItem() / exportProject() functions.
2012-11-06 13:14:39 -08:00
Jürg Lehni
142bf28a70
Convert SvgExporter / SvgImporter code to function scopes that only expose functionality through methods on Item and Project.
2012-11-06 13:07:18 -08:00
Jürg Lehni
88e6ac09d7
Add methods to Item and Project to directly use SvgImporter / Exporter functionality.
2012-11-06 12:49:12 -08:00
Jürg Lehni
c70948c762
Return the inserted item in #addChild() & co, instead of true / false.
2012-11-06 12:44:02 -08:00
Jürg Lehni
28642bd1c8
Rename Path.Oval() to Path.Ellipse(), and deprecate Path.Oval().
2012-11-06 11:37:00 -08:00
Jürg Lehni
e26197cf1f
Optimise loops.
2012-11-06 11:28:50 -08:00
Jürg Lehni
16de863aa5
SvgExporter: Some more work on determineAngle().
2012-11-06 11:26:00 -08:00
Jürg Lehni
4c463eb1f1
SvgExporter: Some more code shortening.
2012-11-06 11:19:54 -08:00
Jürg Lehni
cd924f066e
SvgImporter: Reverse parameter sequence.
2012-11-06 11:14:08 -08:00
Jürg Lehni
eb0fb99b12
SvgExporter: Fix matrix conversion to rotate() command.
2012-11-06 11:06:53 -08:00
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