Commit graph

2202 commits

Author SHA1 Message Date
Jürg Lehni
ebadef8b1d A couple of smaller changes. 2012-11-02 18:23:37 -07:00
Jürg Lehni
cc503cb149 Rename fake 'roundRect' type to 'roundrect'. 2012-11-02 18:23:23 -07:00
Jürg Lehni
c2ac16a481 Change for-loops format. 2012-11-02 18:22:38 -07:00
Jürg Lehni
b284a42a56 Rework SvgExporter. _determineType. A lot more work needs to be done... 2012-11-02 18:22:01 -07:00
Jürg Lehni
086334773e Rework and improve SVG documentation and remove too obvious docs for hidden functions. 2012-11-02 18:14:20 -07:00
Jürg Lehni
204eaa9dcc Fix white-spaces in comments. 2012-11-02 17:47:14 -07:00
Jürg Lehni
1ce332756e Rename ImportSvg to SvgImporter, and ExportSvg to SvgExporter. 2012-11-02 17:40:07 -07:00
Jürg Lehni
ab02023adf Do not create extra points when asked to produce a round rectangle with no radius. 2012-11-02 17:04:21 -07:00
Jürg Lehni
80315e3e52 More SVG refactoring: Fix comments, documentation, and for-in loops. 2012-11-02 16:51:42 -07:00
Jürg Lehni
88dff19f73 Define squared parameter in Point#getDistance() as optional. 2012-11-02 16:45:46 -07:00
Jürg Lehni
b22ff5ecca Revert a recent change in selection handling. 2012-11-02 16:27:59 -07:00
Jürg Lehni
69dc8be629 Switch from using classes to object literals for SVG exporter / importer. 2012-11-02 16:19:45 -07:00
Jürg Lehni
ee65ee1026 Clean up and improve PaperScript code a bit. 2012-11-02 15:58:41 -07:00
Jürg Lehni
04df1a0d4a Always set canvas size, to avoid zooming pixels if size is set to a percentage. 2012-10-31 09:49:42 -07:00
Jürg Lehni
bdb74b67e2 Define #isActive() for PaperScopeItems. 2012-10-30 11:43:40 -07:00
Jürg Lehni
96e1765e4f Do not implicitly use getTool() getter since it creates tools when none exists. 2012-10-30 11:43:06 -07:00
Jürg Lehni
155b6046cb Some more SVG code refactoring. 2012-10-27 19:25:52 -07:00
Jürg Lehni
44fc5939e5 Simplify name-space element creation in SVG module. 2012-10-24 20:21:59 -07:00
Jürg Lehni
4a74cf9e29 Improve Paper code editor to also display errors. 2012-10-23 20:05:01 -07:00
Jürg Lehni
7096b37b2e Change the way canvases get temporarily focused when there is more than one and the mouse is outside all of them.
Closes #115.
2012-10-22 18:03:57 -07:00
Jürg Lehni
20797b8cc3 Avoid name clash between View._handlers and Callback._handlers that keeps track of installed handlers.
Closes #109.
2012-10-22 17:38:40 -07:00
Jürg Lehni
46de04d29d Properly rename SVG files.
Case-insensitive file system – an endless source of pain.
2012-10-22 17:31:11 -07:00
Jürg Lehni
d4a60fb62a More SVG code refactoring.
Follow coding conventions and fix some forgotten renamings.
2012-10-22 16:31:08 -07:00
Jürg Lehni
160095d6e3 Rename SVG to Svg to follow naming convention. 2012-10-22 19:17:11 -04:00
Jürg Lehni
6b50641c18 Add documentation for Item#_getChildren(). 2012-10-22 19:07:22 -04:00
Jürg Lehni
659b431404 Merge branch 'refs/heads/Stetson-Team-Alpha-master' 2012-10-22 18:56:50 -04:00
Jürg Lehni
f6f80e4061 Implement CompoundPath#contains() and #hitTest() correctly.
And change the way that styles are stored on CompoundPaths: Not in the first child but in the item itself.
2012-10-22 18:48:51 -04:00
Jürg Lehni
f73717a7e7 Fix issues in Numerical.solveQuadratic(), solveCubic() and Path#contains().
Closes #71.
2012-10-22 18:21:33 -04:00
Jürg Lehni
63640cad03 Fix issue with hit-testing of translated rasters and other items.
Use the untransformed point in the initial bounds check. Closes #45, #86.
2012-10-20 16:54:39 -04:00
Jürg Lehni
317fcf5432 Only include strokeWidth in roughBounds if a strokeColor is actually set. 2012-10-20 16:01:53 -04:00
Jürg Lehni
3b50b3534f Merge branch 'master' of https://github.com/Stetson-Team-Alpha/paper.js into Stetson-Team-Alpha-master
Conflicts:
	build/jsdoc-toolkit
	dist/paper.js
