code: function snapX(x, state)
  		{
  			x += this.graph.panDx;
  			var override = false;
  			
  			if (Math.abs(x - center) < ttX)
  			{
  				dx = x - bounds.getCenterX();
  				ttX = Math.abs(x - center);
  				override = true;
  			}
  			else if (Math.abs(x - left) < ttX)
  			{
  				dx = x - bounds.x;
  				ttX = Math.abs(x - left);
  				override = true;
  			}
  			else if (Math.abs(x - right) < ttX)
  			{
  				dx = x - bounds.x - bounds.width;
  				ttX = Math.abs(x - right);
  				override = true;
  			}
  			
  			if (override)
  			{
  				stateX = state;
  				valueX = Math.round(x - this.graph.panDx);
  				
  				if (this.guideX == null)
  				{
  					this.guideX = this.createGuideShape(true);
  					
  					// Makes sure to use either VML or SVG shapes in order to implement
  					// event-transparency on the background area of the rectangle since
  					// HTML shapes do not let mouseevents through even when transparent
  					this.guideX.dialect = (this.graph.dialect != mxConstants.DIALECT_SVG) ?
  						mxConstants.DIALECT_VML : mxConstants.DIALECT_SVG;
  					this.guideX.pointerEvents = false;
  					this.guideX.init(this.graph.getView().getOverlayPane());
  				}
  			}
  			
  			overrideX = overrideX || override;
  		}
docs: Snaps the left, center and right to the given x-coordinate