Commit graph

3816 commits

Author SHA1 Message Date
Jürg Lehni
4ca43ef2c3 Some documentation fixes. 2014-03-29 10:21:57 +01:00
Jonathan Puckey
400bc69159 Remove unnecessary commas.
Found using jscritic.com.
2014-03-28 14:02:39 +01:00
Jonathan Puckey
01dbfe705c Fix accidental leaking of variables to the global scope.
Found using jscritic.com
2014-03-28 13:46:51 +01:00
Jürg Lehni
8c45786759 Fix a regression in Style#fontSize.
Closes #432.
2014-03-26 16:58:43 +01:00
Jürg Lehni
e453b90ad2 Remove unused variable. 2014-03-20 17:26:22 +01:00
Jürg Lehni
7233c82084 Fix wrong call of _clearBoundsCache() on child.
Closes #426.
2014-03-20 17:20:26 +01:00
Jürg Lehni
aeeba4d58d Implement ChangeFlag.INSERTION notification to know when an item was inserted in a new parent inside the DOM. 2014-03-18 15:28:29 +01:00
Jürg Lehni
946e0d5b2c Fix spelling mistakes. 2014-03-18 15:25:25 +01:00
Jürg Lehni
e998083156 Rename Shape#shape to Shape#type. 2014-03-18 12:47:54 +01:00
Jürg Lehni
3dae48acf4 Bring back accidentally removed support for pixelRatio in CanvasProvider. 2014-03-18 12:42:28 +01:00
Jürg Lehni
09d90a21bc Support legacy #type filtering again in #getItems(), and offer an alternative through instanceof checks with #class and #constructor property. 2014-03-18 12:39:55 +01:00
Jürg Lehni
d28bac0734 Support Firefox 3.6 still, with surprising little effort.
Why, I don't really know :)
2014-03-18 12:38:29 +01:00
Jürg Lehni
62f7b0d73e Simplify and merge Item#getItems() code with Project#getItems() 2014-03-18 11:47:50 +01:00
Jürg Lehni
833d71f7ea Remove Item#type and replace it with Item#className, the non-hyphenated version of #type. 2014-03-18 11:42:38 +01:00
Jürg Lehni
f115072e8c Rename HIERARCHY change-flag to more precise CHILDREN. 2014-03-17 18:59:10 +01:00
Jürg Lehni
1df20c3794 Fix comments in Symbol#_changed() 2014-03-17 18:58:44 +01:00
Jürg Lehni
0aa73d90c5 Change the way context dependent font sizes are handled by delegating handling to view.
Closes #425
2014-03-17 16:41:57 +01:00
Jürg Lehni
2b4ecfa669 Remove unused pixelRatio code from CanvasProvider. 2014-03-17 16:41:11 +01:00
Jürg Lehni
f3524ed0e2 Only draw selection if global matrix was calculated for the item. 2014-03-17 15:17:39 +01:00
Jürg Lehni
2a3f0646f0 Fix exception in _getMonoCurves() when path is empty.
Closes #427.
2014-03-17 14:58:40 +01:00
Jürg Lehni
438de7013a Correctly handle groups as clipping masks.
Closes #370.
2014-03-17 14:51:47 +01:00
Jürg Lehni
0fe52a7d39 Implement an optimization in _changed() notifications where not all curves need to updated if only segments change that already have told their curves about the change. 2014-03-17 14:35:33 +01:00
Jürg Lehni
72ba453ba2 Define Path#reorient() and simplify preparePath() 2014-03-17 10:04:09 +01:00
Jürg Lehni
e04946e250 Simplify CompoundPath#reorient() code. 2014-03-17 10:03:49 +01:00
Jürg Lehni
7372c14f0c Expose reorientPath() functionality as Path#getInteriorPoint() and CompoundPath#reorient() 2014-03-17 09:48:00 +01:00
Jürg Lehni
6d47824a69 Merge remote-tracking branch 'origin/master' into bool-cleanup
Conflicts:
	src/path/PathItem.Boolean.js