2012-10-19 09:39:36 -04:00
Jürg Lehni
f87eadecda Correct default value for clockwise in arcTo(). 2012-10-19 09:18:10 -04:00
Jürg Lehni
6441a682a8 Fix new error in quadraticCurveTo().
We don't seem to have test-cases for these yet.
2012-10-18 14:29:53 -07:00
Jürg Lehni
30374ae3b4 Implement proper index independent argument list reading of basic types.
Implemented for Point, Size, Rectangle and Color.
2012-10-18 14:24:15 -07:00
Jürg Lehni
6f2ff18fa1 Bring back fallback scenario in Point#initialize(). 2012-10-15 17:13:20 -07:00
Jürg Lehni
db93544e8c Restructure Point#initialize() to reflect new findings regarding typeof performance.
typeof val === 'undefined' is way faster than val === undefined.
2012-10-15 17:11:11 -07:00
Jürg Lehni
44ad4d885a Update link to Kaspar Fischer's PDF with new URL. 2012-10-15 15:48:38 -07:00
Jürg Lehni
e17e94b50b Implement Item#isEmpty() for the various types.
And use it to tell #getBounds() when to ignore items.
2012-10-10 20:11:11 -07:00
Jürg Lehni
adb2ddc615 Fix CompoundPath#insertChild.
It was not returning success values and thus broke some tests.
2012-10-10 19:54:32 -07:00
Jürg Lehni
ef59ad2875 Improve selection handling and drawing for Path item.
In a way that makes more sense when building tools.
2012-10-10 19:33:42 -07:00
Jürg Lehni
7329f4ef77 Improve handling of owner referencing in colors.
Allow one owner per Color only and clone colors when setting color styles. Gradient can still have multiple GradientColor owners. Closes #124.
2012-10-10 19:27:14 -07:00
Jürg Lehni
4d1920ee8b Improve Base.read() to support cloning of objects that are already provided in the required type. 2012-10-10 19:26:00 -07:00
Jürg Lehni
523736d9e5 Handle view redraws correctly for all selection changes. 2012-10-08 23:12:43 -07:00
Jürg Lehni
ed9037deb1 Fix white-space. 2012-10-08 18:44:08 -07:00
Jürg Lehni
f75386e8fb No need to check _windowHandlers, as DomEvent.remove does the right thing either way. 2012-10-08 18:09:41 -07:00
Jürg Lehni
e9985a04a8 Merge branch 'master' of github.com:paperjs/paper.js 2012-10-08 18:06:27 -07:00
Jürg Lehni
08cb7c76ea Clean up resize handlers when removing resizing views.
Closes #121.
2012-10-08 18:05:44 -07:00
Jonathan Puckey
e3518c29b1 Fix issue where adding the children of one group to another using Item#insertChildren / Item#addChildren does not work.
This fixes #119. To avoid duplication I chose to call
Item#insertChildren from Item#addChildren.
2012-10-06 13:08:07 +02:00
Jürg Lehni
6b08d96c45 Fix issue where out handle was compared to the wrong segment point when drawing.
This should fix #106 but needs to be verified before we can close the bug.
2012-10-05 19:08:31 -07:00
Jürg Lehni
77296c4640 Update documentation a bit. 2012-10-05 16:09:15 -07:00
Jürg Lehni
b29995f376 Clean up code. 2012-09-30 19:50:42 -07:00
Jürg Lehni
c51f2a0d3b Remove unnecessary variable declarations. 2012-09-30 19:50:30 -07:00
Andrew
2508136602 Got rid of swp files 2012-09-30 21:17:02 -04:00
jaroles
981f113652 Update src/svg/ExportSVG.js 2012-09-30 22:11:00 -03:00
skierons
a1bb8651a3 Update src/svg/ExportSVG.js 2012-09-30 19:05:21 -03:00
Andrew
c6c460519e Merging all the magic 2012-09-30 17:51:50 -04:00
Justin Ridgewell
f46c77c699 Reset files to stubs 2012-09-30 17:24:18 -04:00
Jürg Lehni
199d19a237 Minor code clean-up. 2012-09-30 14:09:59 -07:00
Jürg Lehni
59a55f7574 Merge branch 'master' of github.com:paperjs/paper.js 2012-09-30 14:08:44 -07:00
Jürg Lehni
2c5c4ae423 Improve documentation of Rectangle#intersects. 2012-09-30 14:08:02 -07:00
Jürg Lehni
99ac617ded Inject HitResults fields as enumerable, so the default #toString works, and avoid listing getColor. 2012-09-30 14:07:27 -07:00
Jürg Lehni
9e61995282 Handle parameter matching of beginning and ends of curves separately. 2012-09-30 14:06:31 -07:00
Jürg Lehni
93ba19f7e2 Define key-code for tab key. 2012-09-30 14:05:51 -07:00
Jürg Lehni
c3f051583c Remove unnecessary return statement.
This code can never be reached.
2012-09-30 14:05:34 -07:00
AWagenheim
205586bbbd Update src/svg/ImportSVG.js 2012-09-19 16:42:00 -03:00
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
Jürg Lehni
12dbb11ec3 Optimise and simplify ellipse code. 2011-12-19 13:51:26 +01:00
Jürg Lehni
3ccb4a6ebe Fix strokeBounds calculation when a rotation matrix is in use.
The bounding box of the rotated pen ellipse was calculated wrongly.
2011-12-19 13:47:30 +01:00
Jürg Lehni
daa1343155 Add comment about perhaps renaming Path.Oval to Path.Ellipse. 2011-12-19 13:16:29 +01:00
Jürg Lehni
83df011e1d Add missing colon. 2011-12-19 13:16:06 +01:00
Jürg Lehni
4514c63ed4 Merge remote-tracking branch 'origin/master' 2011-12-18 21:30:22 +01:00
Jürg Lehni
e1c8c48f11 Increase default type size to 12px. 2011-12-18 16:56:31 +01:00
Jürg Lehni
e52d2a08b8 Use correct flags in _changed() call. 2011-12-18 16:56:18 +01:00
Jürg Lehni
554047ae38 Expose Item#_getCachedBounds and use it in PlacedSymbol for proper handling of nested matrices. 2011-12-18 16:55:56 +01:00
Jürg Lehni
d2b1c77686 No need to call #getDefinition() internally.
Use private value directly.
2011-12-18 16:55:24 +01:00
Jürg Lehni
9e5eb17264 Improve Item#transform() and implement #applyMatrix() to support nested matrices. Work in progress. 2011-12-18 16:54:21 +01:00
Jürg Lehni
a76d47fcf1 Merge pull request #62 from dram/update-focus-fix
Use break to avoid uncaught exception in View.updateFocus
2011-12-10 11:08:03 -08:00
Jürg Lehni
b0b49d027a Remove unused parameter. 2011-12-10 20:05:26 +01:00
Jürg Lehni
c8f3f3be27 Document Base.hyphenate() 2011-12-10 19:57:18 +01:00
Jonathan Puckey
7fdb01cf77 More work on Item event handling documentation. 2011-12-07 12:45:04 +01:00
Jürg Lehni
120ead209e Define Segment#clone(). 2011-12-07 11:54:41 +01:00
Jürg Lehni
566aaed0be Define Segment#equals(). 2011-12-07 11:53:07 +01:00
Xin Wang
95b3bad6dc Use break to avoid uncaught exception. 2011-12-06 09:41:40 +08:00
Jonathan Puckey
1414500f45 First version of documentation of Item event handlers and MouseEvent. 2011-12-01 11:57:10 +01:00
Jürg Lehni
6e5e54cfe6 Change sequence of position / bounds related properties. 2011-11-30 18:36:44 +01:00
Jürg Lehni
f895d3e6fb Fix recently introduced error in Item#setSelected(). 2011-11-30 18:28:11 +01:00
Jürg Lehni
d8f0105fb2 Document support for dontLink parameter. 2011-11-30 18:19:39 +01:00
Jürg Lehni
a26bc87686 Implement support for Item#matrix in Item#draw(). 2011-11-30 18:19:23 +01:00
Jürg Lehni
a57070e4a3 Fix bounds caching issues on Group. 2011-11-30 18:18:51 +01:00
Jürg Lehni
a3ec184873 Add dontLink argument to Item#getPosition()
And use it to optimise up #setPosition().
2011-11-30 18:18:24 +01:00
Jürg Lehni
bb1d436281 Move creation of LinkedRectangle for 'bounds' to bounds accessor. 2011-11-30 17:20:29 +01:00
Jürg Lehni
3ece08bea1 Fix handling of recursion in Item#setSelected() / #setFullySelected(). 2011-11-30 17:16:52 +01:00
Jürg Lehni
cf4c2b4919 Move #matrix accessor from PlacedItem to Item. 2011-11-29 17:19:31 +01:00
Jürg Lehni
5ff3a07b31 Add comment about 1px rectangle in Raster#getAverageColor(). 2011-11-29 17:19:15 +01:00
Jürg Lehni
b5e46971f0 Replace new Size(x, y) calls with internal Size.create(x, y). 2011-11-29 17:11:15 +01:00
Jürg Lehni
26210fb95b Implement transforming of cached bounds again, if possible. 2011-11-28 23:20:47 +01:00
Jürg Lehni
cadc2e78ca We can directly access Item#_id.
No need to call Item#getId() internally.
2011-11-28 23:14:02 +01:00
Jürg Lehni
cb8c94ef7e Recursively call _clearBoundsCache
If the cache for an item's children is not valid anymore, that needs to propagate up the DOM tree.
2011-11-28 23:13:31 +01:00
Jürg Lehni
d3c83be3bb Correct execution sequence in getBounds so that the parent's _boundsCache is kept up to date even when the child is returning a cached result. 2011-11-28 22:59:25 +01:00
Jürg Lehni
e82deff4b9 Fix the drawing of PlacedSymbol bounds when selected. 2011-11-27 14:55:49 +00:00
Jürg Lehni
ac18786109 Implement bounds caching for all items, even groups and layers, using a smart structure keeping track of which items affect the cache, and automatically clearing it on changes without having to walk the DOM tree. 2011-11-27 13:48:15 +00:00