|
|
- /**
- _enyo.canvas.Shape_ is the base kind for shapes that can be drawn into the
- canvas. It doesn't have a default rendering, but an event handler may call
- the _draw_ method on it.
-
- Kinds derived from this one should provide their own implementation of
- _renderSelf_. If more complex operations are needed for filled mode or
- outline mode, override the _fill_ or _outline_ methods, respectively.
- */
- enyo.kind({
- name: "enyo.canvas.Shape",
- kind: enyo.canvas.Control,
- published: {
- //* Color used to draw the interior of the shape
- color: "red",
- //* Color used to draw the outline of the shape
- outlineColor: ""
- },
- //* @protected
- fill: function(inContext) {
- inContext.fill();
- },
- outline: function(inContext) {
- inContext.stroke();
- },
- //* @public
- /**
- Draws the shape by invoking the shape's fill or outline methods,
- usually invoked by the derived shape's renderSelf method in response
- to the parent of the CanvasControls rendering.
- */
- draw: function(inContext) {
- if (this.color) {
- inContext.fillStyle = this.color;
- this.fill(inContext);
- }
- if (this.outlineColor) {
- inContext.strokeStyle = this.outlineColor;
- this.outline(inContext);
- }
- }
- });
|