2014-03-16 22:48:08 +01:00
Jürg Lehni
2a08a88461 Avoid calling #moveTo() twice in SVG 'zm' path data sequence. 2014-03-16 22:44:46 +01:00
hkrish
b193cf0fe8 More precise handling of islands and holes in reorient path 2014-03-15 16:15:55 +01:00
Jürg Lehni
db1d87b843 Fix GradientStop.readAll() call that was omitted in the recent function signature change. 2014-03-14 15:43:16 +01:00
hkrish
b1fca8d3dc Merge branch 'master' into bool-cleanup
* master: (36 commits)
  Avoid dividing with zero while splitting curves
  Implement propper support for pointer events and MSPointer events.
  Clean up white-space.
  WinGums: Some more code clean-up.
  WineGum example: Untangle the offset calculation code a bit.
  WineGum example: Some more style changes.
  Some more simplifications and style changes.
  Convert to cleaner OOP style.
  Precalculate side points again for better performance.
  Optimise WineGums example.
  Change title of WineGums example.
  Optimise WineGums example.
  Add WineGums example by kynd.info.
  Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
  Optimize and fix code that draws selections and handles.
  Minor clean-up in the way Base.exports are handled.
  Better handle Path#moveTo() / #closePath() edge cases in SVG data.
  Fix SVG issues with reflected control points in the commands 'SsTt'
  Prevent accidental transformation of selection bounds in TextItem.
  Fix importPoly() on Node.js
  ...
