Commit graph

189 commits

Author SHA1 Message Date
Jürg Lehni
3f76bd99ef Implement an efficient mechanism to prioritize key in Item#set()
Closes #1096
2016-07-25 23:17:45 +02:00
Jürg Lehni
4954f5d6ab Improve Style#equals() to correctly handle default values.
Closes #1084
2016-07-25 21:42:06 +02:00
Jürg Lehni
29768c8228 Take Color#alpha default into account in Color#equals()
Relates to #1084
2016-07-25 21:09:53 +02:00
Jürg Lehni
becac4c921 Use shorter zero checks for array indices and length.
Keeping === 0 for mathematical algorithms seems clearer.
2016-07-22 13:46:24 +02:00
Jürg Lehni
e539633852 Implement new and shorter segments array notation.
Supporting:

- Closing paths by including `true` as the last entry
- Nested segment arrays that can be passed to PathItem.create() and the CompoundPath constructor to create all sub-paths
2016-07-19 13:08:21 +02:00
Jürg Lehni
32d8c969fb Clean up handling of #_set(), #set() and #initialize()
Convention:

- #_set() is for actually setting properties, e.g. on Point, Size, so that derived classes can reuse other parts (e.g. SegmentPoint)
- #set() is a shortcut to #initialize() on all basic types, to offer the same amount of flexibility when setting values.
2016-07-18 20:11:01 +02:00
Jürg Lehni
866dcb50dd Some tweaks to potentially support strict mode. 2016-07-07 06:21:20 +02:00
Jürg Lehni
ed3e283802 Fix Item#importJSON() to preserve #parent on existing, already inserted items.
Closes #1041
2016-06-10 17:45:02 +02:00
Jürg Lehni
2c2542fb2f Remove unique IDs from Color objects. 2016-06-10 16:19:59 +02:00
Jürg Lehni
f19d0c8134 Rename GradientStop#rampPoint to #offset 2016-05-31 12:35:44 +02:00
Jürg Lehni
d93aca6b5c Refactor GradientStop: Improve handling of optionally defined color and rampPoint.
Relates to https://github.com/paperjs/paper.js/issues/1001#issuecomment-197557990
2016-03-17 09:38:42 +01:00
Jürg Lehni
0e658da104 SVG Import: Improve style inheritance in nested <defs> 2016-03-16 20:47:57 +01:00
Jürg Lehni
56dd636f22 JSON: Improve serialization and deserialization on objects other than Item.
Closes #392
2016-02-14 17:16:40 +01:00
Jürg Lehni
c3fff9fa83 Switch from new Base() to Base.set({}) where possible. 2016-02-13 23:10:09 +01:00
Jürg Lehni
c6bcf4351a Implement consistent checks for fill / stroke / shadow styles in test functions on Style class.
And use them in Item#_setStyles()
2016-02-12 21:22:30 +01:00
Jürg Lehni
e38829eb96 Support drawing shadows with no shadowBlur.
Closes #955
2016-02-12 21:05:05 +01:00
Jürg Lehni
df57c4adb9 SVGImport: Improve consistency of style handling. 2016-02-11 11:06:09 +01:00
Jürg Lehni
a48d13878a Fix JSDoc warning on Style class. 2016-02-09 14:15:55 +01:00
Jürg Lehni
5e53939006 Do not include text-styles in items that don't relate to text.
Closes #934
2016-02-02 21:43:44 +01:00
Jürg Lehni
8fb7c41537 Implement support for web-workers.
Relates to #634, closes #582
2016-02-02 17:30:38 +01:00
Jürg Lehni
3d346d8045 Core: Do not serialize deprecated Style#font property.
Relates to #934
2016-02-01 12:19:12 +01:00
Jürg Lehni
bc2729683c Core: Renamed Symbol and PlacedSymbol classes and properties.
- Symbol -> SymbolDefinition
- PlacedSymbol -> SymbolItem
- Symbol#definition -> SymbolDefinition#item
- PlacedSymbol#symbol -> SymbolItem#definition
- Deprecate Project#symbols

