define(function(require, exports, module) {
|
|
var Rect = require('graphic/rect');
|
|
var PatternBrush = require('graphic/patternbrush');
|
|
return require('core/class').createClass('Grid', {
|
|
base: Rect,
|
|
constructor: function( x, y, width, height, gridSize, color1, color2 ) {
|
|
this.color1 = color1 || 'white';
|
|
this.color2 = color2 || 'lightgray';
|
|
this.gridSize = gridSize;
|
|
this.callBase(width, height, x, y);
|
|
this.draw();
|
|
},
|
|
draw: function() {
|
|
var me = this;
|
|
function lazyDraw() {
|
|
var paper = me.getPaper();
|
|
if( !paper ) {
|
|
return setTimeout( lazyDraw, 100 );
|
|
}
|
|
var size = me.gridSize;
|
|
me.fill(new PatternBrush().pipe(function() {
|
|
this.setX(0).setY(0);
|
|
this.setWidth(size * 2).setHeight(size * 2);
|
|
this.addShape(new Rect(size, size).fill(me.color2));
|
|
this.addShape(new Rect(size, size, size, size).fill(me.color2));
|
|
paper.addResource(this);
|
|
}));
|
|
}
|
|
lazyDraw();
|
|
}
|
|
});
|
|
});
|