/ tools / FancyZone_HitTest / FancyZone_HitTest / VisualDataComparer`1.cs
VisualDataComparer`1.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System.Collections.Generic;
 6  
 7  namespace FancyZone_HitTest
 8  {
 9      public class VisualDataComparer<T> : IComparer<VisualData>
10      {
11          int IComparer<VisualData>.Compare(VisualData x, VisualData y)
12          {
13              // has quirks but workable
14              if (x.DistanceFromEdge == y.DistanceFromEdge)
15              {
16                  return y.Area.CompareTo(x.Area);
17              }
18              else
19              {
20                  return x.DistanceFromEdge.CompareTo(y.DistanceFromEdge);
21              }
22  
23              // entire screen won't work
24              /*
25              if (x.MouseDistanceFromCenter == y.MouseDistanceFromCenter)
26              {
27                  return y.Area.CompareTo(x.Area);
28              }
29              else
30              {
31                  return x.MouseDistanceFromCenter.CompareTo(y.MouseDistanceFromCenter);
32              }
33  
34              if (x.DistanceFromEdgePercentage == y.DistanceFromEdgePercentage)
35              {
36                  return y.Area.CompareTo(x.Area);
37              }
38              else
39              {
40                  return x.DistanceFromEdgePercentage.CompareTo(y.DistanceFromEdgePercentage);
41              }*/
42          }
43      }
44  }