docs: function TMXLayer (opts) {
      var tilesetInfo = opts.tilesetInfo,
          layerInfo = opts.layerInfo,
          mapInfo = opts.mapInfo
  
      var size = layerInfo.layerSize,
          totalNumberOfTiles = size.width * size.height
  
      var tex = null
      if (tilesetInfo) {
          tex = tilesetInfo.sourceImage
      }
  
      if (uri.isURL(tex)) {
          TMXLayer.superclass.constructor.call(this, {url: tex})
      } else {
          TMXLayer.superclass.constructor.call(this, {file: tex})
      }
  
  
      this.anchorPoint = ccp(0, 0)
  
      this.layerName = layerInfo.name
      this.layerSize = layerInfo.layerSize
      this.tiles = layerInfo.tiles
      this.minGID = layerInfo.minGID
      this.maxGID = layerInfo.maxGID
      this.opacity = layerInfo.opacity
      this.properties = util.copy(layerInfo.properties)
  
      this.tileset = tilesetInfo
      this.mapTileSize = mapInfo.tileSize
      this.layerOrientation = mapInfo.orientation
  
      var offset = this.calculateLayerOffset(layerInfo.offset)
      this.position = offset
  
      this.contentSize = new geo.Size(this.layerSize.width * this.mapTileSize.width, (this.layerSize.height * this.mapTileSize.height) + this.tileset.tileSize.height)
  }