Jonathan Puckey
|
3837ca1f14
|
Have Path#setSegments convert elements in the passed array to segments.
|
2011-03-04 13:02:11 +01:00 |
|
Jürg Lehni
|
2b6dede883
|
Clean up white-spaces and line lengths.
|
2011-03-03 22:45:17 +00:00 |
|
Jürg Lehni
|
cbe29fd02b
|
Rename Color#getCssString() to #toCssString(), to go with #toString().
|
2011-03-03 17:36:53 +00:00 |
|
Jürg Lehni
|
46a0589547
|
Use Error constructor correctly.
|
2011-03-03 17:29:40 +00:00 |
|
Jürg Lehni
|
941c3c7346
|
Declare all classes as local variables, so they can be scoped.
|
2011-03-03 13:33:41 +00:00 |
|
Jürg Lehni
|
c84df5a346
|
Use Segment.read() correctly in Path#initialize().
|
2011-03-03 13:16:14 +00:00 |
|
Jürg Lehni
|
3a46ac3b54
|
Allow read() methods to receive an optional length parameter.
|
2011-03-03 13:15:55 +00:00 |
|
Jürg Lehni
|
ecbd52cdf7
|
Fix Path.Line() constructor with 4 arguments.
|
2011-03-03 13:10:29 +00:00 |
|
Jürg Lehni
|
e089e080c2
|
Make Path#_add() handle both addition and insertion, and use it consequently so segment.path always gets correctly set.
|
2011-03-03 13:10:17 +00:00 |
|
Jürg Lehni
|
9a2462d147
|
No need to explicitely call Point#toString() in Segment#toString().
|
2011-03-03 13:03:57 +00:00 |
|
Jürg Lehni
|
d4d6d652ec
|
Rename Path#addSegment() to #_add(), to make sure it's supposed to be a private method.
|
2011-03-03 12:51:47 +00:00 |
|
Jürg Lehni
|
53b091b871
|
Rename #transformContent() to #_transform(), to make sure it's supposed to be a private method.
|
2011-03-03 12:47:55 +00:00 |
|
Jürg Lehni
|
490ef78b53
|
Fix error in CompoundPath#closePath(): Forgot to pass 'this' to getCurrentPath().
|
2011-03-03 12:26:28 +00:00 |
|
Jürg Lehni
|
1d37c7b76f
|
Use 'that' variable for private instance method.
|
2011-03-03 12:25:41 +00:00 |
|
Jürg Lehni
|
26ebe2f2c0
|
Refacture CompoundPath to only use injection scope for methods that require getCurrentPath().
|
2011-03-03 12:23:46 +00:00 |
|
Jürg Lehni
|
07fcc000cf
|
Move the new refactored CanvasDraw functionality to static Item.draw() and #draw() instance methods on each prototype.
|
2011-03-03 12:19:43 +00:00 |
|
Jürg Lehni
|
54bb4d5527
|
Merge remote-tracking branch 'origin/master'
|
2011-03-03 10:55:39 +00:00 |
|
Jürg Lehni
|
964dc462e9
|
Add comments to Path#strokeBounds and scafolding for #controlBounds too.
|
2011-03-03 10:55:35 +00:00 |
|
Jonathan Puckey
|
8ff04b6614
|
Unify canvas drawing commands in CanvasDraw.js and rework compositing code.
|
2011-03-03 02:22:21 +01:00 |
|
Jürg Lehni
|
91ec37de9c
|
Add foundations for Path#strokeBounds support.
|
2011-03-02 17:27:20 +00:00 |
|
Jürg Lehni
|
620cb2c754
|
Various clean-ups in Path.
|
2011-03-02 17:23:45 +00:00 |
|
Jürg Lehni
|
dbbefa9526
|
index on master: fd4b7b7 Include DocumentView.js in all examples and tests.
|
2011-03-02 16:22:26 +00:00 |
|
Jonathan Puckey
|
74f797a9dd
|
Clean up whitespace.
|
2011-02-28 18:30:08 +01:00 |
|
Jonathan Puckey
|
c6d606db0a
|
Path: After calling Path#add(segment), return the added segment. Add todo to Path#insert.
|
2011-02-27 15:50:41 +01:00 |
|
Jonathan Puckey
|
9496ac70bd
|
Clean up Path.RegularPolygon constructor.
|
2011-02-26 19:21:52 +01:00 |
|
Jonathan Puckey
|
eebe7e2731
|
Implement Path.RegularPolygon constructor and add tests for it.
|
2011-02-26 19:19:02 +01:00 |
|
Jürg Lehni
|
506e7c036c
|
Merge remote-tracking branch 'origin/master'
|
2011-02-26 17:27:12 +01:00 |
|
Jürg Lehni
|
6d25dbbd22
|
Add beginning of path length calculations, work in progress.
|
2011-02-26 17:26:54 +01:00 |
|
Jonathan Puckey
|
51f4ee718c
|
As in Scriptographer, we don't worry if there wasn't a moveTo before the first lineTo.
|
2011-02-26 12:44:09 +01:00 |
|
Jonathan Puckey
|
8828ed7e25
|
CompoundPath - check for this.blendMode != 'normal'.
|
2011-02-26 01:02:17 +01:00 |
|
Jonathan Puckey
|
c9d04d33f8
|
Implement BlendMode class.
|
2011-02-25 12:47:52 +01:00 |
|
Jonathan Puckey
|
4d83631230
|
Segment: remove todo.
|
2011-02-24 17:14:59 +01:00 |
|
Jonathan Puckey
|
f65625b591
|
Change CompoundPath#moveBy to be relative to the previous position in lack of an argument.
|
2011-02-24 17:13:41 +01:00 |
|
Jonathan Puckey
|
ad82be1bec
|
Add CompoundPath#bounds
|
2011-02-24 17:11:02 +01:00 |
|
Jürg Lehni
|
0d53167926
|
Simplify calculation of bezier polynomial derivative, by dividing all factors by 3.
|
2011-02-22 10:39:05 +01:00 |
|
Jürg Lehni
|
614f9998de
|
More optimisations in Path#getBounds().
|
2011-02-22 10:35:48 +01:00 |
|
Jürg Lehni
|
a08e3dc366
|
Optimise Path#getBounds() by merging internal f() and bounds() functions and thus reducing calls.
|
2011-02-22 10:33:46 +01:00 |
|
Jürg Lehni
|
452b1e2792
|
Add explanations to Path#getBounds().
|
2011-02-22 10:25:18 +01:00 |
|
Jonathan Puckey
|
b9d37e1b9b
|
Only draw a CompoundPath if it is visible.
|
2011-02-21 03:52:03 +01:00 |
|
Jonathan Puckey
|
357a8af6ec
|
Clean up white spaces.
|
2011-02-21 03:32:39 +01:00 |
|
Jonathan Puckey
|
5e271359b9
|
Add todo.
|
2011-02-21 01:16:53 +01:00 |
|
Jonathan Puckey
|
f83309d6b7
|
Optimize Path#draw.
|
2011-02-20 20:47:13 +01:00 |
|
Jürg Lehni
|
3374e50def
|
Yet another optimisation in Path#transformContent(): Only transform handles if they are not [0, 0].
|
2011-02-20 11:20:23 +01:00 |
|
Jürg Lehni
|
98837cbe98
|
Further optimise Path#transformContent() by reusing arrays and thus reducing memory footprint.
|
2011-02-20 11:15:40 +01:00 |
|
Jürg Lehni
|
c89d04dca6
|
Optimise Path#getBounds() by not relying on Point#add() but instead doing the calculations in direct math in the per-coordinate loop.
|
2011-02-20 02:05:40 +01:00 |
|
Jürg Lehni
|
6c4121db4b
|
Optimise Path#transformContent() by using Matrix#transform() version that handles arrays of multiple point values for much improved performance.
|
2011-02-20 01:55:43 +01:00 |
|
Jürg Lehni
|
ed752ed744
|
Pass ctor.dont to all constructor calls that are followed with explicit initialize() calls afterwards, to make sure it is only called once.
|
2011-02-20 01:45:53 +01:00 |
|
Jonathan Puckey
|
10623ddb62
|
Implement Gradient, GradientColor, GradientStop.
|
2011-02-19 22:50:37 +01:00 |
|
Jonathan Puckey
|
2b1dee1bd4
|
Add opacity support in Path#draw.
|
2011-02-19 17:33:23 +01:00 |
|
Jonathan Puckey
|
c2849b3692
|
Change PathStyle, CompoundPath and Path to work with new Color classes.
|
2011-02-19 17:25:16 +01:00 |
|
Jonathan Puckey
|
bd5c906047
|
Fix error in CompoundPath.
|
2011-02-19 14:12:05 +01:00 |
|
Jürg Lehni
|
b14c9ae21b
|
For the closure injection to work properly we need an iterator function that provides a scope to the referenced key value. Rely on Base.each() for this, which even in a scaled down Bootstrap will be available and not harmful, as it won't rely on modified native prototypes.
|
2011-02-17 23:34:03 +00:00 |
|
Jürg Lehni
|
bc33ae8084
|
Add missing #closePath() to both Path and CompoundPath.
|
2011-02-17 23:01:18 +00:00 |
|
Jürg Lehni
|
4c2e1ee5c9
|
Optimise and simplfy CompoundPath code, by moving scope into extend() call, and only compiling one fields object inside it that is return at the end.
|
2011-02-17 22:58:56 +00:00 |
|
Jürg Lehni
|
e6dc189310
|
Simplify injection separation by using multiple arguments to extend().
|
2011-02-17 22:46:28 +00:00 |
|
Jürg Lehni
|
5850ef3cfc
|
Seperate Path definition into two parts, one that requires scoped private functions and values, and one that does not, to keep related things closer together and save indentation space.
|
2011-02-17 20:08:37 +00:00 |
|
Jürg Lehni
|
19121c33b2
|
Simplify injection of Path constructors.
|
2011-02-17 20:04:02 +00:00 |
|
Jonathan Puckey
|
deb1699f13
|
Tidy up code.
|
2011-02-17 16:00:03 +01:00 |
|
Jonathan Puckey
|
36de01a6ae
|
Move Path Constructors into seperate file.
|
2011-02-17 15:55:26 +01:00 |
|
Jonathan Puckey
|
1953c17f41
|
CompoundPath: move getCurrentPath into the outer scope and implement smooth and simplify.
|
2011-02-17 14:33:25 +01:00 |
|
Jonathan Puckey
|
0c1f29ce29
|
Implement CompoundPath and move most of PathItem into Path.
|
2011-02-17 13:36:40 +01:00 |
|
Jürg Lehni
|
9d1458e6ae
|
Rely on new Array.isArray() now for array checks.
|
2011-02-15 23:15:13 +00:00 |
|
Jürg Lehni
|
b8816a07f5
|
Reformat to fit 80 chars boundary.
|
2011-02-15 23:10:48 +00:00 |
|
Jürg Lehni
|
3d64b017c5
|
Remove comment about having Point.read() return consumed arguments indices, as after analysing the situation it seem too complex to imeplement easly: Point.read internally relies on Point#initialize for all the heavy lifting, and this would have to report back how many indices were consumed somehow...
|
2011-02-15 22:56:53 +00:00 |
|
Jürg Lehni
|
a154819350
|
Switch to using indexOf() in Segment#index for now.
|
2011-02-14 10:35:40 +00:00 |
|
Jürg Lehni
|
91e8a3b652
|
Update Bootstrap to fix issues with beans (requiring definition of setter when getter is redefined in sub-class), and remove setBounds in PathItem that was introduced for that reason.
|
2011-02-14 10:28:27 +00:00 |
|
Jürg Lehni
|
a6e9ee56d4
|
Cleanup Path constructors by using simple constructor functions instead of Base.extend() classes, use Path.Oval for Path.Circle and optimise Path.Oval through ovalSegments array with real segments (no use to call Segment.read each time).
|
2011-02-14 02:05:54 +00:00 |
|
Jürg Lehni
|
ed55dc39fb
|
Fix PathItem constructor by no redefining arguments variable that results in arguments array changing as well on some browsers.
|
2011-02-14 01:47:56 +00:00 |
|
Jürg Lehni
|
38f4dd353d
|
Make Item#bounds setter work for PathItem, and add two TODO comments about Bootstrap shortcommings that cause it to break.
|
2011-02-14 01:24:22 +00:00 |
|
Jürg Lehni
|
3af5d549f6
|
Add comments about possible optimisations in PathItem#transformContent().
|
2011-02-14 01:14:03 +00:00 |
|
Jürg Lehni
|
ee8c30b518
|
Implement Matrix, Item#position, Item#bounds (setter too), Item#transform(), Item#scale(), Item#rotate(), Item#transalte() and Item#shear(). Some of it work in progress.
|
2011-02-14 01:05:16 +00:00 |
|
Jürg Lehni
|
420ffaa7ea
|
No need to check for existance of handleIn/Out, as they are always defined.
|
2011-02-13 18:56:06 +00:00 |
|
Jürg Lehni
|
eeb7d377e6
|
Add optional index argument to static read() functions, so points, rectangle, sizes and segments can be read from any index in the arguments array.
|
2011-02-13 18:15:55 +00:00 |
|
Jürg Lehni
|
08d4826441
|
Reformating code to follow Scriptotgrapher coding conventions.
|
2011-02-13 16:26:24 +00:00 |
|
Jürg Lehni
|
0ac19a8e82
|
Optimise read() functions to only convert if argument is not of desired type already.
|
2011-02-13 16:05:19 +00:00 |
|
Jürg Lehni
|
d67055b09b
|
Add documentation to PathItem#bounds.
|
2011-02-13 15:59:22 +00:00 |
|
Jürg Lehni
|
515439c4df
|
Optimize PathItem#bounds by using less coordinate lookups.
|
2011-02-13 15:55:43 +00:00 |
|
Jürg Lehni
|
71d1ff3cb3
|
Make PathItem#getBounds() work for closed paths too.
|
2011-02-13 15:51:54 +00:00 |
|
Jürg Lehni
|
d59d514a55
|
Fix bug in PathItem#bounds (wrongly used variable name twice), now works properly for open paths.
|
2011-02-13 15:49:36 +00:00 |
|
Jürg Lehni
|
e08359f49d
|
Beginning of PathItem#bounds and tests to go along with it, not functional yet.
|
2011-02-13 15:40:30 +00:00 |
|
Jürg Lehni
|
a30e4057e3
|
Fix PathItem constructor to support passing of segments both as array and arguments.
|
2011-02-13 15:39:24 +00:00 |
|
Jürg Lehni
|
771d9d0efe
|
Fix a couple of bugs in shape drawing code, and switch to consistently use this.currentSegment rather than this._segments[this._segments.length - 1], to use the internal check for a starting point.
|
2011-02-13 15:12:25 +00:00 |
|
Jürg Lehni
|
a579b8bd3d
|
Make sure Segment#handleIn and #handleOut are always defined, even when not provided, and change compareSegments() to also reflect this change by relying on Segment.read for conversion of comparison values.
|
2011-02-13 15:09:24 +00:00 |
|
Jürg Lehni
|
4b2341b3c2
|
Add gettter/setters for Path#segments, and fix bug in Segment#previous.
|
2011-02-13 13:52:51 +00:00 |
|
Jonathan Puckey
|
c1d2cab5d9
|
Segment.js: fix toString and remove methods. Add test for segment.remove().
|
2011-02-12 19:10:19 +01:00 |
|
Jonathan Puckey
|
9b5e18c795
|
PathItem: replace this.segments.push(segment) to this.addSegment(segment)
|
2011-02-12 19:08:34 +01:00 |
|
Jonathan Puckey
|
c0e2101c32
|
Clean up src directory and move Bootstrap.js into lib.
|
2011-02-12 17:59:39 +01:00 |
|