2014-03-13 19:32:51 +01:00
Jürg Lehni
c84c019990 Add TODO and DOC for new #arcTo(to, radius, rotation, clockwise, large) 2014-03-13 17:46:31 +01:00
Jürg Lehni
42558fa057 Changes to new #arcTo(): Rename sweep -> clockwise and change argument sequence, as clockwise is more often used than large. 2014-03-13 16:35:56 +01:00
Jürg Lehni
6c7c4d0798 Close previous paths if followed by a new M command. 2014-03-13 03:28:46 +01:00
Jürg Lehni
c63f9516b3 Remove Project#options.
The deprecated getter now redirects to PaperScope#settings.
2014-03-13 01:23:55 +01:00
Jürg Lehni
d622d648c1 Merge branch 'refs/heads/master' into apply-matrix 2014-03-13 01:19:52 +01:00
Jürg Lehni
4e20a5594e Fix failing test. 2014-03-13 01:15:36 +01:00
Jürg Lehni
d58f24157e Merge branch 'refs/heads/master' into apply-matrix 2014-03-13 01:05:09 +01:00
Jürg Lehni
10c28a301e Fix compare statements. 2014-03-13 01:04:31 +01:00
Jürg Lehni
0bca1656ac Avoid CompoundPath#reduce() in SVG path import by improving regular expression that identifies the need for CompoundPath. 2014-03-13 01:01:26 +01:00
Jürg Lehni
3c257dcae0 Merge branch 'refs/heads/master' into apply-matrix 2014-03-13 00:54:05 +01:00
Jürg Lehni
e80991658b Fix issue with relative commands after Z.
Closes #413.
2014-03-13 00:52:24 +01:00
Jürg Lehni
afcabea1a7 Fix issue with Z in the middle of SVG path data, not followed by a M command.
Closes #413.
2014-03-12 23:24:09 +01:00
Jürg Lehni
86c5894822 No need to use parseFloat() in color parsing, a + does enough. 2014-03-12 23:06:13 +01:00
Jürg Lehni
326ecfca0e Rename angle parameter to rotation. 2014-03-12 23:05:54 +01:00
Jürg Lehni
56335ae5f5 Implement SVG-style #arcTo() version.
This should fix the arc related part of issue #413.
2014-03-12 23:00:47 +01:00
Jürg Lehni
7ace275da8 Implement Segment#transform() 2014-03-12 22:58:12 +01:00
Jürg Lehni
847060e146 Improve handling of _changed() events in Segment. 2014-03-12 22:58:00 +01:00
Jürg Lehni
dc76ef144e Remove accidentally committed console.log() 2014-03-12 21:34:52 +01:00
Jürg Lehni
6a58679593 Stick to 80 char line length. 2014-03-12 15:40:22 +01:00
Jürg Lehni
0ea5416a54 Deactivate dragstart events on view too. 2014-03-12 15:39:08 +01:00
hkrish
066d47dbf7 Avoid dividing with zero while splitting curves 2014-03-12 13:34:43 +01:00
Jürg Lehni
9c552b1739 Implement propper support for pointer events and MSPointer events.
Closes #406 and #336.
2014-03-12 13:22:41 +01:00
Jürg Lehni
550044e476 Merge branch 'refs/heads/master' into apply-matrix 2014-03-04 09:55:20 +01:00
Jürg Lehni
b08cc68ffe Fix newly introduced issue in CompoundPath#moveTo() / #lineTo() 2014-03-04 09:48:41 +01:00
Jürg Lehni
73ef269f0f Bake in matrix changes if owner has #applyMatrix set. 2014-03-04 09:36:00 +01:00
Jürg Lehni
d594b4264d Define settings.applyMatrix and inherit at Item creation time. 2014-03-04 09:30:04 +01:00
Jürg Lehni
7dbf6ceaff Move Project#options to PaperScope#settings and define reasonable defaults. 2014-03-04 09:29:28 +01:00
Jürg Lehni
5b49fdf3ff Merge branch 'refs/heads/master' into apply-matrix 2014-03-04 09:27:55 +01:00
Jürg Lehni
763fd5b6a3 Optimize and fix code that draws selections and handles. 2014-03-04 09:26:55 +01:00
Jürg Lehni
dad17ba28e Minor clean-up in the way Base.exports are handled. 2014-03-03 22:53:00 +01:00
Jürg Lehni
30b11e5968 Better handle Path#moveTo() / #closePath() edge cases in SVG data.
Relates to issue #413
2014-03-03 17:27:47 +01:00
Jürg Lehni
2f5a9bb70d Fix SVG issues with reflected control points in the commands 'SsTt'
Relates to issue #413
2014-03-03 08:57:33 +01:00
Jürg Lehni
7911d8b42a Change code sequence in tracePaths() to only calculate tangents and winding values if they are required. 2014-03-02 21:39:54 +01:00
Jürg Lehni
21bd4628f2 Merge branch 'refs/heads/bool-cleanup' 2014-03-02 21:19:47 +01:00
Jürg Lehni
d7be443119 Simplify path filtering code in tracePaths() a bit, and improve documentation. 2014-03-02 21:19:31 +01:00
Jürg Lehni
36e3cbddf2 Remove inheritance of Item#applyMatrix setting again.
Implementation cannot be solved well, since hierarchy is not known at creation time of item.
2014-03-02 21:00:08 +01:00
Jürg Lehni
80a725d08a Rename Item#transformContent to the more correct Item#applyMatrix 2014-03-02 16:04:17 +01:00
Jürg Lehni
fb1420eee0 Internalize Item#applyMatrix() code in #transform() and add short-cut method to it in Matrix#apply() 2014-03-02 15:50:45 +01:00
Jürg Lehni
6fdb9f60bd Merge branch 'refs/heads/master' into apply-matrix 2014-03-02 01:27:50 +01:00
Jürg Lehni
2f61d11a3b Prevent accidental transformation of selection bounds in TextItem.
Closes #386.
2014-03-02 01:07:36 +01:00
Jürg Lehni
7bf9cc88e4 Merge pull request #387 from mgrabovsky/master
Fix typo in comment
2014-03-02 01:05:21 +01:00
Jürg Lehni
ac2161c6d9 Fix importPoly() on Node.js
Closes #390
2014-03-02 01:02:33 +01:00
Jürg Lehni
0ba58431e5 Merge branch 'refs/heads/master' into apply-matrix 2014-03-01 23:41:24 +01:00
Jürg Lehni
7dd3bfa2ec Fix issue in recent Path.Line constructor optimization.
Line paths should not be closed.
2014-03-01 23:40:38 +01:00
Jürg Lehni
4ba17127aa Make sure that #transformContent can only be set to true on items that actually support it. 2014-03-01 23:24:33 +01:00
Jürg Lehni
1a836a168f Merge branch 'refs/heads/master' into apply-matrix
Conflicts:
	src/item/Item.js
