Louis Jolibois
5ca21992de
Added a shared cached dummy canvas context that may be used by Kinetic.Text methods.
...
This greatly improves performances when creating lots of Kinetic.Text nodes, especially on mobile devices.
2013-03-14 19:34:35 +01:00
Eric Rowell
5d3180aee5
added text metric caching to improve text drawing performance a bit
2013-02-10 17:36:47 -08:00
Eric Rowell
c9b99a9131
Kinetic.Text code cleanup
2013-02-10 15:42:48 -08:00
Eric Rowell
b1038e99bf
pulled Node config params and Shape config params into a textfile, and now using token replacement to auto fill Node and Shape config params throughout the code base. In this way, if I need to make changes to the Node or Shape configs, those changes are propagated to all of the other constructors
2013-01-26 20:42:19 -08:00
Eric Rowell
c2e5f4c1b3
refactored stroke and fill logic to eliminate duplicated logic
2013-01-24 22:44:00 -08:00
Eric Rowell
bba5c7b101
really cool new feature that... wait, no, just more docmentation
2013-01-02 23:55:56 -08:00
Eric Rowell
31ad5fca88
updated docs
2013-01-02 21:35:51 -08:00
Eric Rowell
522607695f
Text fontSize unit is now in pixels (used to be points). Default text lineHeight attr is now 1 (used to be 1.2)
2013-01-01 19:36:13 -08:00
Eric Rowell
e9d56dafba
added new Blob shape. removed double quotes from all shapes. made it easier for shapes to extend other shapes
2013-01-01 00:41:13 -08:00
Eric Rowell
7cb4c4269f
huge changes to Text shape. Skinnied it up by removing rectangle rendering component. textFill is now fill, textStroke is now stroke, textShadow is now shadow, and textStrokeWidth is now strokeWidth
2012-12-31 12:45:32 -08:00
Eric Rowell
36584a3ce2
cleaned up docs, and beefed up individual shape docs. moved corner radius attr to Rect shape
2012-12-22 23:08:03 -08:00
Eric Rowell
f18bf604de
added pixel ratio optimization to sharpen renderings for devices with a pixel ratio > 1
2012-12-13 21:53:39 -08:00
Eric Rowell
291583148b
moved all rendering logic into the Canvas renderer modules. Shape draw funcs are now passed a renderer object, not a canvas context. The context is accessible via canvas.getContext()
2012-12-09 09:52:33 -08:00
Eric Rowell
ab19b442a0
wrapped all modules with anonymous func. moved Canvas to root dir because it's now coupled to KineticJS logic. removed whitelisting arrays from Global. Did some prep work for AMD and Node support
2012-12-01 12:04:10 -08:00
Eric Rowell
047e26382e
added new wedge shape. cleaned up shape comments. added degToRad and radToDeg helper in Type utility
2012-11-29 20:15:01 -08:00
Eric Rowell
0e6eb3ffe4
fixed up some text shadow issues
2012-11-24 09:15:02 -08:00
Eric Rowell
b67cc4b589
Text shape now depends on Rect for rect drawing func
2012-11-23 22:21:19 -08:00
Eric Rowell
318d03feb7
finished up new Scene and Hit Renderers. added new textShadow attrs for more flexibility. Added new fillStroke() method which encapsulates shadow application logic
2012-11-23 14:54:32 -08:00
Eric Rowell
144e95ad42
preparation work for new Renderer inheritance pattern
2012-11-20 23:03:24 -08:00
Eric Rowell
c121e4b941
you can now pass in custom drawFuncs and drawHitFuncs via shape constructors
2012-11-18 20:28:55 -08:00
Eric Rowell
5be1802729
fix #149 began decoupling scene graph draw and buffer graph draw logic. This will enable more flexibility for developers to define custom buffer draw functions, and it also improves draw performance for both the scene and buffer graphs, because each function can be optimized for its purpose. Also moved text drawing logic to the Text shape
2012-11-12 19:59:19 -08:00
Eric Rowell
d636afb6fe
text.getWidth() and getHeight() now return calculated width and height. Removed getBoxWidth() and getBoxHeight() methods
2012-10-11 20:00:13 -07:00
Eric Rowell
0ae50ba523
merge trunk
2012-10-10 19:25:50 -07:00
Eric Rowell
2426c2bd2c
moved width and height attrs to node level. This enables us to get and set shape dimensions via width and height. For example, if you have a circle with radius 50, getWidth() will return 100. Not all shapes width and height methods have been implemented yet
2012-10-10 18:48:08 -07:00
ericdrowell
b025767a27
updated jsdocs. TextPath setText() now calls Text setText(). Polygon setPoints() method now has data conversion logic similar to Line
2012-10-07 21:12:45 -07:00
ericdrowell
82bfd9c15a
text shadows now work correctly again
2012-10-06 15:19:33 -07:00
ericdrowell
0353214fb6
first pass at rewriting the setAttrs logic in Node. In order to have a cleaner OO design, the data type logic needs to exist within each respective module, such that the setter methods are the source of truth.
...
the setAttrs method now simply calls setter methods. Also added _clone
and _merge utility methods in Type. The refactor greatly improves
decoupling and will enable much cleaner OO design in the near future.
2012-09-24 20:34:23 -07:00
Eric Rowell
1de5bce6e5
multi line text now correctly supports shadows
2012-08-26 18:49:05 -07:00
Eric Rowell
1ad2530889
removed john resig's Class class because it was really slowing down node instantiations. Created a custom solution that's much lighter weight, and about 50% faster
2012-08-22 23:35:21 -07:00
Eric Rowell
ed8c5ab6b8
changing the font size now correctly updates the text data
2012-07-31 21:13:25 -07:00
Eric Rowell
9631d6e1bb
split up methods from the PathHelper class and moved them to Path and Geometry. Path specific methods went to Path, and general purpose geometric utility methods went to the Geometry utility class. TextPath now inherits methods from Path
2012-07-28 16:08:14 -07:00
Eric Rowell
c4a359cd48
moved drawFunc definition out of the shape initializers as a method to improve space performance
2012-07-28 10:46:16 -07:00
Eric Rowell
d8bbbf6353
new Canvas class to decouple layer and canvas, providing more flexibility. drawing operations now require a canvas object rather than an optional layer which contained a canvas. fixed some transformation issues introduced with a pull request that I pulled in last week
2012-07-18 23:28:45 -07:00
Eric Rowell
780d5568db
updated the documentation for all methods to reflect the new inhertiance changes. And yes, if you're curious, it took forever.
2012-07-08 21:56:52 -07:00
Eric Rowell
d0f37f7c88
rewrote text array algo in Text. added newline support. now handling edge case in which the text box width is smaller than a character width. if a line is not able to wrap via space or dash, the word itself is wrapped.
2012-07-08 13:59:43 -07:00
Eric Rowell
a8ab9a2533
implemented clone method (inspired by matteo78) and added thorough unit tests
2012-07-07 14:43:12 -07:00
Eric Rowell
3d4d2d20c0
now utilizing John Resig's mashup of Base.js and protototype.js inheritiance Class so that it's easy for developers to extend KineticJS objects with extend() or to simply tack on new methods and properties that's available to all children classes. Moved getter and setter logic to Node. Moved transition class to root directory and created Tween class
2012-07-03 12:07:27 -07:00
Eric Rowell
3e0ed1c2fb
fixed up logical error in Text shape
2012-07-01 17:14:15 -07:00
Eric Rowell
66f29c602e
added padding attr change event binding to Text
2012-07-01 17:08:59 -07:00
Eric Rowell
6e3bae6b2d
fixed typo introduced with search/replace
2012-07-01 16:29:15 -07:00
Eric Rowell
4c521317ff
Text shape is no longer a group made up of a Rect and Shape. The complexity overhead out-weighs the inelgance of duplicating a dozen lines of the Rect shape.
2012-07-01 16:25:02 -07:00
Eric Rowell
aa4b0955c0
added horizontal align logic back into the Text draw func
2012-06-30 20:05:27 -07:00
Eric Rowell
e279ea30b9
fixed up new Text wrap edge cases. Will add a bunch of unit tests soon
2012-06-30 19:43:52 -07:00
Eric Rowell
6663b9e612
first pass at implementing auto word wrap. Still have a few edge cases to cover. Removed vertical align property as it is no longer relevant
2012-06-30 00:40:54 -07:00
Eric Rowell
07ef653441
completely rewrote the Text shape. Kinetic.Text is now a Group that's composed of a Rect and a custom shape that draws text. align and vertical align now apply to the text alignment inside the text box. box rounded corners are now possible since Text uses Rect. Shadow logic improved. Beefed up the text getter and setter unit tests
2012-06-27 19:50:32 -07:00
Eric Rowell
c1a08d8073
created new addSettersGetters method, further enhanced dynamic getters and setters
2012-06-23 18:09:10 -07:00
Eric Rowell
19750782c7
improved drawing speed by 7% by optimizing stroke(), fill(), and several other methods
2012-06-22 19:36:37 -07:00
Eric Rowell
9b76f650f7
exposed content event bindings so that we can simulate mouse and touch events for the purpose of internal and external functional tests
2012-06-14 23:46:52 -07:00
Eric Rowell
73ad904de6
updated jsdocs
2012-06-14 02:19:51 -07:00
Eric Rowell
6d4738cd2b
all simple getters and setters are now dynamically created. This is the first step towards creating a code base that can unpack at run time to reduce file size
2012-06-10 13:07:09 -07:00