public TMDataControllerImpl(int zoomLevel, int tileX, int tileY, int bufSize)
        {
            TMDataControllerImpl.zoomLevel = zoomLevel;
            TMDataControllerImpl.tileX     = tileX;
            TMDataControllerImpl.tileY     = tileY;
            TMDataControllerImpl.bufSize   = bufSize;


            TrueMarble.generateJPGPath(zoomLevel, TMDataControllerImpl.tileX, TMDataControllerImpl.tileY);
            TrueMarble.GetNumTiles(zoomLevel, out TMDataControllerImpl.numTilesX, out TMDataControllerImpl.numTilesY);
            TrueMarble.GetTileSize(out TMDataControllerImpl.width, out TMDataControllerImpl.height);
            TrueMarble.GetTileImageAsRawJPG(zoomLevel, tileX, tileY, out TMDataControllerImpl.imageBuf, TMDataControllerImpl.bufSize, out TMDataControllerImpl.jpgSize);
        }
 public byte[] LoadTile(int zoom, int x, int y)
 {
     TrueMarble.GetTileImageAsRawJPG(zoom, x, y, out TMDataControllerImpl.imageBuf, TMDataControllerImpl.bufSize, out TMDataControllerImpl.jpgSize);
     return(TMDataControllerImpl.imageBuf);
 }
 public int GetNumTilesDown(int zoom)
 {
     TrueMarble.GetNumTiles(zoom, out TMDataControllerImpl.numTilesX, out TMDataControllerImpl.numTilesY);
     return(TMDataControllerImpl.numTilesY);
 }