//>>built
// wrapped by build app
define("dojox/drawing/plugins/drawing/Grid", ["dijit","dojo","dojox","dojo/require!dojox/drawing/plugins/_Plugin"], function(dijit,dojo,dojox){
dojo.provide("dojox.drawing.plugins.drawing.Grid");
dojo.require("dojox.drawing.plugins._Plugin");
dojox.drawing.plugins.drawing.Grid = dojox.drawing.util.oo.declare(
// summary:
// Plugin that displays a grid on the Drawing canvas.
// example:
// |
// |
//
dojox.drawing.plugins._Plugin,
function(options){
if(options.gap){
this.major = options.gap;
}
this.majorColor = options.majorColor || this.majorColor;
this.minorColor = options.minorColor || this.minorColor;
this.setGrid();
dojo.connect(this.canvas, "setZoom", this, "setZoom");
},
{
type:"dojox.drawing.plugins.drawing.Grid",
//
// gap: Number
// How far apart to set the grid lines
gap:100,
major:100,
minor:0,
//
// majorColor: String
// Major lines color
majorColor: "#00ffff",
//
// minorColor: String
// Minor lines color
minorColor: "#d7ffff",
//
// zoom: [readonly] Number
// The current zoom of the grid
zoom:1,
setZoom: function(zoom){
// summary:
// Set's the zoom of the canvas
this.zoom = zoom;
this.setGrid();
},
setGrid: function(options){
// summary:
// Renders grid
//
// TODO: major minor lines
// minors dont show on zoom out
// draw minors first
//
var mjr = Math.floor(this.major * this.zoom);
var mnr = this.minor ? Math.floor(this.minor * this.zoom) : mjr;
this.grid && this.grid.removeShape();
var x1,x2,y1,y2,i,clr,len;
var s = this.canvas.underlay.createGroup();
var w = 2000;//this.canvas.width;
var h = 1000;//this.canvas.height;
var b = 1;
var mj = this.majorColor;
var mn = this.minorColor;
var createGridLine = function(x1,y1,x2,y2, c){
s.createLine({x1: x1, y1: y1, x2: x2, y2: y2}).setStroke({style: "Solid", width: b, cap: "round", color:c});
};
// horz
for(i=1,len = h/mnr; i