Files
ZuneShell.dll/UIX/Microsoft/Iris/Navigation/NavigationOrder.cs
T

42 lines
1.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Navigation.NavigationOrder
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
// Assembly location: C:\Program Files\Zune\UIX.dll
using Microsoft.Iris.RenderAPI.Drawing;
using Microsoft.Iris.Session;
using System;
using System.Collections;
namespace Microsoft.Iris.Navigation
{
internal class NavigationOrder : NavigationItem, IComparer
{
private int _orderModifierValue;
internal NavigationOrder(INavigationSite subjectSite, Direction searchDirection)
: base(subjectSite, searchDirection)
{
}
protected override IList ComputeSearchOrder(
IList allChildrenList,
RectangleF startRectangleF,
bool enteringFlag)
{
this._orderModifierValue = 1;
if (this.SearchDirection == Direction.Previous && (!enteringFlag || !NavigationItem.IsTabGroup(this.Subject)))
this._orderModifierValue = -1;
NavigationItem[] navigationItemArray = new NavigationItem[allChildrenList.Count];
int num = 0;
foreach (NavigationItem allChildren in allChildrenList)
navigationItemArray[num++] = allChildren;
Array.Sort(navigationItemArray, this);
return navigationItemArray;
}
int IComparer.Compare(object a, object b) => this._orderModifierValue * NavigationItem.CompareFocusOrder((NavigationItem)a, (NavigationItem)b);
}
}