28 lines
601 B
JavaScript
28 lines
601 B
JavaScript
|
var Class = require('../core/class');
|
||
|
var Mode = require('../modes/current');
|
||
|
|
||
|
module.exports = function(drawFunction){
|
||
|
|
||
|
return Class(Mode.Shape, {
|
||
|
|
||
|
shape_initialize: Mode.Shape.prototype.initialize,
|
||
|
shape_draw: Mode.Shape.prototype.draw,
|
||
|
|
||
|
initialize: function(arg){
|
||
|
this.shape_initialize();
|
||
|
this.path = new Mode.Path();
|
||
|
if (arg != null) this.draw.apply(this, arguments);
|
||
|
},
|
||
|
|
||
|
draw: function(){
|
||
|
this.path.reset();
|
||
|
this._draw_function.apply(this, arguments);
|
||
|
this.shape_draw(this.path, this.width, this.height);
|
||
|
return this;
|
||
|
},
|
||
|
|
||
|
_draw_function: drawFunction
|
||
|
|
||
|
});
|
||
|
|
||
|
};
|