Added UIX library

This commit is contained in:
Yoshi Askharoun
2021-07-12 00:40:39 -05:00
parent c2a463bd0e
commit dd63b8d273
962 changed files with 116709 additions and 3 deletions
+1 -3
View File
@@ -7,9 +7,7 @@
<AssemblyName>UIX.RenderApi.Skia</AssemblyName> <AssemblyName>UIX.RenderApi.Skia</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<LangVersion>9</LangVersion> <LangVersion>9</LangVersion>
</PropertyGroup> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="SkiaSharp" Version="2.80.3" /> <PackageReference Include="SkiaSharp" Version="2.80.3" />
+24
View File
@@ -0,0 +1,24 @@
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Permissions;
[assembly: StringFreezing]
[assembly: AssemblyTitle("UIX")]
[assembly: CLSCompliant(true)]
[assembly: AssemblyDescription("Microsoft.Iris")]
[assembly: AssemblyCompany("Microsoft Corporation")]
[assembly: AssemblyDelaySign(true)]
//assembly: AssemblyKeyFile("e:\\temp\\466296\\public.amd64fre\\internal\\strongnamekeys\\fake\\36MSApp1024.snk")]
[assembly: AssemblyFileVersion("4.8.0015.0")]
[assembly: AssemblyProduct("Microsoft (R) Windows (R) Operating System")]
[assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved.")]
[assembly: ComVisible(false)]
[assembly: InternalsVisibleTo("UIXLanguagePackage, PublicKey=002400000480000094000000060200000024000052534131000400000100010079ac5df018758f13b930394f7b6e7672b5221e5a299339cc185b20dcae03a23e4766f75d7ba8d3fc46163826f2df26cd474e6326c58ea8e4f8fcc3a66818134788ae709fd3f68995b6db8efe31ed952c98b2e3b43141b41a08ff4fd205548f19e32d22b6ada74a1d4bd04c6e08ff54a16272b669624cd6a4d68c98050db929f0")]
[assembly: InternalsVisibleTo("IrisEditor,PublicKey=00240000048000009400000006020000002400005253413100040000010001001dc70401884cdfad2010ce192e1f08a30fb034cf504759943eec3359d4ed09af3ce1616dbb124e479617ec73e4162903766e7a5e7bf1984bb318040118fe0f69dfb8b6e5c7c47a0e1bc9a8984b22f7221cc235986c09c74cab38ea3562c18adb8e3a95b73faf1ed71d7c309058b86d951af2165eb215b47de335e360a6a25da7")]
[assembly: InternalsVisibleTo("ZuneUIXTools")]
//[assembly: InternalsVisibleTo("UIXBuild")]
//[assembly: InternalsVisibleTo("UIXBuildTask")]
[assembly: AssemblyVersion("4.8.0.0")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
@@ -0,0 +1,13 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccChildID
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccChildID
{
Self,
}
}
@@ -0,0 +1,55 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccEvents
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccEvents
{
None = 0,
SystemSound = 1,
SystemAlert = 2,
SystemForeground = 3,
SystemMenuStart = 4,
SystemMenuEnd = 5,
SystemMenuPopupStart = 6,
SystemMenuPopupEnd = 7,
SystemCaptureStart = 8,
SystemCaptureEnd = 9,
SystemMoveSizeStart = 10, // 0x0000000A
SystemMoveSizeEnd = 11, // 0x0000000B
SystemContextHelpStart = 12, // 0x0000000C
SystemContextHelpEnd = 13, // 0x0000000D
SystemDragDropStart = 14, // 0x0000000E
SystemDragDropEnd = 15, // 0x0000000F
SystemDialogStart = 16, // 0x00000010
SystemDialogEnd = 17, // 0x00000011
SystemScrollingStart = 18, // 0x00000012
SystemScrollingEnd = 19, // 0x00000013
SystemSwitchStart = 20, // 0x00000014
SystemSwitchEnd = 21, // 0x00000015
SystemMinimizeStart = 22, // 0x00000016
SystemMinimizeEnd = 23, // 0x00000017
ObjectCreate = 32768, // 0x00008000
ObjectDestroy = 32769, // 0x00008001
ObjectShow = 32770, // 0x00008002
ObjectHide = 32771, // 0x00008003
ObjectReorder = 32772, // 0x00008004
ObjectFocus = 32773, // 0x00008005
ObjectSelection = 32774, // 0x00008006
ObjectSelectionAdd = 32775, // 0x00008007
ObjectSelectionRemove = 32776, // 0x00008008
ObjectSelectionWithin = 32777, // 0x00008009
ObjectStateChange = 32778, // 0x0000800A
ObjectLocationChange = 32779, // 0x0000800B
ObjectNameChange = 32780, // 0x0000800C
ObjectDescriptionChange = 32781, // 0x0000800D
ObjectValueChange = 32782, // 0x0000800E
ObjectParentChange = 32783, // 0x0000800F
ObjectHelpChange = 32784, // 0x00008010
ObjectDefaultActionChange = 32785, // 0x00008011
ObjectAcceleratorChange = 32786, // 0x00008012
}
}
@@ -0,0 +1,22 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccNavDirs
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccNavDirs
{
Min,
Up,
Down,
Left,
Right,
Next,
Previous,
FirstChild,
LastChild,
Max,
}
}
@@ -0,0 +1,24 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccObjectID
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccObjectID
{
Sound = -11, // 0xFFFFFFF5
Alert = -10, // 0xFFFFFFF6
Cursor = -9, // 0xFFFFFFF7
Caret = -8, // 0xFFFFFFF8
SizeGrip = -7, // 0xFFFFFFF9
HScroll = -6, // 0xFFFFFFFA
VScroll = -5, // 0xFFFFFFFB
Client = -4, // 0xFFFFFFFC
Menu = -3, // 0xFFFFFFFD
TitleBar = -2, // 0xFFFFFFFE
SysMenu = -1, // 0xFFFFFFFF
Window = 0,
}
}
@@ -0,0 +1,77 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccRole
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccRole
{
None,
TitleBar,
MenuBar,
ScrollBar,
Grip,
Sound,
Cursor,
Caret,
Alert,
Window,
Client,
MenuPopup,
MenuItem,
ToolTip,
Application,
Document,
Pane,
Chart,
Dialog,
Border,
Grouping,
Separator,
ToolBar,
StatusBar,
Table,
ColumnHeader,
RowHeader,
Column,
Row,
Cell,
Link,
HelpBalloon,
Character,
List,
ListItem,
Outline,
OutlineItem,
PageTab,
PropertyPage,
Indicator,
Graphic,
StaticText,
Text,
PushButton,
CheckButton,
RadioButton,
ComboBox,
DropList,
ProgressBar,
Dial,
HotkeyField,
Slider,
SpinButton,
Diagram,
Animation,
Equation,
ButtonDropDown,
ButtonMenu,
ButtonDropDownGrid,
Whitespace,
PageTabList,
Clock,
SplitButton,
IPAddress,
OutlineButton,
}
}
@@ -0,0 +1,22 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccSelFlags
// 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 System;
namespace Microsoft.Iris.Accessibility
{
[Flags]
internal enum AccSelFlags
{
None = 0,
TakeFocus = 1,
TakeSelection = 2,
ExtendSelection = 4,
AddSelection = 8,
RemoveSelection = 16, // 0x00000010
Valid = RemoveSelection | AddSelection | ExtendSelection | TakeSelection | TakeFocus, // 0x0000001F
}
}
@@ -0,0 +1,49 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccStates
// 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 System;
namespace Microsoft.Iris.Accessibility
{
[Flags]
internal enum AccStates
{
None = 0,
Unavailable = 1,
Selected = 2,
Focused = 4,
Pressed = 8,
Checked = 16, // 0x00000010
Mixed = 32, // 0x00000020
Indeterminate = Mixed, // 0x00000020
ReadOnly = 64, // 0x00000040
HotTracked = 128, // 0x00000080
Default = 256, // 0x00000100
Expanded = 512, // 0x00000200
Collapsed = 1024, // 0x00000400
Busy = 2048, // 0x00000800
Floating = 4096, // 0x00001000
Marquee = 8192, // 0x00002000
Animated = 16384, // 0x00004000
Invisible = 32768, // 0x00008000
OffScreen = 65536, // 0x00010000
Sizeable = 131072, // 0x00020000
Moveable = 262144, // 0x00040000
SelfVoicing = 524288, // 0x00080000
Focusable = 1048576, // 0x00100000
Selectable = 2097152, // 0x00200000
Linked = 4194304, // 0x00400000
Traversed = 8388608, // 0x00800000
MultiSelectable = 16777216, // 0x01000000
ExtSelectable = 33554432, // 0x02000000
Alert_Low = 67108864, // 0x04000000
Alert_Medium = 134217728, // 0x08000000
Alert_High = 268435456, // 0x10000000
Protected = 536870912, // 0x20000000
HasPopup = 1073741824, // 0x40000000
Valid = HasPopup | Protected | Alert_High | Alert_Medium | Alert_Low | ExtSelectable | MultiSelectable | Traversed | Linked | Selectable | Focusable | SelfVoicing | Moveable | Sizeable | OffScreen | Invisible | Animated | Marquee | Floating | Busy | Collapsed | Expanded | Default | HotTracked | ReadOnly | Indeterminate | Checked | Pressed | Focused | Selected | Unavailable, // 0x7FFFFFFF
}
}
@@ -0,0 +1,478 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.Accessible
// 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.Library;
using Microsoft.Iris.Markup;
using Microsoft.Iris.ModelItems;
using Microsoft.Iris.Session;
namespace Microsoft.Iris.Accessibility
{
internal class Accessible : NotifyObjectBase
{
private DynamicData _dataMap;
private AccessibleProxy _proxy;
private static readonly DataCookie s_descriptionSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_defaultActionSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_defaultActionCommandSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_helpSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_helpTopicSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_keyboardShortcutSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_nameSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_roleSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_valueSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_animatedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_unavailableStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_selectedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_busyStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_pressedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_checkedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_collapsedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_defaultStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_marqueeStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_mixedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_expandedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_traversedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_selectableStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_protectedStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_popupStateSlot = DataCookie.ReserveSlot();
private static readonly DataCookie s_multiSelectableStateSlot = DataCookie.ReserveSlot();
public Accessible() => SetData(s_roleSlot, AccRole.Client);
public void Attach(AccessibleProxy proxy)
{
_proxy = proxy;
FireNotification(NotificationID.Enabled);
}
public void Detach()
{
SetData(s_defaultActionCommandSlot, null);
_proxy = null;
}
public bool Enabled => _proxy != null;
public string Description
{
get => (string)GetData(s_descriptionSlot);
set
{
string description = Description;
if (!(value != description))
return;
SetData(s_descriptionSlot, value);
FireAccessiblePropertyChanged(NotificationID.Description, AccessibleProperty.Description);
}
}
public string DefaultAction
{
get => (string)GetData(s_defaultActionSlot);
set
{
string defaultAction = DefaultAction;
if (!(value != defaultAction))
return;
SetData(s_defaultActionSlot, value);
FireAccessiblePropertyChanged(NotificationID.DefaultAction, AccessibleProperty.DefaultAction);
}
}
public IUICommand DefaultActionCommand
{
get => (IUICommand)GetData(s_defaultActionCommandSlot);
set
{
IUICommand defaultActionCommand = DefaultActionCommand;
if (value == defaultActionCommand)
return;
SetData(s_defaultActionCommandSlot, value);
FireAccessiblePropertyChanged(NotificationID.DefaultActionCommand, AccessibleProperty.DefaultActionCommand);
}
}
public string Help
{
get => (string)GetData(s_helpSlot);
set
{
string help = Help;
if (!(value != help))
return;
SetData(s_helpSlot, value);
FireAccessiblePropertyChanged(NotificationID.Help, AccessibleProperty.Help);
}
}
public int HelpTopic
{
get
{
object data = GetData(s_helpTopicSlot);
return data != null ? (int)data : -1;
}
set
{
int helpTopic = HelpTopic;
if (value == helpTopic)
return;
SetData(s_helpTopicSlot, value);
FireAccessiblePropertyChanged(NotificationID.HelpTopic, AccessibleProperty.HelpTopic);
}
}
public string KeyboardShortcut
{
get => (string)GetData(s_keyboardShortcutSlot);
set
{
string keyboardShortcut = KeyboardShortcut;
if (!(value != keyboardShortcut))
return;
SetData(s_keyboardShortcutSlot, value);
FireAccessiblePropertyChanged(NotificationID.KeyboardShortcut, AccessibleProperty.KeyboardShortcut);
}
}
public string Name
{
get => (string)GetData(s_nameSlot);
set
{
string name = Name;
if (!(value != name))
return;
SetData(s_nameSlot, value);
FireAccessiblePropertyChanged(NotificationID.Name, AccessibleProperty.Name);
}
}
public AccRole Role
{
get
{
object data = GetData(s_roleSlot);
return data != null ? (AccRole)data : AccRole.None;
}
set
{
AccRole role = Role;
if (value == role)
return;
SetData(s_roleSlot, value);
FireAccessiblePropertyChanged(NotificationID.Role, AccessibleProperty.Role);
}
}
public string Value
{
get => (string)GetData(s_valueSlot);
set
{
string str = Value;
if (!(value != str))
return;
SetData(s_valueSlot, value);
FireAccessiblePropertyChanged(NotificationID.Value, AccessibleProperty.Value);
}
}
public bool IsAnimated
{
get
{
object data = GetData(s_animatedStateSlot);
return data != null && (bool)data;
}
set
{
bool isAnimated = IsAnimated;
if (value == isAnimated)
return;
SetData(s_animatedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsAnimated, AccessibleProperty.IsAnimated);
}
}
public bool IsUnavailable
{
get
{
object data = GetData(s_unavailableStateSlot);
return data != null && (bool)data;
}
set
{
bool isUnavailable = IsUnavailable;
if (value == isUnavailable)
return;
SetData(s_unavailableStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsUnavailable, AccessibleProperty.IsUnavailable);
}
}
public bool IsSelected
{
get
{
object data = GetData(s_selectedStateSlot);
return data != null && (bool)data;
}
set
{
bool isSelected = IsSelected;
if (value == isSelected)
return;
SetData(s_selectedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsSelected, AccessibleProperty.IsSelected);
}
}
public bool IsBusy
{
get
{
object data = GetData(s_busyStateSlot);
return data != null && (bool)data;
}
set
{
bool isBusy = IsBusy;
if (value == isBusy)
return;
SetData(s_busyStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsBusy, AccessibleProperty.IsBusy);
}
}
public bool IsPressed
{
get
{
object data = GetData(s_pressedStateSlot);
return data != null && (bool)data;
}
set
{
bool isPressed = IsPressed;
if (value == isPressed)
return;
SetData(s_pressedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsPressed, AccessibleProperty.IsPressed);
}
}
public bool IsChecked
{
get
{
object data = GetData(s_checkedStateSlot);
return data != null && (bool)data;
}
set
{
bool isChecked = IsChecked;
if (value == isChecked)
return;
SetData(s_checkedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsChecked, AccessibleProperty.IsChecked);
}
}
public bool IsCollapsed
{
get
{
object data = GetData(s_collapsedStateSlot);
return data != null && (bool)data;
}
set
{
bool isCollapsed = IsCollapsed;
if (value == isCollapsed)
return;
SetData(s_collapsedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsCollapsed, AccessibleProperty.IsCollapsed);
}
}
public bool IsDefault
{
get
{
object data = GetData(s_defaultStateSlot);
return data != null && (bool)data;
}
set
{
bool isDefault = IsDefault;
if (value == isDefault)
return;
SetData(s_defaultStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsDefault, AccessibleProperty.IsDefault);
}
}
public bool IsMarquee
{
get
{
object data = GetData(s_marqueeStateSlot);
return data != null && (bool)data;
}
set
{
bool isMarquee = IsMarquee;
if (value == isMarquee)
return;
SetData(s_marqueeStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsMarquee, AccessibleProperty.IsMarquee);
}
}
public bool IsMixed
{
get
{
object data = GetData(s_mixedStateSlot);
return data != null && (bool)data;
}
set
{
bool isMixed = IsMixed;
if (value == isMixed)
return;
SetData(s_mixedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsMixed, AccessibleProperty.IsMixed);
}
}
public bool IsExpanded
{
get
{
object data = GetData(s_expandedStateSlot);
return data != null && (bool)data;
}
set
{
bool isExpanded = IsExpanded;
if (value == isExpanded)
return;
SetData(s_expandedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsExpanded, AccessibleProperty.IsExpanded);
}
}
public bool IsTraversed
{
get
{
object data = GetData(s_traversedStateSlot);
return data != null && (bool)data;
}
set
{
bool isTraversed = IsTraversed;
if (value == isTraversed)
return;
SetData(s_traversedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsTraversed, AccessibleProperty.IsTraversed);
}
}
public bool IsSelectable
{
get
{
object data = GetData(s_selectableStateSlot);
return data != null && (bool)data;
}
set
{
bool isSelectable = IsSelectable;
if (value == isSelectable)
return;
SetData(s_selectableStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsSelectable, AccessibleProperty.IsSelectable);
}
}
public bool IsMultiSelectable
{
get
{
object data = GetData(s_multiSelectableStateSlot);
return data != null && (bool)data;
}
set
{
bool isMultiSelectable = IsMultiSelectable;
if (value == isMultiSelectable)
return;
SetData(s_multiSelectableStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsMultiSelectable, AccessibleProperty.IsMultiSelectable);
}
}
public bool IsProtected
{
get
{
object data = GetData(s_protectedStateSlot);
return data != null && (bool)data;
}
set
{
bool isProtected = IsProtected;
if (value == isProtected)
return;
SetData(s_protectedStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.IsProtected, AccessibleProperty.IsProtected);
}
}
public bool HasPopup
{
get
{
object data = GetData(s_popupStateSlot);
return data != null && (bool)data;
}
set
{
bool hasPopup = HasPopup;
if (value == hasPopup)
return;
SetData(s_popupStateSlot, value);
FireAccessiblePropertyChanged(NotificationID.HasPopup, AccessibleProperty.HasPopup);
}
}
protected void FireAccessiblePropertyChanged(
string propertyName,
AccessibleProperty accessibleProperty)
{
FireNotification(propertyName);
if (_proxy != null)
{
_proxy.NotifyAccessiblePropertyChanged(accessibleProperty);
}
else
{
if (accessibleProperty == AccessibleProperty.Name)
return;
ErrorManager.ReportWarning("Accessibility: Script modifications to the 'Accessible' object ('{0}' property) detected even though an Accessibility client is not is use. Use 'if (Accessible.Enabled) {{ ... }}' to bypass Accessible property access in this case", propertyName);
}
}
protected object GetData(DataCookie cookie) => _dataMap.GetData(cookie);
protected void SetData(DataCookie cookie, object value) => _dataMap.SetData(cookie, value);
}
}
@@ -0,0 +1,98 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccessibleChildren
// 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.Session;
using Microsoft.Iris.UI;
using System;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
namespace Microsoft.Iris.Accessibility
{
[ComVisible(true)]
public class AccessibleChildren : IEnumVARIANT
{
private AccessibleProxy _proxy;
private int _current;
internal AccessibleChildren(AccessibleProxy proxy)
: this(proxy, -1)
{
}
internal AccessibleChildren(AccessibleProxy proxy, int position)
{
_proxy = proxy;
_current = position;
}
internal IEnumVARIANT Clone() => new AccessibleChildren(_proxy, _current);
internal int Next(int count, object[] children)
{
int index = 0;
do
{
++_current;
if (_current >= _proxy.UI.Children.Count)
{
_current = _proxy.UI.Children.Count;
break;
}
UIClass child = (UIClass)_proxy.UI.Children[_current];
children[index] = child.AccessibleProxy;
++index;
}
while (index < count);
return index;
}
internal void Reset() => _current = -1;
internal bool Skip(int count)
{
_current += count;
if (_current < _proxy.UI.Children.Count)
return true;
_current = _proxy.UI.Children.Count;
return false;
}
IEnumVARIANT IEnumVARIANT.Clone()
{
VerifyEnumeratorAccess();
return Clone();
}
unsafe int IEnumVARIANT.Next(int celt, object[] rgVar, IntPtr pceltFetched)
{
VerifyEnumeratorAccess();
int num = Next(celt, rgVar);
*(int*)(void*)pceltFetched = num;
return num != celt ? 1 : 0;
}
int IEnumVARIANT.Reset()
{
VerifyEnumeratorAccess();
Reset();
return 0;
}
int IEnumVARIANT.Skip(int celt)
{
VerifyEnumeratorAccess();
return !Skip(celt) ? 1 : 0;
}
private void VerifyEnumeratorAccess()
{
if (_proxy.UI != null && UIDispatcher.IsUIThread)
return;
Marshal.ThrowExceptionForHR(-2147467259);
}
}
}
@@ -0,0 +1,37 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.AccessibleProperty
// 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
namespace Microsoft.Iris.Accessibility
{
internal enum AccessibleProperty
{
DefaultAction,
DefaultActionCommand,
Description,
HasPopup,
Help,
HelpTopic,
IsAnimated,
IsBusy,
IsChecked,
IsCollapsed,
IsDefault,
IsExpanded,
IsMarquee,
IsMixed,
IsMultiSelectable,
IsPressed,
IsProtected,
IsSelectable,
IsSelected,
IsTraversed,
IsUnavailable,
KeyboardShortcut,
Name,
Role,
Value,
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,53 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Accessibility.RootAccessibleProxy
// 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 Accessibility;
using Microsoft.Iris.Session;
using Microsoft.Iris.UI;
using System.Runtime.InteropServices;
namespace Microsoft.Iris.Accessibility
{
[ComVisible(true)]
public class RootAccessibleProxy : AccessibleProxy
{
private IAccessible _clientBridge;
internal RootAccessibleProxy(UIClass ui, Accessible data)
: base(ui, data)
{
}
internal override IAccessible Parent => (IAccessible)_clientBridge.accParent;
internal override IAccessible Navigate(AccNavDirs navDir)
{
IAccessible accessible = null;
switch (navDir)
{
case AccNavDirs.Up:
case AccNavDirs.Down:
case AccNavDirs.Left:
case AccNavDirs.Right:
case AccNavDirs.Next:
case AccNavDirs.Previous:
accessible = (IAccessible)_clientBridge.accNavigate((int)navDir, 0);
break;
case AccNavDirs.FirstChild:
case AccNavDirs.LastChild:
accessible = base.Navigate(navDir);
break;
}
return accessible;
}
internal override string Name => UIApplication.ApplicationName;
internal IAccessible ClientBridge => _clientBridge;
internal void AttachClientBridge(IAccessible clientBridge) => _clientBridge = clientBridge;
}
}
+197
View File
@@ -0,0 +1,197 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.AggregateList
// 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.Data;
using System;
using System.Collections;
using System.Diagnostics;
namespace Microsoft.Iris
{
public class AggregateList : VirtualList
{
private IList[] _lists;
public AggregateList()
: this(null)
{
}
public AggregateList(IList list1)
: this(new IList[1] { list1 })
{
}
public AggregateList(IList list1, IList list2)
: this(new IList[2] { list1, list2 })
{
}
public AggregateList(IList list1, IList list2, IList list3)
: this(new IList[3] { list1, list2, list3 })
{
}
public AggregateList(IList list1, IList list2, IList list3, IList list4)
: this(new IList[4] { list1, list2, list3, list4 })
{
}
public AggregateList(IList[] lists)
: base(true)
{
if (lists == null)
lists = new IList[0];
_lists = lists;
UIListContentsChangedHandler contentsChangedHandler = new UIListContentsChangedHandler(ChildListModified);
SlowDataAcquireCompleteHandler acquireCompleteHandler = new SlowDataAcquireCompleteHandler(ChildListSlowDataAcquired);
for (int index = 0; index < _lists.Length; ++index)
{
if (_lists[index] == null)
_lists[index] = new ArrayList();
IList list = _lists[index];
if (list is INotifyList notifyList)
notifyList.ContentsChanged += contentsChangedHandler;
if (list is IVirtualList virtualList && virtualList.SlowDataRequestsEnabled)
virtualList.SlowDataAcquireCompleteHandler = acquireCompleteHandler;
}
Count = ItemCount;
}
protected override void OnDispose(bool disposing)
{
if (disposing)
{
UIListContentsChangedHandler contentsChangedHandler = new UIListContentsChangedHandler(ChildListModified);
foreach (IList list in _lists)
{
if (list is INotifyList notifyList)
notifyList.ContentsChanged -= contentsChangedHandler;
if (list is IVirtualList virtualList && virtualList.SlowDataRequestsEnabled)
virtualList.SlowDataAcquireCompleteHandler = null;
}
}
base.OnDispose(disposing);
}
protected override object OnRequestItem(int index)
{
foreach (IList list in _lists)
{
if (index < list.Count)
return list[index];
index -= list.Count;
}
throw new IndexOutOfRangeException(nameof(index));
}
protected override void OnRequestSlowData(int index)
{
foreach (IList list in _lists)
{
if (index < list.Count)
{
if (list is IVirtualList virtualList && virtualList.SlowDataRequestsEnabled)
{
virtualList.NotifyRequestSlowData(index);
break;
}
break;
}
index -= list.Count;
}
NotifySlowDataAcquireComplete(index);
}
private bool ChildListSlowDataAcquired(IVirtualList childList, int index)
{
NotifySlowDataAcquireComplete(ListIndexToMasterIndex(childList, index));
return true;
}
private void ChildListModified(IList listSender, UIListContentsChangedArgs args)
{
int masterIndex1 = ListIndexToMasterIndex(listSender, args.OldIndex);
int masterIndex2 = ListIndexToMasterIndex(listSender, args.NewIndex);
switch (args.Type)
{
case UIListContentsChangeType.Add:
case UIListContentsChangeType.Insert:
Insert(masterIndex2);
break;
case UIListContentsChangeType.AddRange:
case UIListContentsChangeType.InsertRange:
InsertRange(masterIndex2, args.Count);
break;
case UIListContentsChangeType.Remove:
RemoveAt(masterIndex1);
break;
case UIListContentsChangeType.Move:
if (masterIndex1 == masterIndex2)
break;
Move(masterIndex1, masterIndex2);
break;
case UIListContentsChangeType.Modified:
Modified(masterIndex2);
break;
default:
Clear();
Count = ItemCount;
break;
}
}
[Conditional("DEBUG")]
private void DEBUG_ValidateConsistency()
{
int index1 = 0;
for (int index2 = 0; index2 < _lists.Length; ++index2)
{
for (int index3 = 0; index3 < _lists[index2].Count; ++index3)
{
object obj1 = _lists[index2][index3];
object obj2 = this[index1];
++index1;
}
}
}
private int ListIndexToMasterIndex(IList list, int index)
{
int num = 0;
for (int index1 = 0; index1 < _lists.Length && _lists[index1] != list; ++index1)
num += _lists[index1].Count;
return num + index;
}
private void MasterIndexToListIndex(int masterIndex, out IList list, out int index)
{
int num = 0;
int index1 = 0;
list = null;
for (; index1 < _lists.Length; ++index1)
{
list = _lists[index1];
if (num + list.Count <= masterIndex)
num += list.Count;
else
break;
}
index = masterIndex - num;
}
private int ItemCount
{
get
{
int num = 0;
foreach (IList list in _lists)
num += list.Count;
return num;
}
}
}
}
@@ -0,0 +1,309 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Animations.ActiveSequence
// 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.Library;
using Microsoft.Iris.Render;
using Microsoft.Iris.Session;
using System;
using System.Text;
namespace Microsoft.Iris.Animations
{
internal class ActiveSequence : DisposableObject
{
private UISession _session;
private IAnimatable _animatableTarget;
private Vector<AnimationProxy> _ready;
private Vector<AnimationProxy> _playing;
private float _lastProgress;
private AnimationTemplate _template;
private int _playingCount;
internal ActiveSequence(
AnimationTemplate template_,
IAnimatable animatableTarget,
UISession session)
{
_animatableTarget = animatableTarget;
_session = session;
_template = template_;
_ready = new Vector<AnimationProxy>();
}
protected override void OnDispose()
{
base.OnDispose();
Vector<AnimationProxy> animationCollection = GetAnimationCollection();
if (animationCollection != null)
{
foreach (DisposableObject disposableObject in animationCollection)
disposableObject.Dispose(this);
FireComplete(false);
}
_session = null;
_animatableTarget = null;
_template = null;
_ready = null;
}
public UISession Session => _session;
internal IAnimatable Target => _animatableTarget;
public AnimationTemplate Template => _template;
public bool Playing => _playing != null;
internal Vector<AnimationProxy> PendingProxies => _ready;
public void Play()
{
Vector<AnimationProxy> ready = _ready;
_ready = null;
if (ready.Count > 0)
{
foreach (AnimationProxy animationProxy in ready)
animationProxy.Play();
_playing = ready;
FireStart();
}
else
{
FireStart();
FireComplete(true);
}
}
public void Stop() => Stop(null);
public void Stop(StopCommandSet stopSetCommand)
{
if (UIDispatcher.IsUIThread)
{
StopWorker(stopSetCommand);
}
else
{
try
{
if (!Session.IsValid)
return;
DeferredCall.Post(DispatchPriority.High, new DeferredHandler(DeferredStop), stopSetCommand);
}
catch (InvalidOperationException ex)
{
}
}
}
private void StopWorker(StopCommandSet stopSetCommand)
{
if (_playing == null)
return;
foreach (AnimationProxy animationProxy in _playing)
{
if (stopSetCommand != null)
animationProxy.Stop(stopSetCommand[animationProxy.Type]);
else
animationProxy.Stop();
}
}
private void DeferredStop(object args) => StopWorker((StopCommandSet)args);
public bool ValidatePlayable()
{
foreach (AnimationProxy animationProxy in _ready)
{
if (!animationProxy.ValidatePlayable())
return false;
}
return true;
}
internal void OnAttachChildAnimation(AnimationProxy child)
{
child.DeclareOwner(this);
_ready.Add(child);
}
private Vector<AnimationProxy> GetAnimationCollection() => _ready ?? _playing;
internal void OnDetachChildAnimation(AnimationProxy child, float progress)
{
Vector<AnimationProxy> animationCollection = GetAnimationCollection();
if (animationCollection == null)
return;
animationCollection.Remove(child);
child.Dispose(this);
if (_lastProgress < (double)progress)
_lastProgress = progress;
if (animationCollection != _playing || animationCollection.Count != 0)
return;
FireComplete(true);
}
private void FireStart() => OnStart();
private void FireComplete(bool notify)
{
if (_playing != null)
_playing = null;
OnStop(_lastProgress, notify);
}
public StopCommandSet GetStopCommandSet()
{
StopCommandSet stopCommandSet = null;
foreach (AnimationProxy animation in GetAnimationCollection())
{
if (animation.HasDynamicKeyframes)
{
if (stopCommandSet == null)
stopCommandSet = new StopCommandSet(StopCommand.MoveToEnd);
stopCommandSet[animation.Type] = StopCommand.LeaveCurrent;
}
}
return stopCommandSet;
}
public ActiveTransitions GetActiveTransitions()
{
Vector<AnimationProxy> animationCollection = GetAnimationCollection();
ActiveTransitions activeTransitions = ActiveTransitions.None;
foreach (AnimationProxy animationProxy in animationCollection)
{
ActiveTransitions activeTransition = ConvertToActiveTransition(animationProxy.Type);
activeTransitions |= activeTransition;
}
return activeTransitions;
}
public static ActiveTransitions ConvertToActiveTransition(AnimationType type)
{
switch (type)
{
case AnimationType.Position:
return ActiveTransitions.Move;
case AnimationType.Size:
return ActiveTransitions.Size;
case AnimationType.Alpha:
return ActiveTransitions.Alpha;
case AnimationType.Scale:
return ActiveTransitions.Scale;
case AnimationType.Rotate:
return ActiveTransitions.Rotate;
case AnimationType.Orientation:
return ActiveTransitions.Orientation;
case AnimationType.PositionX:
return ActiveTransitions.PositionX;
case AnimationType.PositionY:
return ActiveTransitions.PositionY;
case AnimationType.SizeX:
return ActiveTransitions.SizeX;
case AnimationType.SizeY:
return ActiveTransitions.SizeY;
case AnimationType.ScaleX:
return ActiveTransitions.ScaleX;
case AnimationType.ScaleY:
return ActiveTransitions.ScaleY;
case AnimationType.Float:
case AnimationType.Vector2:
case AnimationType.Vector3:
return ActiveTransitions.Effect;
case AnimationType.CameraEye:
return ActiveTransitions.CameraEye;
case AnimationType.CameraAt:
return ActiveTransitions.CameraAt;
case AnimationType.CameraUp:
return ActiveTransitions.CameraUp;
case AnimationType.CameraZn:
return ActiveTransitions.CameraZn;
default:
return ActiveTransitions.None;
}
}
public static ActiveTransitions ConvertToActiveTransition(
AnimationEventType type)
{
switch (type)
{
case AnimationEventType.Move:
return ActiveTransitions.Move;
case AnimationEventType.Size:
return ActiveTransitions.Size;
case AnimationEventType.Scale:
return ActiveTransitions.Scale;
case AnimationEventType.Rotate:
return ActiveTransitions.Rotate | ActiveTransitions.Orientation;
case AnimationEventType.Alpha:
return ActiveTransitions.Alpha;
default:
return ActiveTransitions.None;
}
}
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{ActiveSequence Template=\"");
if (_template.DebugID != null)
{
stringBuilder.Append(_template.DebugID);
}
else
{
Animation template = _template as Animation;
if (template != null)
stringBuilder.Append(template.Type);
else
stringBuilder.Append("<Unknown>");
}
stringBuilder.Append("\", Target=");
stringBuilder.Append(_animatableTarget.GetType().Name);
if (_animatableTarget is IVisual)
{
stringBuilder.Append(", IVisual=");
stringBuilder.Append(((IVisual)_animatableTarget).DebugID);
}
stringBuilder.Append("}");
return stringBuilder.ToString();
}
public event EventHandler AnimationStarted;
public event EventHandler AnimationCompleted;
public event EventHandler AfterAnimationCompleted;
internal void OnStart()
{
++_playingCount;
if (_playingCount != 1 || AnimationStarted == null)
return;
AnimationStarted(this, EventArgs.Empty);
}
internal void OnStop(float progress, bool notify)
{
--_playingCount;
if (notify && _playingCount == 0)
{
EventArgs e = new AnimationCompleteArgs(progress);
if (AnimationCompleted != null)
AnimationCompleted(this, e);
if (AfterAnimationCompleted == null)
return;
AfterAnimationCompleted(this, e);
}
else
{
int playingCount = _playingCount;
}
}
}
}
@@ -0,0 +1,33 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Animations.ActiveTransitions
// 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 System;
namespace Microsoft.Iris.Animations
{
[Flags]
internal enum ActiveTransitions
{
None = 0,
Move = 1,
Scale = 2,
Alpha = 4,
Rotate = 8,
Size = 16, // 0x00000010
Effect = 32, // 0x00000020
PositionX = 64, // 0x00000040
PositionY = 128, // 0x00000080
SizeX = 256, // 0x00000100
SizeY = 512, // 0x00000200
ScaleX = 1024, // 0x00000400
ScaleY = 2048, // 0x00000800
Orientation = 4096, // 0x00001000
CameraEye = 8192, // 0x00002000
CameraAt = 16384, // 0x00004000
CameraUp = 32768, // 0x00008000
CameraZn = 65536, // 0x00010000
}
}
@@ -0,0 +1,34 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Animations.AlphaKeyframe
// 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.Render;
using Microsoft.Iris.UI;
namespace Microsoft.Iris.Animations
{
internal class AlphaKeyframe : BaseMultiplyFloatKeyframe
{
public override AnimationType Type => AnimationType.Alpha;
public override float GetEffectiveValue(
IAnimatable targetObject,
float baseValue,
ref AnimationArgs args)
{
return RelativeTo == RelativeTo.Final ? baseValue * args.NewAlpha : baseValue;
}
public override void Apply(IAnimatableOwner animationTarget, float value) => ((ViewItem)animationTarget).VisualAlpha = value;
public override void MagnifyValue(float magnifyValue)
{
float num = Value * magnifyValue;
if (num > 1.0)
num = 1f;
Value = num;
}
}
}
@@ -0,0 +1,152 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Animations.Animation
// 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.Drawing;
using Microsoft.Iris.Library;
using Microsoft.Iris.Render;
using System;
using System.Collections.Specialized;
using System.Text;
namespace Microsoft.Iris.Animations
{
internal class Animation : AnimationTemplate, IAnimationProvider
{
private static readonly DataCookie s_rotationAxisProperty = DataCookie.ReserveSlot();
private static readonly DataCookie s_centerPointScaleProperty = DataCookie.ReserveSlot();
private static readonly DataCookie s_centerPointOffsetProperty = DataCookie.ReserveSlot();
private BitVector32 _bitsBitVector;
private AnimationEventType _type;
private DynamicData _dataMap;
public Animation()
{
_type = AnimationEventType.Idle;
_bitsBitVector = new BitVector32();
_dataMap = new DynamicData();
}
public override object Clone()
{
Animation animation = new Animation();
CloneWorker(animation);
return animation;
}
protected override void CloneWorker(AnimationTemplate rawAnimation)
{
base.CloneWorker(rawAnimation);
Animation animation = (Animation)rawAnimation;
animation.Type = Type;
if (GetBit(Bits.CenterPointScale))
animation.CenterPointPercent = CenterPointPercent;
if (GetBit(Bits.RotationAxis))
animation.RotationAxis = RotationAxis;
animation.DisableMouseInput = DisableMouseInput;
}
private void PrepareToPlay(ref AnimationArgs args)
{
if (GetBit(Bits.CenterPointScale))
args.ViewItem.VisualCenterPoint = CenterPointPercent;
if (!GetBit(Bits.RotationAxis))
return;
Rotation visualRotation = args.ViewItem.VisualRotation;
args.ViewItem.VisualRotation = new Rotation(visualRotation.AngleRadians, RotationAxis);
}
public AnimationEventType Type
{
get => _type;
set => _type = value;
}
public Vector3 CenterPointPercent
{
get => !GetBit(Bits.CenterPointScale) ? Vector3.Zero : (Vector3)GetData(s_centerPointScaleProperty);
set
{
if (!(CenterPointPercent != value))
return;
SetData(s_centerPointScaleProperty, value);
SetBit(Bits.CenterPointScale, true);
}
}
public Vector3 RotationAxis
{
get => !GetBit(Bits.RotationAxis) ? Rotation.Default.Axis : (Vector3)GetData(s_rotationAxisProperty);
set
{
if (!(RotationAxis != value))
return;
SetData(s_rotationAxisProperty, value);
SetBit(Bits.RotationAxis, true);
}
}
public bool DisableMouseInput
{
get => GetBit(Bits.DisableMouseInput);
set => SetBit(Bits.DisableMouseInput, value);
}
AnimationTemplate IAnimationProvider.Build(
ref AnimationArgs args)
{
PrepareToPlay(ref args);
return this;
}
public bool CanCache => true;
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("{AnimationTemplate ID=");
stringBuilder.Append(DebugID);
stringBuilder.Append(", Loop=");
stringBuilder.Append(Loop);
stringBuilder.Append(", KeyframeCount=");
stringBuilder.Append(Keyframes.Count);
stringBuilder.Append("}");
return stringBuilder.ToString();
}
private bool GetBit(Animation.Bits bit) => _bitsBitVector[(int)bit];
private void SetBit(Animation.Bits bit, bool value) => _bitsBitVector[(int)bit] = value;
private bool ChangeBit(Animation.Bits bit, bool value)
{
if (_bitsBitVector[(int)bit] == value)
return false;
_bitsBitVector[(int)bit] = value;
return true;
}
protected object GetData(DataCookie cookie) => _dataMap.GetData(cookie);
protected void SetData(DataCookie cookie, object value) => _dataMap.SetData(cookie, value);
protected Delegate GetEventHandler(EventCookie cookie) => _dataMap.GetEventHandler(cookie);
protected void AddEventHandler(EventCookie cookie, Delegate handlerToAdd) => _dataMap.AddEventHandler(cookie, handlerToAdd);
protected void RemoveEventHandler(EventCookie cookie, Delegate handlerToRemove) => _dataMap.RemoveEventHandler(cookie, handlerToRemove);
protected void RemoveEventHandlers(EventCookie cookie) => _dataMap.RemoveEventHandlers(cookie);
private static uint GetKey(EventCookie cookie) => EventCookie.ToUInt32(cookie);
private enum Bits
{
CenterPointScale = 1,
RotationAxis = 2,
DisableMouseInput = 4,
}
}
}
@@ -0,0 +1,108 @@
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Animations.AnimationArgs
// 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.Drawing;
using Microsoft.Iris.Render;
using Microsoft.Iris.UI;
namespace Microsoft.Iris.Animations
{
internal struct AnimationArgs
{
public ViewItem ViewItem;
public Vector3 OldPosition;
public Vector2 OldSize;
public Vector3 OldScale;
public Rotation OldRotation;
public float OldAlpha;
public Vector3 NewPosition;
public Vector2 NewSize;
public Vector3 NewScale;
public Rotation NewRotation;
public float NewAlpha;
public Vector3 OldEye;
public Vector3 OldAt;
public Vector3 OldUp;
public float OldZn;
public Vector3 NewEye;
public Vector3 NewAt;
public Vector3 NewUp;
public float NewZn;
public AnimationArgs(Camera cam)
{
ViewItem = null;
OldPosition = Vector3.Zero;
OldSize = Vector2.Zero;
OldScale = Vector3.Zero;
OldRotation = Rotation.Default;
OldAlpha = 0.0f;
NewPosition = Vector3.Zero;
NewSize = Vector2.Zero;
NewScale = Vector3.Zero;
NewRotation = Rotation.Default;
NewAlpha = 0.0f;
OldEye = cam.Eye;
NewEye = cam.Eye;
OldAt = cam.At;
NewAt = cam.At;
OldUp = cam.Up;
NewUp = cam.Up;
OldZn = cam.Zn;
NewZn = cam.Zn;
}
public AnimationArgs(
ViewItem vi,
Vector3 oldPosition,
Vector2 oldSize,
Vector3 oldScale,
Rotation oldRotation,
float oldAlpha,
Vector3 newPosition,
Vector2 newSize,
Vector3 newScale,
Rotation newRotation,
float newAlpha)
{
ViewItem = vi;
OldPosition = oldPosition;
OldSize = oldSize;
OldScale = oldScale;
OldRotation = oldRotation;
OldAlpha = oldAlpha;
NewPosition = newPosition;
NewSize = newSize;
NewScale = newScale;
NewRotation = newRotation;
NewAlpha = newAlpha;
OldEye = Vector3.Zero;
NewEye = Vector3.Zero;
OldAt = Vector3.Zero;
NewAt = Vector3.Zero;
OldUp = Vector3.Zero;
NewUp = Vector3.Zero;
OldZn = 0.0f;
NewZn = 0.0f;
}
public AnimationArgs(
ViewItem vi,
Vector3 oldPosition,
Vector2 oldSize,
Vector3 oldScale,
Rotation oldRotation,
float oldAlpha)
: this(vi, oldPosition, oldSize, oldScale, oldRotation, oldAlpha, oldPosition, oldSize, oldScale, oldRotation, oldAlpha)
{
}
public AnimationArgs(ViewItem vi)
: this(vi, vi.VisualPosition, vi.VisualSize, vi.VisualScale, vi.VisualRotation, vi.VisualAlpha, vi.VisualPosition, vi.VisualSize, vi.VisualScale, vi.VisualRotation, vi.VisualAlpha)
{
}
}
}

Some files were not shown because too many files have changed in this diff Show More