public IFuture GetUserBounds(LatentRegionHolder latentRegionHolder, FutureFeatures features)
        {
            IFuture future = new ApplyFuture(new WarpBoundsVerb(imageTransformer),
                                             new[] { unwarpedMapTileSource.GetUserBounds(latentRegionHolder, FutureFeatures.Cached) });

            future = new MemCacheFuture(cachePackage.boundsCache, future);
            return(unwarpedMapTileSource.AddAsynchrony(future, features));
        }
        public IFuture GetImageBounds(FutureFeatures features)
        {
            IFuture future = new ApplyFuture(new WarpBoundsVerb(imageTransformer),
                                             new[] { unwarpedMapTileSource.GetImageBounds(features) });

            future = new MemCacheFuture(cachePackage.boundsCache, future);
            return(unwarpedMapTileSource.AddAsynchrony(future, features));
        }
		public IFuture GetUserBounds(LatentRegionHolder latentRegionHolder, FutureFeatures features)
		{
			IFuture future = new ApplyFuture(new WarpBoundsVerb(this.imageTransformer), new IFuture[]
			{
				this.unwarpedMapTileSource.GetUserBounds(latentRegionHolder, FutureFeatures.Cached)
			});
			future = new MemCacheFuture(this.cachePackage.boundsCache, future);
			return this.unwarpedMapTileSource.AddAsynchrony(future, features);
		}
		public IFuture GetUserBounds(LatentRegionHolder latentRegionHolder, FutureFeatures features)
		{
			List<IFuture> list = new List<IFuture>();
			foreach (SourceMap current in this.layer)
			{
				if (current.ReadyToLock())
				{
					LatentRegionHolder latentRegionHolder2 = new LatentRegionHolder(new DirtyEvent(), new DirtyEvent());
					list.Add(this.mapTileSourceFactory.CreateRenderableWarpedSource(current).GetUserBounds(latentRegionHolder2, features));
				}
			}
			IFuture future = new ApplyFuture(new CompositeBoundsVerb(), list.ToArray());
			D.Assert(UnwarpedMapTileSource.HasFeature(features, FutureFeatures.MemoryCached));
			return new MemCacheFuture(this.mapTileSourceFactory.GetCachePackage().boundsCache, future);
		}
        public IFuture GetUserBounds(LatentRegionHolder latentRegionHolder, FutureFeatures features)
        {
            List <IFuture> list = new List <IFuture>();

            foreach (SourceMap current in this.layer)
            {
                if (current.ReadyToLock())
                {
                    LatentRegionHolder latentRegionHolder2 = new LatentRegionHolder(new DirtyEvent(), new DirtyEvent());
                    list.Add(this.mapTileSourceFactory.CreateRenderableWarpedSource(current).GetUserBounds(latentRegionHolder2, features));
                }
            }
            IFuture future = new ApplyFuture(new CompositeBoundsVerb(), list.ToArray());

            D.Assert(UnwarpedMapTileSource.HasFeature(features, FutureFeatures.MemoryCached));
            return(new MemCacheFuture(this.mapTileSourceFactory.GetCachePackage().boundsCache, future));
        }
		public IFuture GetImageBounds(FutureFeatures features)
		{
			IFuture future = new ApplyFuture(new WarpBoundsVerb(this.imageTransformer), new IFuture[]
			{
				this.unwarpedMapTileSource.GetImageBounds(features)
			});
			future = new MemCacheFuture(this.cachePackage.boundsCache, future);
			return this.unwarpedMapTileSource.AddAsynchrony(future, features);
		}