Exemplo n.º 1
0
 public static bool StaticEquals(IRobustlyHashable o0, object o1)
 {
     if (o1 is IRobustlyHashable)
     {
         IRobustHash robustHash = RobustHashTools.Hash(o0);
         IRobustHash obj        = RobustHashTools.Hash((IRobustlyHashable)o1);
         return(robustHash.Equals(obj));
     }
     return(false);
 }
Exemplo n.º 2
0
        private string makeCachePathname(IFuture future, string cacheSide)
        {
            string path = cacheSide + RobustHashTools.Hash(future).ToString() + ".cc";

            return(Path.Combine(cacheDir, path));
        }
Exemplo n.º 3
0
 public override string ToString()
 {
     return("AsyncRecord:" + RobustHashTools.DebugString(future));
 }
Exemplo n.º 4
0
 public override int GetHashCode()
 {
     return(RobustHashTools.GetHashCode(this));
 }
Exemplo n.º 5
0
 public override string ToString()
 {
     return(RobustHashTools.DebugString(this));
 }
Exemplo n.º 6
0
 public override bool Equals(object o2)
 {
     return(RobustHashTools.StaticEquals(this, o2));
 }
        public Present Evaluate(Present[] paramList)
        {
            D.Assert(paramList.Length == 4);
            MapRectangleParameter parameter  = (MapRectangleParameter)paramList[0];
            SizeParameter         parameter2 = (SizeParameter)paramList[1];
            Present present  = paramList[2];
            Present present2 = paramList[3];
            double  num      = Math.Min(parameter.value.LonExtent, parameter.value.LatExtent);
            int     num2     = Math.Max(parameter2.value.Width, parameter2.value.Height);

            if ((num > 1.0) && (num2 <= 0x400))
            {
                IFuture    future = this.prototype.Curry(new ParamDict(new object[] { TermName.ImageBounds, new MapRectangleParameter(this.unitRectangle), TermName.OutputSize, new SizeParameter(this.memoizedSize), TermName.UseDocumentTransparency, present, TermName.ExactColors, present2 }));
                StrongHash hash   = new StrongHash();
                future.AccumulateRobustHash(hash);
                D.Sayf(0, "Future {0} hashes to {1}", new object[] { RobustHashTools.DebugString(future), hash.ToString() });
                Present present3 = future.Realize("sourceImageDownsampler-memo");
                if (present3 is ImageRef)
                {
                    try
                    {
                        ImageRef          ref2  = (ImageRef)present3;
                        GDIBigLockedImage image = new GDIBigLockedImage(parameter2.value, "sourceImageDownsampler-downsample");
                        lock (ref2.image)
                        {
                            lock (image)
                            {
                                Graphics     graphics = image.IPromiseIAmHoldingGDISLockSoPleaseGiveMeTheGraphics();
                                MapRectangle region   = parameter.value.Intersect(this.unitRectangle);
                                if (!region.IsEmpty())
                                {
                                    RectangleF srcRect  = this.SelectSubRectangle(this.unitRectangle, region, this.memoizedSize);
                                    RectangleF destRect = this.SelectSubRectangle(parameter.value, region, parameter2.value);
                                    Image      image2   = ref2.image.IPromiseIAmHoldingGDISLockSoPleaseGiveMeTheImage();
                                    graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
                                    graphics.DrawImage(image2, destRect, srcRect, GraphicsUnit.Pixel);
                                }
                                graphics.Dispose();
                                return(new ImageRef(new ImageRefCounted(image)));
                            }
                        }
                    }
                    catch (ArgumentException)
                    {
                        return(new PresentFailureCode("Image processing overflow"));
                    }
                    catch (OverflowException)
                    {
                        return(new PresentFailureCode("Image processing overflow"));
                    }
                    catch (Exception exception)
                    {
                        return(new PresentFailureCode(exception));
                    }
                    finally
                    {
                        present3.Dispose();
                    }
                }
                return(present3);
            }
            return(this.prototype.Curry(new ParamDict(new object[] { TermName.ImageBounds, parameter, TermName.OutputSize, parameter2, TermName.UseDocumentTransparency, present, TermName.ExactColors, present2 })).Realize("sourceImageDownsampler-passthru"));
        }
Exemplo n.º 8
0
 public static int GetHashCode(IRobustlyHashable hashable)
 {
     return(RobustHashTools.Hash(hashable).GetHashCode());
 }