2014-03-01 22:55:54 +01:00
Jürg Lehni
a8578326ea Inherit #transformContent setting from parent, if not explicitely defined. 2014-03-01 22:52:00 +01:00
Jürg Lehni
dad7821ee9 Include Item#transformContent in serialization and cloning. 2014-03-01 22:51:01 +01:00
Jürg Lehni
7cf4591a1e Define Item#style before calling #addChild() in #initialize(), to avoid issues with layers. 2014-03-01 22:49:46 +01:00
Jürg Lehni
a3114e5c28 Do not preserve matrix transformations in empty groups when applied to inexisting content. 2014-03-01 22:48:44 +01:00
Jürg Lehni
4129231504 Rename Path. _addSquareJoin() to more suitable _addBevelJoin() 2014-02-28 18:10:58 +01:00
Jürg Lehni
bd59be8629 Fix issue with strokeBounds affecting corners with miter limit and both handles set. 2014-02-28 18:01:50 +01:00
Jürg Lehni
fe146c5ec0 Fix issues in Point#isOrthogonal() and Point#isColinear() 2014-02-28 17:57:09 +01:00
hkrish
cb810c73bd Fix self-intersection resolution on a single bezier curve 2014-02-28 16:51:28 +01:00
Jürg Lehni
c1ccdf6cb7 Take into account the view's resolution in Item#rasterize() 2014-02-26 16:20:19 +01:00
Jürg Lehni
ec0877962b Expose the view's pixel-ratio and resolution through View#pixelRatio and View#resolution 2014-02-26 16:19:48 +01:00
Jürg Lehni
ccfd51a65a Improve performance of Path constructors and handling of { insert: false } Item creation. 2014-02-26 16:15:51 +01:00
Jürg Lehni
737466d15c Fix all faulty {@true} doc statements. 2014-02-26 15:39:00 +01:00
Jürg Lehni
49801e4b8b Improve performance of Path.Line() constructor.
Passing an array is much faster than using arguments directly.
2014-02-26 14:55:43 +01:00
Jürg Lehni
bf50bd649a Fix issue in Item#rasterize() when resolution is not 72 DPI.
Closes #412.
2014-02-26 11:54:14 +01:00
Jürg Lehni
2c16bd9eb1 Convert to standard paper.js loop format. 2014-02-26 01:24:00 +01:00
patrickheeney
aa2102ecb9 Fix event handlers for paperjs/paper.js#409 2014-02-25 13:02:53 -07:00
Jürg Lehni
4c048dbc94 Rename fatline option to more explicit fatlineClipping. 2014-02-24 21:54:47 +01:00
Jürg Lehni
2fb1522c76 Minor code cleanup. 2014-02-24 21:33:35 +01:00
Jürg Lehni
f4baf690f8 Fix issue introduced in 0ce89fa47c 2014-02-24 21:30:12 +01:00
Jürg Lehni
3e49e3a5f1 Find better names for constants that represent almost 0 and almost 1. 2014-02-24 20:30:20 +01:00
Jürg Lehni
14df7b5d5a Shorten new edge case code in getWinding() a bit. 2014-02-24 20:29:44 +01:00
hkrish
cac86627be Correct winding number calculation when horizontal curves are involved. 2014-02-24 19:11:32 +01:00
hkrish
9e799d09eb Self-Intersections: Restore the logic issues while cleaning up 2014-02-23 16:44:07 +01:00
hkrish
49ddfafe4d Handle stationary points in #getWinding method. 2014-02-22 18:56:19 +01:00