Closes #770
2016-01-31 16:52:51 +01:00
Jürg Lehni
ea7216d9fb Improve _getStrokeMatrix() fix to correctly handle nested matrices. 2016-01-17 23:39:28 +01:00
Jürg Lehni
43a6c57cd6 Correctly handle #strokeScaling when calculating Path and Shape bounds.
Relates to #697
2016-01-17 20:27:25 +01:00
Jürg Lehni
884a0c54ad Update JSDoc, and some minor documentation changes. 2016-01-15 23:42:20 +01:00
Jürg Lehni
0743f1b7b8 Various optimizations around Project#view. 2016-01-14 01:44:05 +01:00
Jürg Lehni
f2ae7840cf A lot of work on documentation.
- @values lists
- Improve event documentation
- Compound path
- etc.
2016-01-08 20:45:54 +01:00
Jürg Lehni
3280b5700c Get things up to speed again with JSHint. 2016-01-08 18:16:29 +01:00
Jürg Lehni
b9c76f44e8 Convert "Note: " comments to "NOTE: " and do some cleanup. 2016-01-06 14:23:19 +01:00
Jürg Lehni
a7a07fb6d5 Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
2015-12-30 21:55:19 +01:00
Jürg Lehni
a5f05c90f5 Rename #windingRule to #fillRule.
...keeping deprecated aliases on Style and Item around for now.

Closes #858
2015-12-30 21:55:17 +01:00
sapics
502558a321 Fix variable leaks 2015-10-23 09:45:39 +09:00
Jürg Lehni
71a7cc37e6 Many documentation clean-ups. 2015-09-06 17:20:01 +02:00
Jürg Lehni
b52d343527 Use same notation for all injection scopes. 2015-09-06 16:48:23 +02:00
Jürg Lehni
824b0c7e7e Remove legacy Color constructors. 2015-09-06 15:28:46 +02:00
Jürg Lehni
dbac9c06de Bring back private UIDs for Color.
SVG Export for multiple gradients was broken.
2015-06-16 18:12:40 +02:00
Jürg Lehni
b541088c6f A whole lot of documentation clean-up. 2015-06-16 17:50:37 +02:00
Jürg Lehni
dd20df42da Allow the clearing of Color#highlight by setting to null.
Closes #688
2015-05-11 23:24:13 +02:00
Jan
ade1a1fda3 Change clone() function to fix issue #687
As described in issue #687, clone() ignored the 'radial' property. Added the property to the constructor in the clone() function to get the expected behaviour.
2015-05-11 19:43:15 +02:00
Jürg Lehni
27bb8a356f Implement unique ids, and fix issue with Base.deserialize()
Gradient and Symbol were overriding each other in the dictionary, and dictionary entries could not contain references to other dictionary entries.

Closes #690
2015-05-11 19:39:39 +02:00
Jürg Lehni
7bc6da5401 Do not create entries in Style#_values for default values. 2014-12-28 18:03:41 +01:00
Jürg Lehni
9adbc3774a Implement unit test comparators for many more types, and start refactoring compareItems() helper. 2014-12-28 16:41:23 +01:00
Jürg Lehni
862867ecd2 Bump Acorn version. 2014-10-09 00:17:16 +02:00
Jürg Lehni
e5995527e8 Support Point argument reading for Style#shadowOffset. 2014-09-19 18:43:00 +02:00
Jürg Lehni
797a393c9a Remove various double white-spaces. 2014-08-25 12:49:14 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
9d7ec13724 Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it. 2014-05-14 15:14:03 +02:00
Jürg Lehni
846c806034 Implement non-scaling strokes through Style#strokeScaling.
Closes #418.
2014-05-13 13:38:51 +02:00
Jürg Lehni
fce31599a5 Use _dontMerge for #getSelectedColor() on both item and layer, and have style getters on item pass on _dontMerge to the style object. 2014-04-29 19:40:46 +02:00
Jürg Lehni
c5b317600a Support comparing colors with string values in Color#equals(). 2014-04-27 11:16:22 +02:00