/**
|
|
_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);
|
|
}
|
|
}
|
|
});
|