Commit graph

209 commits

Author SHA1 Message Date
sapics
be4199b6eb Update copyright year to 2019 2018-12-27 16:13:01 +09:00
sapics
5904a288e7 Fix css color parse 2018-12-14 11:44:24 +01:00
sasensi
a7c2fb3ddf Improve Color.random() documentation. 2018-12-03 14:46:50 +01:00
sasensi
bbd65324bc Add typescript definition generation
This add a gulp task (`gulp docs:typescript`) to automatically generate
a typescript definition for the library. This should solve the problem
of having an out of sync type definition when we change the API.

This task takes advantage of existing JSDoc parsing to generate a
temporary file which is later formatted through a mustache template to
generate the final definition. This definition is then tested by
compiling a typescript file that use it.
The generated definition is added to the `gulp zip` task in order to be
published along with the bundled library.

So 2 new dev-dependencies are added with this change: `mustache` and
`typescript` packages. Using node and mustache to generate the
definition instead of relying on existing templating system is
motivated by a better development experience, with easier debugging
possibilities... through the usage of more modern tools.

As a side note, support of "rest parameters" (when a parameter can be
present multiple times) is added to existing JSDoc parser in order to
support this pattern on typescript side (E.g. for `Color#set()` method
which accept any sequence of parameters that is supported by `Color`
constructors).
2018-12-03 14:41:47 +01:00
sasensi
a4a2fb7eef Fix various documentation problems
- typos in comments
- wrong or missing types
- missing default values
2018-11-21 11:27:51 +01:00
sasensi
dd2c15ac83 Add documentation for Color.random() 2018-11-21 11:18:02 +01:00
sapics
cfc5a912da Replace url to avoid redirection
Replace http://jonathanpuckey.com to https://puckey.studio
2018-11-14 11:24:32 +01:00
sasensi
8202f78453 Fix typo in Color#convert documentation 2018-11-13 10:12:59 +01:00
sasensi
2e75467fb4 Fix group selected bounds and position color
Group selected color was applied differently to its bounds and position
depending on whether it had children or not when selected color was set.
This resulted in an unpredictable behaviour from a user point of view.
To change that:
- When `item.setSelectedColor()` is called, value is now always stored
in `item._style._values`, independently from the fact that item has
children or not.
- An helper method `compareCanvas()` is added to the test suite to allow
comparing selection rendering of a known working case to a failing one.
Two provided callbacks are executed in a dedicated `<canvas>`/`Project`
context and both results are compared with `resemble.js`.
2018-11-06 11:26:12 +01:00
Takahiro Nishino
6f2d75442c Improve color parsing for 4 characters hex code (#1565) 2018-10-14 21:44:22 +02:00
Jürg Lehni
4c035ada36 Minor fixes in comments and tests. 2018-10-10 23:03:57 +02:00
Jürg Lehni
fd1a517e84 Improve hex Color parser
Addresses changes in #1469
2018-10-06 21:57:30 +02:00
PeterLazar
a8f78859cb Add hexadecimal with alpha color parsing
Closes #1468
2018-10-05 20:14:20 +02:00
Jürg Lehni
47af603173 Support alpha channel in named CSS colors
Closes #1539
2018-10-04 17:26:48 +02:00
Jürg Lehni
da3a36230f Color: Improve CSS string parser and docs 2018-10-03 15:56:15 +02:00
sapics
e9c4e8cf3b Release memory on Color 2018-09-27 18:39:39 +09:00
Jürg Lehni
7dea96c6f2 Docs: Fix wrong @link references to bean properties. 2017-04-13 12:24:56 +02:00
Jürg Lehni
29e7aba587 Prevent cleaning pre-existing styles when setting item.style to an object.
Until v0.10.2, doing so would merge in the new styles. We should keep this behavior for reasons of compatibility.

Closes #1277
2017-03-11 16:26:18 +01:00
Jürg Lehni
5291043a5f Fix how gradient matrices are handled when Item#applyMatrix = false
Closes #1238
2017-03-09 14:31:41 +01:00
Jürg Lehni
d18fa8bb03 Support multiple gradient offsets at 0
Closes #1241
2017-01-24 18:14:56 -05:00
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