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
Jürg Lehni
907d6c0954
Implement Matrix#equals().
2011-11-26 12:04:44 +01:00
Jürg Lehni
b51cf064b0
Make baseItem to last optional parameter of _getBounds.
2011-11-26 11:55:19 +01:00
Jürg Lehni
f799c85e76
Switch to using 'this' in private getBounds methods to point to path item rather than 'that'.
2011-11-26 11:48:08 +01:00
Jürg Lehni
40a3272cb3
Implement PointText#bounds properly, with matrix support in place now.
2011-11-26 11:40:38 +01:00
Jürg Lehni
a0ad81b576
Pass on the baseItem of a getBounds call, required to implement proper caching later.
2011-11-26 11:24:48 +01:00
Jürg Lehni
8729e9919f
Use getBounds.call(item) to use this instead of item, since we're accessing it a lot.
2011-11-26 10:42:38 +01:00
Jürg Lehni
1fd9242fd8
Define private getBounds() function that handles matrix concatenation, bounds caching and calling of _getBounds, leading to further simplifications in PlacedItem.
2011-11-26 10:39:51 +01:00
Jürg Lehni
2605fadcfd
Move bounds related code to a proper inejction scope, so we can declare private functions for caching.
2011-11-26 10:18:47 +01:00
Jürg Lehni
de4b5a0d87
Start implementing Item#matrix, work in progress.
2011-11-26 10:15:01 +01:00
Jürg Lehni
92066a6ecb
Implement Item#_boundsType as a structure to control bounds handling and caching.
2011-11-24 16:03:05 +01:00
Jürg Lehni
a6b90dea35
Clean up Item documentation.
2011-11-24 16:02:34 +01:00
Jürg Lehni
44b6fe9f0d
Fix documentation about bounds beans.
2011-11-24 15:46:06 +01:00
Jürg Lehni
310fbb260b
Remove _boundsCache and replace it with easier _simpleBounds flag.
2011-11-24 15:44:26 +01:00
Jürg Lehni
067e0a954b
Add comment about LinkedRectangle for 'bounds'.
2011-11-24 15:39:04 +01:00
Jürg Lehni
909b9040d5
Since we only use _createBounds in one place now we can inline it.
2011-11-24 15:38:08 +01:00
Jürg Lehni
569c415b2f
Start implementing bounds caching the new way.
...
Work in progress still.
2011-11-24 15:37:44 +01:00
Jürg Lehni
c989d3ee3f
Restructure code a bit for easier reading.
2011-11-24 15:18:57 +01:00
Jürg Lehni
ea87be166e
Part one of big refactoring of bouding box handling. Functional, but caching is broken right now.
2011-11-24 15:13:21 +01:00
Jürg Lehni
d9777111dc
No need for an injection scope as we can also just use Base.each() in combination with a side-car.
2011-11-24 14:54:04 +01:00
Jürg Lehni
b96cd4e1c8
Add comments about possible optimization of accessing of style properties.
2011-11-24 14:53:38 +01:00
Jürg Lehni
1d6cfeeb9b
Add dest and dontNotifty arguments to Matrix#_transformBounds() and use them where appropriate.
2011-11-24 11:29:35 +01:00
Jürg Lehni
3f5e68aa76
Document the private getPendPadding() function.
2011-11-24 10:21:12 +01:00
Jürg Lehni
29aaf38320
Improve comments.
2011-11-24 10:17:31 +01:00
Jürg Lehni
8a53288b1e
Add comment about upcoming changes relating to bounds.
2011-11-23 18:13:21 +01:00
Jürg Lehni
cd1810e6a3
Fix arguments check in Path#getHandleBounds().
2011-11-23 18:13:05 +01:00
Jürg Lehni
11f298c994
Start adding support for PointText#bounds and multi-line text, work in progress.
2011-11-23 18:12:41 +01:00
Jürg Lehni
eb70c4de5d
Directly pass matrix argument to _getBounds() instead of whole arguments array.
2011-11-20 18:51:34 +01:00
Jürg Lehni
75072bde4f
Directly access project.view.
2011-11-18 20:33:27 +01:00
Jürg Lehni
44291fe33b
Support injecting multiple object parameters into Style classes.
2011-11-18 20:08:54 +01:00
Jürg Lehni
5f0da04daf
Add empty line at file end.
2011-11-18 19:54:16 +01:00
Jürg Lehni
b9f6c99dcd
Add comments and clean up code.
2011-11-17 19:28:05 +01:00
Jürg Lehni
427cc21b3a
Fix a comment.
2011-11-17 00:06:21 +01:00
Jürg Lehni
1b484a2f7b
Implement MouseEvent#delta for Item#onMouseDrag and #onMouseMove.
2011-11-17 00:04:30 +01:00
Jürg Lehni
cf54b1a7c1
Change parameter sequence in mouse event code.
2011-11-16 23:47:51 +01:00
Jürg Lehni
9061daa935
Simplify event handling code.
2011-11-16 23:41:47 +01:00
Jürg Lehni
80d3763c39
Implement Item#onMouseDrag evnets, and have them silence #onMouseMove events if both are present.
2011-11-16 23:30:14 +01:00
Jürg Lehni
d066ad775d
Implement Item#onClick and #onDoubleClick.
2011-11-16 23:18:27 +01:00
Jürg Lehni
b3bf57c8e9
Implement Item#onMouseEnter / #onMouseLeave.
2011-11-16 22:59:39 +01:00
Jürg Lehni
c0e6d5b2ee
Remove unused injection scopes.
2011-11-16 22:54:03 +01:00
Jürg Lehni
44bf596e51
Finish implementing Item#onMouseMove and clean up code.
2011-11-16 22:48:38 +01:00
Jürg Lehni
8efc7ce7cd
Implement Item#onMouseUp events and work on #onMouseMove.
2011-11-16 22:41:22 +01:00
Jürg Lehni
57bd659023
Move Item base mouse handling code to CanvasView.
2011-11-16 13:12:41 +01:00
Jürg Lehni
577c884a70
Prepend non-public Tool methods with '_'.
2011-11-16 13:10:39 +01:00
Jürg Lehni
1eff9741a4
Separate Canvas related code from View into CanvasView class.
2011-11-14 20:18:08 +01:00
Jürg Lehni
c85f0326c3
Simplify installling of mouse handlers in View.
2011-11-14 13:32:03 +01:00
Jürg Lehni
acbebc2aa4
Remove #idleInterval left-overs.
2011-11-13 00:09:09 +01:00
Jürg Lehni
fcd92c4ac1
Fix updateFocus() documentation.
2011-11-13 00:05:28 +01:00
Jürg Lehni
c8e1a9c959
Merge remote-tracking branch 'origin/master'
2011-11-12 23:57:39 +01:00
Jürg Lehni
e4586cfeeb
Commit beginning of item based mouse events. So far only onMousedown / 'mousedown' is supported.
2011-11-12 23:57:25 +01:00
Jürg Lehni
18d44689fa
Fix white-space in code example.
2011-11-12 23:56:25 +01:00
Jürg Lehni
36846d6e38
Remove code from previous commit again.
2011-11-12 19:52:36 +01:00
Jürg Lehni
d89d7f1ef7
Commit temporary support for attach() and detach() handler on event entries, to be removed again.
2011-11-12 19:51:51 +01:00
Jürg Lehni
4ba752d42a
Add note and TODO about Path#contains() only working correctly for no-zero winding rule, which is not used by Canvas...
2011-11-12 19:49:12 +01:00
Jürg Lehni
ddf7c6534b
Fix Path#hitTest() to only consider strokeWidth if a strokeColor is provided too.
2011-11-12 19:48:39 +01:00
Jonathan Puckey
52385451f6
Resolve a few documentation todos.
2011-11-12 18:30:21 +01:00
Jürg Lehni
6e5a81f907
Fix white-spaces in documentation.
2011-11-12 18:26:15 +01:00
Jürg Lehni
c33998c140
Remove support for Tool#eventInterval.
2011-11-12 18:26:03 +01:00