//>>built
define("dojox/geo/openlayers/GfxLayer","dojo/_base/declare dojo/_base/connect dojo/dom-style dojox/gfx dojox/gfx/matrix ./Feature ./Layer".split(" "),function(e,f,d,g,h,l,k){return e("dojox.geo.openlayers.GfxLayer",k,{_viewport:null,constructor:function(b,a){var c=g.createSurface(this.olLayer.div,100,100);this._surface=c;c=a&&a.viewport?a.viewport:c.createGroup();this.setViewport(c);f.connect(this.olLayer,"onMapResize",this,"onMapResize");this.olLayer.getDataExtent=this.getDataExtent},getViewport:function(){return this._viewport},
setViewport:function(b){this._viewport&&this._viewport.removeShape();this._viewport=b;this._surface.add(b)},onMapResize:function(){this._surfaceSize()},setMap:function(b){this.inherited(arguments);this._surfaceSize()},getDataExtent:function(){return this._surface.getDimensions()},getSurface:function(){return this._surface},_surfaceSize:function(){var b=this.olLayer.map.getSize();this._surface.setDimensions(b.w,b.h)},moveTo:function(b){var a=d.get(this.olLayer.map.layerContainerDiv),c=parseInt(a.left);
a=parseInt(a.top);if(b.zoomChanged||c||a)d.set(this.olLayer.div,{left:-c+"px",top:-a+"px"}),null!=this._features&&(this.getViewport().setTransform(h.translate(c,a)),this.inherited(arguments))},added:function(){this.inherited(arguments);this._surfaceSize()}})});