AWagenheim
bd83a434ff
Update src/svg/ImportSVG.js
2012-09-19 16:41:22 -03:00
AWagenheim
ed6007004a
Update src/svg/ImportSVG.js
2012-09-18 22:12:28 -03:00
AWagenheim
555d179978
Added comments to ImportSVG.js
2012-09-18 21:11:01 -04:00
AWagenheim
ce7e0cd349
Added comments to ImportSVG.js
2012-09-18 21:08:04 -04:00
skierons
6c1c6bc2d5
Created an SVGRect.html to test exporting and modified SVGCircles.html for
...
easier testing.
2012-09-17 19:34:46 -04:00
jnighlight
67f7ece09e
Added comments
...
Code should be easier to understand.
2012-09-17 01:30:51 -04:00
jnighlight
aca3ed67a2
Cleaned up ExportSVG for general purpose.
...
Removed all lines written for testing purposes, saved them in a text
document for possible future reference. Code should look a lot more clean
and linear with all the stuff removed.
2012-09-17 00:34:55 -04:00
skierons
b582e96d76
Made changes to SVGCircles to be able to have an easier time reading the
...
data from the circle. Also, made an SVGRect html to test rectangles. No
other changes than that. Still working on telling the types of points from
Paths that we make. The curveTo's and arcTo's are giving us the most
trouble. LineTo's are points with 0 values for the handles. Jacob will
clean up the code for the walkthrough tomorrow. There we can figure out
how to solve this problem and hopefully finish up the exportPath method.
2012-09-16 23:52:09 -04:00
jnighlight
f43abe2f32
Mostly more Experimenting, commiting it for practicing across computers.
...
Noticed that curveto and quadratic bezier curveto can be differentiated by
format of the handleIn/handleOut variables in each segment (we think) If
either handleIn.x and handleOut.x = 0 OR handleIn.y and handleOut.y = 0,
then that means the curve is a simple curveTo tag in SVG. If handleIn.x =
-handleOut.x AND handleIn.y = -handleOut.y, then you have a quadriatic
Bezier Curveto in SVG (using the Q tag). We *HOPE* and think that that
curveTo(through, to) (a method creating an arc that passes through the
"through" point and ends at the "to" point) simply creates 2 segments,
each with a handleIn and Out, which can be read and put into SVG
seperately, making our lives a lot easier. Created more SVG test files.
Made RGBConverter more efficient with another method to help reduce copied
lines of code.
2012-09-16 15:38:22 -04:00
Justin Ridgewell
76303bb756
Merge branch 'ImportSVG'
2012-09-16 01:15:37 -04:00
Justin Ridgewell
799d7cacf1
Merge branch 'master' of git://github.com/Stetson-Team-Alpha/paper.js
2012-09-16 01:12:09 -04:00
Justin Ridgewell
64f34e6dfd
Add _importText
2012-09-16 01:02:23 -04:00
Justin Ridgewell
2952e01fc5
Change the import* functions to private
2012-09-16 01:02:00 -04:00
Justin Ridgewell
9218664a67
Remove the initialize function
...
I'm not using it for anything
2012-09-16 01:01:28 -04:00
skierons
2f5dcce61d
Jacob and I added a bit to the exportPath class. The initialize function
...
was not working correctly and JT said he would fix that. So we initialized
svgObj in the function for the meantime. We added svgRect and svgPoint
objects for testing purposes to figure out the xml svg format. Recovered
points, strokecolor, fillcolor, and stroke width from the input path. The
last thing we need to do for extracting path data is to find the point
definitions for each point in the path. Waiting on response from head
coders to find out what type of path is passed in for simple conversions
(such as: Rectangle path, Circle path, etc.). We added a method called
RGBConverter to covnert colors into hexadecimal format for xml.
2012-09-16 00:13:14 -04:00
Justin Ridgewell
2ce23aacc2
Implement importSVG, importGroup, and importPath
2012-09-16 00:10:14 -04:00
Justin Ridgewell
8cf70ca6e1
Rename the create* functions to import*
...
Keeps in line with the naming of the other functions
2012-09-16 00:09:39 -04:00
Justin Ridgewell
edd8f67f8d
Fix error
...
Shouldn't have two of these...
2012-09-16 00:09:02 -04:00
Justin Ridgewell
7879b4b61b
Convert from 4 spaces to tabs
...
Oops. Paper.js uses tabs…
2012-09-15 23:58:39 -04:00
Justin Ridgewell
bbef9a9594
Add a few helper functions
...
These will convert directly from SVG objects to Paper.js equivalents.
2012-09-15 22:26:43 -04:00
Justin Ridgewell
8659c6b44c
Reformat the code to match the rest of Paper.js
2012-09-15 22:25:19 -04:00
Justin Ridgewell
9f1d840ada
Todos
2012-09-15 22:17:06 -04:00
Justin Ridgewell
d978520ba3
Reformat code to match the rest of Paper.js
2012-09-15 22:16:07 -04:00
Justin Ridgewell
24f0535bb6
Convert tabs to 4 spaces
2012-09-15 19:59:53 -04:00
Justin Ridgewell
1efd36c179
Strip trailing whitespace
2012-09-15 19:58:44 -04:00
Jt Whissel
1ccd5199b5
Added the new classes to work with, that also have the method stubs inside.
2012-09-13 20:45:27 -04:00
Jonathan Puckey
7247c1a5a2
Fix Node.js support.
2012-09-01 19:27:38 +02:00
Jonathan Puckey
2a0f322c22
Point#getLength: access to out of bounds index in arguments array prevented function from being optimized.
2012-07-25 20:02:04 +02:00
Jonathan Puckey
d20fb61c7c
Cleanup code.
2012-04-25 20:47:53 +02:00
Jonathan Puckey
10ae88e90c
Merge pull request #84 from luckyvoice/merge
...
_length cache in Curve is not updated when the Path is transformed
2012-04-25 11:38:31 -07:00
Carlo Alberto Ferraris
9e79231198
Remove trailing comma
...
Closure compiler chokes on it.
2012-04-09 10:28:09 +03:00
Oliver Beattie
457e96ac2b
Remove unused delta variable from Item.fitBounds
2012-03-17 17:09:59 +00:00
Oliver Beattie
3c7563a3bf
When a path is transformed, the _length cache of its Curves should be invalidated
2012-03-17 17:09:54 +00:00
Jonathan Puckey
08c02a66f1
Fix Item#insertAbove(item) & Item#insertBelow(item). Closes #81
2012-03-13 15:58:52 +01:00
Jonathan Puckey
31b5a0647e
Add change tracking to Gradient & GradientStop.
2012-03-04 19:14:13 +01:00
Jonathan Puckey
d78103339d
Make sure value exists.
2012-03-03 21:12:11 +01:00
Jonathan Puckey
4d21e219c0
Merge pull request #74 from jonobr1/patch-1
...
Based on logic, I think the else if statement means to refer to c1 rathe...
2012-03-02 03:30:25 -08:00
Jonathan Puckey
b0aa54bf56
Add missing ImageData relating functions to ProxyContext and fix problem where values weren't being returned.
2012-03-02 12:23:32 +01:00
Jonathan Puckey
2fff5b4f79
Group: fix clipping. Fixes #66
2012-03-02 11:54:11 +01:00
Jonathan Puckey
c339ffca35
Close closed paths when drawing using Context#closePath(). Fixes #72
2012-03-01 23:25:00 +01:00
Jonathan Puckey
b75e75f586
Cleanup and fix ProxyContext.
2012-03-01 23:20:15 +01:00
Jonathan Puckey
507ff8bb23
Add ProxyContext helper class to assist in debugging problems relating to interactions with the canvas' 2d context.
2012-03-01 22:25:35 +01:00
Jonathan Puckey
7093b73d31
Cleanup last merged pull request.
2012-03-01 17:06:39 +01:00
Jonathan Puckey
0d53b284e3
Merge pull request #75 from abuchanan/path-reverse-segment-siblings
...
Path.reverse() should adjust segment indices
2012-03-01 08:01:20 -08:00
Jonathan Puckey
a343724094
Item#setName: Check for Item#_parent to avoid errors in removed items and top level groups. Fixes #76
2012-03-01 16:43:05 +01:00
Alex Buchanan
f1a6357a05
Path.reverse() should adjust segment indices
2012-02-18 15:13:23 -08:00
Jono Brandel
ad811827fc
Based on logic, I think the else if statement means to refer to c1 rather than c0 again, but I'd like to verify with you guys.
2012-02-07 09:10:33 -08:00
Jonathan Puckey
772174cedc
Documentation for Tool and View event handling.
2012-02-02 11:45:02 +01:00
Jürg Lehni
1e0f779ea5
Make the hit test point transformation sticky.
...
So it propagates through the DOM levels.
2011-12-28 09:13:42 +01:00
Jürg Lehni
50e1509ab9
Simplify some code in #getAverageColor().
2011-12-27 20:39:46 +01:00
Jürg Lehni
96f7d140a7
Use faster Point.create(x, y) internally.
2011-12-27 20:39:28 +01:00
Jürg Lehni
ad2abfb71f
Inline drawDashes() code.
2011-12-27 20:18:02 +01:00
Jürg Lehni
24c0d0f87e
Fix bug in Raster#getAverageColor().
2011-12-27 19:55:55 +01:00
Jürg Lehni
5093648bd1
Shorten code a bit.
2011-12-27 19:53:37 +01:00
Jürg Lehni
b832787f7f
Fix issues with multiple instances of symbols appearing in the wrong positions.
...
This was caused by cached bounds rectangles being modified elsewhere.
2011-12-27 19:53:28 +01:00
Jürg Lehni
2280c0cb94
Fix drawing of selected items in zoomed views.
2011-12-27 16:40:49 +01:00
Jürg Lehni
6e3cef6eb4
Implement PaperScope#tool accessor.
...
For better handling of automatic tool creation in PaperScript.
2011-12-27 16:33:17 +01:00
Jürg Lehni
7b03dbedb9
Move stats update to onFrame handler.
2011-12-27 16:06:47 +01:00
Jürg Lehni
df5c33571f
Do not exceed 80 chars per line.
2011-12-27 16:05:02 +01:00
Jürg Lehni
2249f09223
Minor code clean up.
...
No need to set reference again, since we're directly modifying it.
2011-12-26 11:16:16 +01:00
Jürg Lehni
dbd3eff84b
Don't forget to set #_bounds again if recycling.
...
This fixes the other observed slowdown since the bounds caching code overhaul.
2011-12-26 11:15:47 +01:00
Jürg Lehni
873cd79517
Fix a bug in code that keeps #_position cache up to date.
...
Only happened in items that assign another type to 'bounds' through _boundsType, e.g. PlacedSymbol, leading to substantial slow downs.
2011-12-26 11:08:09 +01:00
Jürg Lehni
28806fe977
Ue the faster Matrix#_transformPoint().
...
And reuse Point objects if possible.
2011-12-26 11:06:36 +01:00
Jürg Lehni
d2869cfd55
Cached bounds are no longer LinkedRectangles.
2011-12-26 11:06:04 +01:00
Jürg Lehni
c552925426
Fix issue with Item#removeChildren(from, to) removing too many items.
2011-12-26 02:39:54 +01:00
Jürg Lehni
7af06502bc
Fix Path#transform() to also return a reference to 'this'.
2011-12-25 16:39:08 +01:00
Jürg Lehni
783d2782c0
Fix wrong HitResult type when hitting Segment#point.
2011-12-25 16:38:43 +01:00
Jürg Lehni
1e690a68e0
Add TODO about HitResult points requiring transformations.
2011-12-25 12:39:10 +01:00
Jürg Lehni
3b0b1184a3
Implement checkSegment() without relying on #_transformCoordinates().
2011-12-25 12:34:51 +01:00
Jürg Lehni
951a3aea99
Inverse-transform the passed point on each DOM level in #hitTest().
2011-12-25 00:19:44 +01:00
Jürg Lehni
c30ff47930
Remove matrix argument from all hit-testing related methods.
...
We better inverse-transform the point and save the code!
2011-12-25 00:19:01 +01:00
Jürg Lehni
1eadc87b58
No need to calculate matrix before handling cached values.
2011-12-24 12:30:43 +01:00
Jürg Lehni
733d879bb6
Add / improve comments about DOCS.
2011-12-23 22:47:10 +01:00
Jürg Lehni
98c82856ea
Override #matrix accessors in Path to do nothing.
...
For the same reasons as described in the previous commit.
2011-12-23 22:46:53 +01:00
Jürg Lehni
627961627e
Have Path always directly apply any transformation to its Segments.
...
This is required so the coordinates of its bounds, length and SegmentPoints are always in the same space.
2011-12-23 22:43:27 +01:00
Jürg Lehni
97b66582f8
Rename Item#applyMatrix() to shorter #apply().
2011-12-23 22:41:05 +01:00
Jürg Lehni
61dca0b4d0
Introduce standard way of passing matrices/points to Item constructors.
2011-12-20 23:33:53 +01:00
Jürg Lehni
a21d180150
Use faster Point.create().
2011-12-20 23:32:53 +01:00
Jürg Lehni
f2d7b85616
Introduce Matrix#setIdentity().
2011-12-20 23:14:30 +01:00
Jürg Lehni
a8392fbf68
Implement local caching for the calculation of concatenated global matrices in the drawing of selected items in Project#draw().
2011-12-20 23:09:49 +01:00
Jürg Lehni
16113d5462
Declare all Character/ParagraphStyle properties that change GEOMETRY.
...
Fixing a failing test that showed up after debugging code was removed in recent commit, which disabled speed optimisations.
2011-12-20 22:37:46 +01:00
Jürg Lehni
0fcee7d8df
Move _owner / _style declarations to the top.
2011-12-20 22:36:24 +01:00
Jürg Lehni
8888ca912a
The internal Item#_position is no longer a LinkedPoint.
...
Make sure it stays that way when it's kept up-to-date in Item#transform().
2011-12-20 22:35:06 +01:00
Jürg Lehni
0592038b9f
Remove debugging code that lead to slow-down regressions.
2011-12-20 22:34:08 +01:00
Jürg Lehni
93ede28f3b
Implement new selection drawing mechanism.
...
Using the new Item#globalMatrix.
2011-12-20 11:42:00 +01:00
Jürg Lehni
010209c70f
Pass on view matrix to Project#draw.
...
So selection drawing is not zoomed.
2011-12-20 11:41:23 +01:00
Jürg Lehni
daca14efb8
Add optional matrix in Path drawing code.
...
Required for new selection drawing mechanism to be implemented.
2011-12-20 11:40:31 +01:00
Jürg Lehni
89a1d2fe73
Define Item#globalMatrix.
...
For now uncached.
2011-12-20 11:39:36 +01:00
Jürg Lehni
5797b78c2c
Clean up Matrix concatenation code.
2011-12-20 11:39:10 +01:00
Jürg Lehni
42087071e7
Fix #strokeBounds for square caps.
...
Calculate the right points at both ends of paths.
2011-12-19 23:30:02 +01:00
Jürg Lehni
1e768e6c83
Fix #strokeBounds for strokes scaled using #matrix.
...
Gotta do the right thing, not the same buggy thing as Illustrator.
2011-12-19 23:21:13 +01:00
Jürg Lehni
4a46c8ac98
Fix recently introduced error with stroke/fillColor handling
...
Since CanvasContext#stroke/fillStyle cannot be set to null, we have to keep checking Style#fill/strokeColor even after calling #_setStyles().
2011-12-19 23:07:14 +01:00
Jürg Lehni
e30a0ae26d
Define CharacterStyle#getFontStyle()
...
And use it in PointText.
2011-12-19 23:05:22 +01:00
Jürg Lehni
cc26fdc5d1
Optimise handling and setting of fill and stroke styles.
...
Handle setting of fillColor and strokeColor in Item#_setStyles() instead of the various #draw() methods, directly access internal styles instead of using accessor calls and fix PointText#draw().
2011-12-19 22:40:14 +01:00
Jürg Lehni
ea0eaf04ea
Make TextItem#style a reference to #characterStyle.
...
Internally, CharacterStyle extends PathStyle and is now stored in TextItem#_style.
2011-12-19 22:26:09 +01:00
Jürg Lehni
19429d9b6d
Automate generation of style accessors through Style class.
...
Shaving off some byes by adding more magic.
2011-12-19 22:14:10 +01:00
Jürg Lehni
9e79514b54
Add documentation about observed discrepancy between TextItem#characterStyle and #style.
2011-12-19 22:03:36 +01:00
Jürg Lehni
f5c1125709
Move Path#_setStyles() to Item, so it can be used in PointText too.
2011-12-19 21:25:39 +01:00
Jürg Lehni
466857659c
Unroll loop in Path#_setStyles().
2011-12-19 21:23:28 +01:00
Jürg Lehni
e89b2e5be1
Remove recursive argument from Item#applyMatrix().
...
Always apply transforms recursively.
2011-12-19 21:20:10 +01:00