Jürg Lehni
|
ce74516228
|
Remove more beans access, this time related to various PathStyle getters / setters.
|
2011-03-05 01:36:27 +00:00 |
|
Jürg Lehni
|
c313e702c9
|
Clean up a whole lot of beans access, and in the process of the refactoring improve canvas, context, size and bounds handling in Raster and PlacedSymbol.
|
2011-03-05 01:26:12 +00:00 |
|
Jürg Lehni
|
b1027dbb38
|
Use better variable name.
|
2011-03-05 00:24:32 +00:00 |
|
Jürg Lehni
|
1d858147ec
|
Stop using style beans internally.
|
2011-03-05 00:23:16 +00:00 |
|
Jürg Lehni
|
1d866ecb6c
|
Clean up internal properties and beans in Color related classes.
|
2011-03-05 00:16:26 +00:00 |
|
Jürg Lehni
|
44ab8ed3a0
|
Refer to currentStyle through getters and setters, not through beans.
|
2011-03-05 00:03:28 +00:00 |
|
Jürg Lehni
|
4db061a048
|
Make sure Point is not using any beans internally.
|
2011-03-05 00:03:11 +00:00 |
|
Jürg Lehni
|
815e35fda6
|
Fix Segment#toString().
|
2011-03-04 23:55:49 +00:00 |
|
Jürg Lehni
|
342c5911c1
|
Add Events.getOffset(), to return coordinates relative to the target element's position.
|
2011-03-04 23:46:16 +00:00 |
|
Jürg Lehni
|
8d5024523c
|
Add Path#first/lastSegment.
|
2011-03-04 23:33:37 +00:00 |
|
Jürg Lehni
|
298dc912f3
|
Convert Tool to using new Events object instead of realing on full Bootstrap.
|
2011-03-04 23:32:46 +00:00 |
|
Jürg Lehni
|
ef1da14c0e
|
Use Events object to install 'load' event in PaperScript.
|
2011-03-04 23:32:11 +00:00 |
|
Jürg Lehni
|
b85235e1cb
|
Add Events object as a helper for installing and removing events.
|
2011-03-04 23:31:51 +00:00 |
|
Jürg Lehni
|
c25db2377f
|
Clean up Bootstrap core further and move Base.capitalize there.
|
2011-03-04 22:14:23 +00:00 |
|
Jürg Lehni
|
996af95ba3
|
Inline Bootstrap core into paper scope.
|
2011-03-04 22:03:43 +00:00 |
|
Jürg Lehni
|
7355c2d4a7
|
Switch to using Base.isArray.
|
2011-03-04 21:47:00 +00:00 |
|
Jürg Lehni
|
aa4892c0d8
|
Apply same optimisations from DOM methods in Item / Layer to Segment too.
|
2011-03-04 21:34:31 +00:00 |
|
Jürg Lehni
|
be6d60102c
|
Make sure Item#children is always checked for != null and simplify many of the DOM methods.
|
2011-03-04 21:34:14 +00:00 |
|
Jürg Lehni
|
e66dd46b9c
|
Start improving Item#clone() / #copyTo().
|
2011-03-04 20:57:16 +00:00 |
|
Jürg Lehni
|
f3663c04fe
|
Compress code using Base.each side-car.
|
2011-03-04 20:55:11 +00:00 |
|
Jürg Lehni
|
1bd0127ece
|
Remove dependency from full Bootstrap.
|
2011-03-04 20:54:57 +00:00 |
|
Jürg Lehni
|
93c3920505
|
Add definition of Base.capitalize() and remove dependencies of String#capitalize().
|
2011-03-04 19:46:41 +00:00 |
|
Jürg Lehni
|
702899b382
|
Fix a bug in #getFixedDistance() where equals was used on numbers (Java port left-over).
|
2011-03-04 19:16:25 +00:00 |
|
Jonathan Puckey
|
acb6e850a0
|
Use toCssString() in Color#getCanvasStyle.
|
2011-03-04 18:14:24 +01:00 |
|
Jürg Lehni
|
fb547a758f
|
Merge remote-tracking branch 'origin/master'
|
2011-03-04 16:55:01 +00:00 |
|
Jonathan Puckey
|
ff5ee13ba0
|
Fix Color#getCanvasStyle.
|
2011-03-04 17:54:36 +01:00 |
|
Jürg Lehni
|
66f5fcc847
|
Merge paper.js and build.js, to make sure the global paper object exists also when including seperate files during development and when running tests.
|
2011-03-04 16:52:17 +00:00 |
|
Jonathan Puckey
|
d54c30b9be
|
Avoid using beans in Rectangle.js
|
2011-03-04 16:18:42 +01:00 |
|
Jürg Lehni
|
92bf51a7cc
|
Simplify the way the paper namespace is created and populated.
|
2011-03-04 13:34:31 +00:00 |
|
Jürg Lehni
|
c6d79f964c
|
Generalise all read() functions in Base.read(), fix an issue in by making sure arguments passed to initialie are never larger than length, and have Color's initialize create an RGBColor, to still be able to use Color.read().
|
2011-03-04 13:19:07 +00:00 |
|
Jonathan Puckey
|
3837ca1f14
|
Have Path#setSegments convert elements in the passed array to segments.
|
2011-03-04 13:02:11 +01:00 |
|
Jonathan Puckey
|
c00f85c9e5
|
Merge remote branch 'origin/master'
|
2011-03-04 12:21:06 +01:00 |
|
Jonathan Puckey
|
81c5e0e4c8
|
Fix ToolHandler#getFixedDistance.
|
2011-03-04 12:20:53 +01:00 |
|
Jürg Lehni
|
6d00c723d9
|
Rename $operator() to more meaningful $eval().
|
2011-03-04 11:15:04 +00:00 |
|
Jürg Lehni
|
11672d104f
|
Align #include to the left.
|
2011-03-04 01:25:28 +00:00 |
|
Jürg Lehni
|
6f0f0cbd6b
|
Fix comments.
|
2011-03-04 01:23:47 +00:00 |
|
Jürg Lehni
|
7462a58903
|
Change missleading variable name.
|
2011-03-04 01:22:08 +00:00 |
|
Jürg Lehni
|
5a640b50f8
|
No need to export handleOperator() and handleSignOperator(), just use local privates.
|
2011-03-04 01:20:29 +00:00 |
|
Jürg Lehni
|
17aee283ec
|
Change sequence of handleOperator arguments for better readable resulting code.
|
2011-03-04 01:16:09 +00:00 |
|
Jürg Lehni
|
453da21bab
|
Test code for tool handlers and only create tool if they are present.
|
2011-03-04 01:13:21 +00:00 |
|
Jürg Lehni
|
c86eaf5684
|
Use nice formatting in produced code.
|
2011-03-04 01:09:22 +00:00 |
|
Jürg Lehni
|
be0d260cb4
|
Add support for Tool scripts in PaperScript.
|
2011-03-04 01:05:23 +00:00 |
|
Jürg Lehni
|
b80ba6fc86
|
Add support for canvas attribute in paperscript tags.
|
2011-03-04 00:58:10 +00:00 |
|
Jürg Lehni
|
6619447aa1
|
Convert ToolEvent type constants to Sg-style hyphenated lowercase strings.
|
2011-03-03 23:06:53 +00:00 |
|
Jürg Lehni
|
52ab361ed5
|
Include minified version of parse-js (25kb) inside PaperScript object.
|
2011-03-03 22:55:18 +00:00 |
|
Jürg Lehni
|
2b6dede883
|
Clean up white-spaces and line lengths.
|
2011-03-03 22:45:17 +00:00 |
|
Jürg Lehni
|
15a7b7e245
|
Add operator overloading through JS AST parsing and mangling to PaperScript.
|
2011-03-03 22:19:12 +00:00 |
|
Jürg Lehni
|
3324b083b7
|
Always execute PaperScripts on load, not on domready, as we want assets to be present as well.
|
2011-03-03 18:53:06 +00:00 |
|
Jürg Lehni
|
0b3c57ff88
|
Let paper be an instance of Base, and use its #extend() function to create scopes that inherit from paper but do not directly modify it.
|
2011-03-03 18:35:37 +00:00 |
|
Jürg Lehni
|
2c78a0a08b
|
Add beginning of support for <script type="text/paperscript">, inspired by Coffee Script.
|
2011-03-03 18:31:56 +00:00 |
|
Jürg Lehni
|
08970abd6d
|
Let paper.install() override existing values...
|
2011-03-03 18:31:18 +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
|
2f63a65ded
|
Clean up code.
|
2011-03-03 17:35:59 +00:00 |
|
Jürg Lehni
|
46a0589547
|
Use Error constructor correctly.
|
2011-03-03 17:29:40 +00:00 |
|
Jürg Lehni
|
484d74160b
|
Set private properties directly in initialize(), no need to call setters.
|
2011-03-03 17:27:56 +00:00 |
|
Jürg Lehni
|
0efc23b25c
|
Remove 2nd redundant definition of Gradient#getStops().
|
2011-03-03 17:26:30 +00:00 |
|
Jürg Lehni
|
7e52355f93
|
Rename Doc -> Document since paper code is namespaced now and does not clash with global Document prototype.
|
2011-03-03 17:23:27 +00:00 |
|
Jürg Lehni
|
fe1a01ecb6
|
Move paper.populate() functionality back to build.js.
|
2011-03-03 17:11:14 +00:00 |
|
Jürg Lehni
|
9a9cb91f72
|
Use the faster Point/Size.create() constructors across the basic classes for higher performance.
|
2011-03-03 17:07:12 +00:00 |
|
Jürg Lehni
|
dca26949ff
|
Add Size.create(), in analogy to Point.create().
|
2011-03-03 17:06:35 +00:00 |
|
Jürg Lehni
|
5508e6eab6
|
Change scoped compilation of paper so that only a populated paper object is returned to the global scope, but nothing is installed yet.
|
2011-03-03 16:57:29 +00:00 |
|
Jürg Lehni
|
59dc0ae6d0
|
Make sure paper.* objects are only installed in the passed object if there is not already something under the same name.
|
2011-03-03 16:38:04 +00:00 |
|
Jürg Lehni
|
e9881c02fc
|
Merge remote-tracking branch 'origin/master'
|
2011-03-03 16:33:01 +00:00 |
|
Jürg Lehni
|
5ed30d7089
|
Make sure all files end on empty line.
|
2011-03-03 16:32:55 +00:00 |
|
Jürg Lehni
|
dc75e14c59
|
Make sure utility objects stay in paper scope.
|
2011-03-03 16:32:39 +00:00 |
|
Jürg Lehni
|
aed8b0a6bc
|
Add utility objects to build.
|
2011-03-03 16:32:15 +00:00 |
|
Jürg Lehni
|
d088dc629e
|
Rename Paper to paper, implement it as an object literal and add paper.populate() and paper.install() methods that do the bootstraping.
|
2011-03-03 16:21:17 +00:00 |
|
Jonathan Puckey
|
00bf9aa88c
|
Fall back to Item#bounds if the Item doesn't have Item#strokeBounds in Item#draw.
|
2011-03-03 17:05:12 +01:00 |
|
Jürg Lehni
|
6923e168ab
|
Scope the compilation of the whole library and inject produced classes into global scope for now, add options later.
|
2011-03-03 14:09:20 +00:00 |
|
Jürg Lehni
|
80a5e4513e
|
Add preprocessor and build scripts for production of single file Paper.js version, based on previous work for Bootstrap.
|
2011-03-03 13:45:21 +00:00 |
|
Jonathan Puckey
|
2f9531810c
|
Implement todos about using strokeBounds instead of bounds.
|
2011-03-03 14:43:37 +01: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
|
1f29f6f104
|
Improve formating.
|
2011-03-03 12:46:50 +00:00 |
|
Jürg Lehni
|
b29a87653d
|
Replace % 2 with & 1 (modulo 2).
|
2011-03-03 12:46:31 +00:00 |
|
Jürg Lehni
|
231343c6a2
|
Fix context orientation bug correct proberly, by flipping shear values instead of scale values.
|
2011-03-03 12:34: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
|
136fe67917
|
Small change to CanvasDraw.
|
2011-03-03 02:25:09 +01: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 |
|
Jürg Lehni
|
ab9d07501e
|
Simplify code a bit, by chainging variable declarations.
|
2011-03-02 16:08:11 +00:00 |
|
Jürg Lehni
|
5d680b1987
|
Reformat code and add comment about clearRect dimensions.
|
2011-03-02 16:07:44 +00:00 |
|
Jürg Lehni
|
f9346a3b7a
|
Simplify code by merging setTransform() / transform() call to one.
|
2011-03-02 16:06:06 +00:00 |
|
Jürg Lehni
|
8cb3efb28e
|
Simplify calculation of total in getAverageColor().
|
2011-03-02 08:53:38 +01:00 |
|
Jürg Lehni
|
98de3cbb2a
|
Simplify getAverageColor() loop.
|
2011-03-02 08:52:39 +01:00 |
|
Jürg Lehni
|
8c96d91400
|
Fix errors introduced by bad merge.
|
2011-03-02 08:52:13 +01:00 |
|
Jürg Lehni
|
3f972be500
|
Merge remote-tracking branch 'origin/master'
Conflicts:
src/basic/Matrix.js
src/item/Raster.js
|
2011-02-28 23:27:03 +01:00 |
|
Jürg Lehni
|
a93156ec45
|
Break long lines at 80 chars.
|
2011-02-28 20:24:15 +01:00 |
|
Jürg Lehni
|
caa6e8f88e
|
Add comment about necessity to write more comments (nudge nudge, wink wink).
|
2011-02-28 20:23:03 +01:00 |
|
Jürg Lehni
|
aca79fc6a9
|
Simplify and optimise bounds calculations in Raster#transformContent().
|
2011-02-28 20:22:11 +01:00 |
|
Jürg Lehni
|
0305c91e8c
|
Change array format.
|
2011-02-28 20:21:21 +01:00 |
|
Jürg Lehni
|
d442ab1d71
|
Replace * 0.5 optimisations with more obvious / 2, as there is no need for such optimisation here.
|
2011-02-28 20:20:44 +01:00 |
|
Jürg Lehni
|
c3d02bbd16
|
Add explanatory comments to Raster#transformContent().
|
2011-02-28 20:17:59 +01:00 |
|
Jürg Lehni
|
763fc95776
|
Fix odd issue of Rasters rotating the wrong way, which seems to be caused by Canvas not using the same Matrix orientation as Paper.js (scaleX (m00) and scaleY (m11) need to be flipped).
|
2011-02-28 20:15:40 +01:00 |
|
Jürg Lehni
|
700f4aeb6a
|
Add #set() function to Point, Rectangle and Size (Matrix has it already).
|
2011-02-28 20:14:10 +01:00 |
|
Jonathan Puckey
|
14b8452bad
|
Fix mistakes in Tool.js
|
2011-02-28 19:29:32 +01:00 |
|
Jonathan Puckey
|
1261dc03df
|
Doc: point to the correct performance test url.
|
2011-02-28 18:41:46 +01:00 |
|
Jonathan Puckey
|
eee5e63a72
|
BlendMode: support DocumentView and return if an item's bounds is null.
|
2011-02-28 18:36:06 +01:00 |
|
Jonathan Puckey
|
0e011dee2a
|
Support DocumentView in Group#draw.
|
2011-02-28 18:35:12 +01:00 |
|
Jonathan Puckey
|
fe9853852a
|
Implement new Doc(size) constructor, Doc#views / Doc#activeView and support DocumentView in Doc#redraw.
|
2011-02-28 18:34:39 +01:00 |
|
Jonathan Puckey
|
285f81f363
|
Support PlacedSymbol opacity.
|
2011-02-28 18:31:51 +01:00 |
|
Jonathan Puckey
|
4fa293ec6d
|
Have Tool convert points from view coordinates to artwork coordinates.
|
2011-02-28 18:31:03 +01:00 |
|
Jonathan Puckey
|
74f797a9dd
|
Clean up whitespace.
|
2011-02-28 18:30:08 +01:00 |
|
Jonathan Puckey
|
84e31925b6
|
Implement DocumentView.
|
2011-02-28 18:28:16 +01:00 |
|
Jonathan Puckey
|
a7429205ed
|
Allow Matrix#applyToContext to optionally reset the matrix transformation.
|
2011-02-28 18:27:57 +01:00 |
|
Jonathan Puckey
|
12859d7a24
|
Item: pass on param object to Item#draw.
|
2011-02-28 16:41:24 +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
|
b1b923ab27
|
Add comment about problems with Base.clone().
|
2011-02-26 17:27:07 +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
|
461aa87211
|
Group: add todo.
|
2011-02-26 15:55:58 +01:00 |
|
Jonathan Puckey
|
9e6fd5a7e7
|
Speed up CanvasProvider.
|
2011-02-26 15:29:51 +01:00 |
|
Jonathan Puckey
|
1a6c5c8c6f
|
Doc: Change comment about using canvas.width = canvas.width instead of context.clearRect.
|
2011-02-26 14:38:50 +01:00 |
|
Jonathan Puckey
|
422b8911b8
|
Fix PlacedSymbol#transformContent.
|
2011-02-26 13:33:13 +01:00 |
|
Jonathan Puckey
|
22bccf3a31
|
Tool: Fix issue with onMouseMove being called while the user is dragging the mouse.
|
2011-02-26 13:00:55 +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
|
71bf8dba88
|
Item: remove logging statement.
|
2011-02-26 02:04:18 +01:00 |
|
Jonathan Puckey
|
8828ed7e25
|
CompoundPath - check for this.blendMode != 'normal'.
|
2011-02-26 01:02:17 +01:00 |
|
Jonathan Puckey
|
bebc8bc8cc
|
Another attempt at fixing Item#transformContent. The bounds are correctly calculated now, but Item#rotate rotates the items in the wrong direction and rotating by a point doesn't work well.
|
2011-02-26 00:58:54 +01:00 |
|
Jonathan Puckey
|
f79e6a0454
|
PlacedSymbol & Raster: fix transformContent and support BlendMode.
|
2011-02-25 19:38:55 +01:00 |
|
Jonathan Puckey
|
049504a67a
|
Changed BlendMode library from code ported from Pixastic to code ported from Gavin Kistner's Context Blender Javascript Library.
|
2011-02-25 18:37:46 +01:00 |
|
Jonathan Puckey
|
c47a18ea58
|
BlendMode: add todo about using Item#strokeBounds instead of Item#bounds.
|
2011-02-25 13:57:01 +01:00 |
|
Jonathan Puckey
|
1c364601b4
|
Added todo about supporting BlendMode for PlacedSymbols.
|
2011-02-25 13:28:35 +01:00 |
|
Jonathan Puckey
|
ec0b1dec1d
|
PlacedSymbol: add missing param object to PlacedSymbol#definition#draw call.
|
2011-02-25 13:13:46 +01:00 |
|
Jonathan Puckey
|
c9d04d33f8
|
Implement BlendMode class.
|
2011-02-25 12:47:52 +01:00 |
|
Jonathan Puckey
|
d9b75a7232
|
Implement Item#reverseChildren() and add tests for it.
|
2011-02-24 19:31:07 +01:00 |
|
Jonathan Puckey
|
d77741db4f
|
Implement item#rasterize(resolution).
|
2011-02-24 19:22:19 +01:00 |
|
Jonathan Puckey
|
014d1053a7
|
Fix Item#isDescendant / Item#isAncestor, implement Item#isGroupedWith and add tests.
|
2011-02-24 18:09:48 +01:00 |
|
Jonathan Puckey
|
6cea290dd8
|
Item: add todo's for missing functionalities.
|
2011-02-24 17:42:32 +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 |
|
Jonathan Puckey
|
95f9028091
|
Add Point#clone docs to Point.js.
|
2011-02-24 14:31:32 +01:00 |
|
Jonathan Puckey
|
ebbf8cf039
|
Add missing introduction to Point.js
|
2011-02-24 14:30:06 +01:00 |
|
Jonathan Puckey
|
a3ec524722
|
Add documentation from Point.java to Point.js, remove TODO about adding back center support to Scriptographer for Point#rotate, since it is already there.
|
2011-02-24 14:28:44 +01:00 |
|