示例#1
0
        public override int GetHashCode()
        {
            int hash = _shapeTypeface.GetHashCode();

            unsafe
            {
                hash = HashFn.HashMultiply(hash) + (int)(_nullShape ? 1 : 0);
                hash = HashFn.HashMultiply(hash) + _scaleInEm.GetHashCode();
                return(HashFn.HashScramble(hash));
            }
        }
示例#2
0
        /// <summary>
        /// Computes hash code for this object.
        /// </summary>
        /// <returns>A 32-bit signed integer hash code.</returns>
        public override int GetHashCode()
        {
            int hash = HashFn.HashMultiply((int)_source) + (int)_substitution;

            if (_cultureOverride != null)
            {
                hash = HashFn.HashMultiply(hash) + _cultureOverride.GetHashCode();
            }

            return(HashFn.HashScramble(hash));
        }
        /// <summary>
        /// Create correspondent hash code for the object
        /// </summary>
        /// <returns>object hash code</returns>
        public override int GetHashCode()
        {
            int hash = _fontFamily.GetHashCode();

            if (_fallbackFontFamily != null)
            {
                hash = HashFn.HashMultiply(hash) + _fallbackFontFamily.GetHashCode();
            }

            hash = HashFn.HashMultiply(hash) + _style.GetHashCode();
            hash = HashFn.HashMultiply(hash) + _weight.GetHashCode();
            hash = HashFn.HashMultiply(hash) + _stretch.GetHashCode();
            return(HashFn.HashScramble(hash));
        }
示例#4
0
            protected int InternalGetHashCode(int seed)
            {
                int hash = seed;

                if (_baseUri != null)
                {
                    hash += HashFn.HashMultiply(_baseUri.GetHashCode());
                }

                if (_name != null)
                {
                    hash = HashFn.HashMultiply(hash) + _name.GetHashCode();
                }

                return(HashFn.HashScramble(hash));
            }
示例#5
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Count != 0)
            {
                Canonicalize();

                foreach (CanonicalFontFamilyReference family in _canonicalReferences)
                {
                    hash = HashFn.HashMultiply(hash) + family.GetHashCode();
                }
            }

            return(HashFn.HashScramble(hash));
        }
示例#6
0
 public override int GetHashCode()
 {
     return(HashFn.HashMultiply(_glyphTypeface.GetHashCode())
            + (_deviceFont == null ? 0 : _deviceFont.Name.GetHashCode()));
 }
 private static void Add(Type t, EqualsFn eq, HashFn hash)
 {
     eqs.Add(t, eq);
     hashes.Add(t, hash);
 }