mirror of
https://github.com/ZuneDev/MicrosoftIris.git
synced 2026-07-27 13:13:29 -07:00
Added UIX.RenderApi
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.ActivationChangeHandler
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public delegate void ActivationChangeHandler();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AlphaOperation
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public enum AlphaOperation
|
||||
{
|
||||
Add,
|
||||
Subtract,
|
||||
Multiply,
|
||||
Source1,
|
||||
Source2,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.Animation
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using Microsoft.Iris.Render.Protocols.Splash.Rendering;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal abstract class Animation :
|
||||
SharedRenderObject,
|
||||
IAnimation,
|
||||
ISharedRenderObject,
|
||||
IAnimationCallback
|
||||
{
|
||||
public static readonly string OutputProperty = "Output";
|
||||
public static readonly string PlayMethod = "Play";
|
||||
public static readonly string PauseMethod = "Pause";
|
||||
public static readonly string ResetMethod = "Reset";
|
||||
public static readonly string FinishMethod = "Finish";
|
||||
public static readonly string NotifyMethod = "AsyncNotify";
|
||||
|
||||
internal Animation()
|
||||
{
|
||||
}
|
||||
|
||||
public abstract int RepeatCount { get; set; }
|
||||
|
||||
public abstract bool IsPlaying { get; }
|
||||
|
||||
public abstract bool IsActive { get; }
|
||||
|
||||
public abstract bool AutoReset { get; set; }
|
||||
|
||||
public abstract AnimationResetBehavior ResetBehavior { get; set; }
|
||||
|
||||
public abstract void Play();
|
||||
|
||||
public abstract void Pause();
|
||||
|
||||
public abstract void Reset();
|
||||
|
||||
public abstract void InstantAdvance(float advanceTime);
|
||||
|
||||
public abstract void InstantFinish();
|
||||
|
||||
void IAnimationCallback.AsyncNotify(RENDERHANDLE target, int nCookie)
|
||||
{
|
||||
if (this.AsyncNotifyEvent == null)
|
||||
return;
|
||||
this.AsyncNotifyEvent(nCookie);
|
||||
}
|
||||
|
||||
public event AsyncNotifyHandler AsyncNotifyEvent;
|
||||
|
||||
protected enum AnimatableProperties : uint
|
||||
{
|
||||
Output = 1,
|
||||
}
|
||||
|
||||
protected enum ActivatableMethods : uint
|
||||
{
|
||||
Play = 1,
|
||||
Pause = 2,
|
||||
Reset = 3,
|
||||
Finish = 4,
|
||||
Notify = 5,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.AnimationGroup
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal class AnimationGroup : Microsoft.Iris.Render.Animation.Animation, IAnimationGroup, IAnimation, ISharedRenderObject
|
||||
{
|
||||
internal AnimationGroup(AnimationSystem owner) => throw new NotImplementedException("Not implemented yet");
|
||||
|
||||
public override int RepeatCount
|
||||
{
|
||||
get => throw new NotImplementedException();
|
||||
set => throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool IsPlaying => throw new NotImplementedException();
|
||||
|
||||
public override bool IsActive => throw new NotImplementedException();
|
||||
|
||||
public override bool AutoReset
|
||||
{
|
||||
get => throw new NotImplementedException();
|
||||
set => throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override AnimationResetBehavior ResetBehavior
|
||||
{
|
||||
get => throw new NotImplementedException();
|
||||
set => throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void Play() => throw new NotImplementedException();
|
||||
|
||||
public override void Pause() => throw new NotImplementedException();
|
||||
|
||||
public override void Reset() => throw new NotImplementedException();
|
||||
|
||||
public override void InstantAdvance(float advanceTime) => throw new NotImplementedException();
|
||||
|
||||
public override void InstantFinish() => throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.AnimationInputProvider
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Internal;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using Microsoft.Iris.Render.Protocols.Splash.Rendering;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal class AnimationInputProvider :
|
||||
SharedRenderObject,
|
||||
IAnimationInputProvider,
|
||||
IAnimatable,
|
||||
ISharedRenderObject,
|
||||
IRenderHandleOwner
|
||||
{
|
||||
private RemoteAnimationInputProvider m_remoteObject;
|
||||
private ExternalAnimationInput m_externalInput;
|
||||
|
||||
internal AnimationInputProvider(
|
||||
object objUser,
|
||||
RenderSession session,
|
||||
ExternalAnimationInput externalInput)
|
||||
{
|
||||
Debug2.Validate(externalInput != null, typeof(ArgumentNullException), nameof(externalInput));
|
||||
this.m_remoteObject = session.BuildRemoteAnimationInputProvider(this, externalInput.UniqueId);
|
||||
this.m_externalInput = externalInput;
|
||||
this.RegisterUsage(objUser);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool inDispose)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (inDispose && this.m_remoteObject != null)
|
||||
this.m_remoteObject.Dispose();
|
||||
this.m_remoteObject = null;
|
||||
this.m_externalInput = null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(inDispose);
|
||||
}
|
||||
}
|
||||
|
||||
RENDERHANDLE IRenderHandleOwner.RenderHandle => this.m_remoteObject.RenderHandle;
|
||||
|
||||
void IRenderHandleOwner.OnDisconnect() => this.m_remoteObject = null;
|
||||
|
||||
void IAnimationInputProvider.PublishFloat(
|
||||
string propertyName,
|
||||
float value)
|
||||
{
|
||||
this.m_remoteObject.SendPublishFloat(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName), value);
|
||||
}
|
||||
|
||||
void IAnimationInputProvider.PublishVector2(
|
||||
string propertyName,
|
||||
Vector2 value)
|
||||
{
|
||||
this.m_remoteObject.SendPublishVector2(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName), value);
|
||||
}
|
||||
|
||||
void IAnimationInputProvider.PublishVector3(
|
||||
string propertyName,
|
||||
Vector3 value)
|
||||
{
|
||||
this.m_remoteObject.SendPublishVector3(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName), value);
|
||||
}
|
||||
|
||||
void IAnimationInputProvider.PublishVector4(
|
||||
string propertyName,
|
||||
Vector4 value)
|
||||
{
|
||||
this.m_remoteObject.SendPublishVector4(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName), value);
|
||||
}
|
||||
|
||||
void IAnimationInputProvider.PublishQuaternion(
|
||||
string propertyName,
|
||||
Quaternion value)
|
||||
{
|
||||
this.m_remoteObject.SendPublishQuaternion(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName), value);
|
||||
}
|
||||
|
||||
void IAnimationInputProvider.RevokeFloat(string propertyName) => this.m_remoteObject.SendRevokeFloat(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName));
|
||||
|
||||
void IAnimationInputProvider.RevokeVector2(string propertyName) => this.m_remoteObject.SendRevokeVector2(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName));
|
||||
|
||||
void IAnimationInputProvider.RevokeVector3(string propertyName) => this.m_remoteObject.SendRevokeVector3(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName));
|
||||
|
||||
void IAnimationInputProvider.RevokeVector4(string propertyName) => this.m_remoteObject.SendRevokeVector4(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName));
|
||||
|
||||
void IAnimationInputProvider.RevokeQuaternion(string propertyName) => this.m_remoteObject.SendRevokeQuaternion(((IAnimatableObject)this.m_externalInput).GetPropertyId(propertyName));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.AnimationSystem
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Internal;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using Microsoft.Iris.Render.Protocols.Splash.Rendering;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal class AnimationSystem : SharedRenderObject, IAnimationSystem, IRenderHandleOwner
|
||||
{
|
||||
private RenderSession m_ownerSession;
|
||||
private RemoteAnimationManager m_remoteObject;
|
||||
private int m_nUpdatesPerSecond;
|
||||
private float m_flSpeedAdjustment;
|
||||
private bool m_backCompat;
|
||||
|
||||
internal AnimationSystem(RenderSession ownerSession)
|
||||
{
|
||||
this.m_ownerSession = ownerSession;
|
||||
this.m_remoteObject = ownerSession.BuildRemoteAnimationManager(this);
|
||||
this.m_flSpeedAdjustment = 1f;
|
||||
this.m_backCompat = false;
|
||||
this.RegisterUsage(ownerSession);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool inDispose)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (inDispose && this.m_remoteObject != null)
|
||||
this.m_remoteObject.Dispose();
|
||||
this.m_ownerSession = null;
|
||||
this.m_remoteObject = null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(inDispose);
|
||||
}
|
||||
}
|
||||
|
||||
internal RenderSession Session => this.m_ownerSession;
|
||||
|
||||
public bool BackCompat
|
||||
{
|
||||
get => this.m_backCompat;
|
||||
set => this.m_backCompat = value;
|
||||
}
|
||||
|
||||
IKeyframeAnimation IAnimationSystem.CreateKeyframeAnimation(
|
||||
object objUser,
|
||||
AnimationInput initialValue)
|
||||
{
|
||||
Debug2.Validate(objUser != null, typeof(ArgumentNullException), nameof(objUser));
|
||||
Debug2.Validate(initialValue != null, typeof(ArgumentNullException), nameof(initialValue));
|
||||
KeyframeAnimation keyframeAnimation = new KeyframeAnimation(this, initialValue);
|
||||
keyframeAnimation.RegisterUsage(objUser);
|
||||
return keyframeAnimation;
|
||||
}
|
||||
|
||||
IAnimationGroup IAnimationSystem.CreateAnimationGroup(
|
||||
object objUser)
|
||||
{
|
||||
Debug2.Validate(objUser != null, typeof(ArgumentNullException), nameof(objUser));
|
||||
AnimationGroup animationGroup = new AnimationGroup(this);
|
||||
animationGroup.RegisterUsage(objUser);
|
||||
return animationGroup;
|
||||
}
|
||||
|
||||
void IAnimationSystem.PulseTimeAdvance(int nAdvanceMs) => this.PulseTimeAdvance(nAdvanceMs);
|
||||
|
||||
int IAnimationSystem.UpdatesPerSecond
|
||||
{
|
||||
get => this.m_nUpdatesPerSecond;
|
||||
set
|
||||
{
|
||||
if (value == this.m_nUpdatesPerSecond)
|
||||
return;
|
||||
this.m_nUpdatesPerSecond = value;
|
||||
this.m_remoteObject.SendSetAnimationRate(this.m_nUpdatesPerSecond);
|
||||
}
|
||||
}
|
||||
|
||||
float IAnimationSystem.SpeedAdjustment
|
||||
{
|
||||
get => this.m_flSpeedAdjustment;
|
||||
set
|
||||
{
|
||||
if (Math2.WithinEpsilon(this.m_flSpeedAdjustment, value))
|
||||
return;
|
||||
this.m_flSpeedAdjustment = value;
|
||||
this.m_remoteObject.SendSetGlobalSpeedAdjustment(this.m_flSpeedAdjustment);
|
||||
}
|
||||
}
|
||||
|
||||
IExternalAnimationInput IAnimationSystem.CreateExternalAnimationInput(
|
||||
object objUser,
|
||||
IAnimationPropertyMap propertyMap)
|
||||
{
|
||||
return new ExternalAnimationInput(objUser, this.m_ownerSession, propertyMap);
|
||||
}
|
||||
|
||||
void IAnimationSystem.PauseAnimations() => this.m_remoteObject.SendSetGlobalSpeedAdjustment(0.0f);
|
||||
|
||||
void IAnimationSystem.StepAnimations(int nAdvanceMs) => this.PulseTimeAdvance(nAdvanceMs);
|
||||
|
||||
void IAnimationSystem.ResumeAnimations() => this.m_remoteObject.SendSetGlobalSpeedAdjustment(this.m_flSpeedAdjustment);
|
||||
|
||||
RENDERHANDLE IRenderHandleOwner.RenderHandle => this.m_remoteObject.RenderHandle;
|
||||
|
||||
void IRenderHandleOwner.OnDisconnect() => this.m_remoteObject = null;
|
||||
|
||||
protected override void Invariant()
|
||||
{
|
||||
Debug2.Validate(this.m_remoteObject.IsValid, typeof(InvalidOperationException), "RemoteAnimationManager must be connected");
|
||||
this.m_ownerSession.AssertOwningThread();
|
||||
}
|
||||
|
||||
private void PulseTimeAdvance(int nAdvanceMs)
|
||||
{
|
||||
Debug2.Validate(nAdvanceMs > 0, typeof(ArgumentOutOfRangeException), "advanceTime");
|
||||
this.m_remoteObject.SendPulseTimeAdvance(nAdvanceMs);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.AnimationTarget
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using System.Threading;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal class AnimationTarget : RenderObject
|
||||
{
|
||||
private static int s_targetIdSeed;
|
||||
private int m_targetId;
|
||||
private IAnimatableObject m_object;
|
||||
private string m_property;
|
||||
|
||||
internal AnimationTarget(IAnimatableObject targetObject, string targetPropertyName)
|
||||
{
|
||||
int propertyType = (int)targetObject.GetPropertyType(targetPropertyName);
|
||||
targetObject.RegisterUsage(this);
|
||||
this.m_targetId = Interlocked.Increment(ref s_targetIdSeed);
|
||||
this.m_object = targetObject;
|
||||
this.m_property = targetPropertyName;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool fInDispose)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (fInDispose)
|
||||
this.m_object.UnregisterUsage(this);
|
||||
this.m_object = null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(fInDispose);
|
||||
}
|
||||
}
|
||||
|
||||
internal int TargetId => this.m_targetId;
|
||||
|
||||
internal IAnimatableObject TargetObject => this.m_object;
|
||||
|
||||
internal string TargetPropertyName => this.m_property;
|
||||
|
||||
internal AnimationInputType TargetPropertyType => this.m_object.GetPropertyType(this.m_property);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.ExternalAnimationInput
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Internal;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using Microsoft.Iris.Render.Protocols.Splash.Rendering;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal class ExternalAnimationInput :
|
||||
SharedRenderObject,
|
||||
IExternalAnimationInput,
|
||||
IAnimatableObject,
|
||||
IAnimatable,
|
||||
ISharedRenderObject,
|
||||
IRenderHandleOwner
|
||||
{
|
||||
private static uint s_uniqueIdSeed = 1;
|
||||
private uint m_uniqueId;
|
||||
private RemoteExternalAnimationInput m_remoteObject;
|
||||
private IAnimationPropertyMap m_propertyMap;
|
||||
private RenderSession m_session;
|
||||
|
||||
public ExternalAnimationInput(
|
||||
object objUser,
|
||||
RenderSession session,
|
||||
IAnimationPropertyMap propertyMap)
|
||||
{
|
||||
Debug2.Validate(objUser != null, typeof(ArgumentNullException), nameof(objUser));
|
||||
Debug2.Validate(propertyMap != null, typeof(ArgumentNullException), nameof(propertyMap));
|
||||
this.m_uniqueId = s_uniqueIdSeed++;
|
||||
this.m_propertyMap = propertyMap;
|
||||
this.m_session = session;
|
||||
this.m_remoteObject = session.BuildRemoteExternalAnimationInput(this, this.m_uniqueId);
|
||||
this.RegisterUsage(objUser);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool inDispose)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (inDispose && this.m_remoteObject != null)
|
||||
this.m_remoteObject.Dispose();
|
||||
this.m_remoteObject = null;
|
||||
this.m_propertyMap = null;
|
||||
this.m_session = null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Dispose(inDispose);
|
||||
}
|
||||
}
|
||||
|
||||
public uint UniqueId => this.m_uniqueId;
|
||||
|
||||
RENDERHANDLE IRenderHandleOwner.RenderHandle => this.m_remoteObject.RenderHandle;
|
||||
|
||||
void IRenderHandleOwner.OnDisconnect()
|
||||
{
|
||||
this.m_uniqueId = 0U;
|
||||
this.m_remoteObject = null;
|
||||
}
|
||||
|
||||
RENDERHANDLE IAnimatableObject.GetObjectId() => this.m_remoteObject.RenderHandle;
|
||||
|
||||
uint IAnimatableObject.GetPropertyId(string propertyName) => this.m_propertyMap.GetPropertyId(propertyName);
|
||||
|
||||
AnimationInputType IAnimatableObject.GetPropertyType(
|
||||
string propertyName)
|
||||
{
|
||||
return this.m_propertyMap.GetPropertyType(propertyName);
|
||||
}
|
||||
|
||||
IAnimationInputProvider IExternalAnimationInput.CreateProvider(
|
||||
object objUser)
|
||||
{
|
||||
return new AnimationInputProvider(objUser, this.m_session, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.IActivatableObject
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal interface IActivatableObject : IActivatable
|
||||
{
|
||||
RENDERHANDLE GetObjectId();
|
||||
|
||||
uint GetMethodId(string methodName);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.IAnimatableObject
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
internal interface IAnimatableObject : IAnimatable, ISharedRenderObject
|
||||
{
|
||||
RENDERHANDLE GetObjectId();
|
||||
|
||||
uint GetPropertyId(string propertyName);
|
||||
|
||||
AnimationInputType GetPropertyType(string propertyName);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,61 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.Animation.ObjectAnimationInput
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render.Animation
|
||||
{
|
||||
public abstract class ObjectAnimationInput : AnimationInput
|
||||
{
|
||||
private IAnimatableObject m_object;
|
||||
private string m_propertyName;
|
||||
|
||||
protected ObjectAnimationInput(
|
||||
IAnimatable sourceObject,
|
||||
string sourcePropertyName,
|
||||
string sourceMaskSpec)
|
||||
{
|
||||
Debug2.Validate(sourceObject is IAnimatableObject, typeof(ArgumentException), nameof(sourceObject));
|
||||
Debug2.Validate(sourcePropertyName != null, typeof(ArgumentException), nameof(sourcePropertyName));
|
||||
AnimationTypeMask sourceMask = AnimationTypeMask.FromString(sourceMaskSpec);
|
||||
this.m_object = (IAnimatableObject)sourceObject;
|
||||
this.m_propertyName = sourcePropertyName;
|
||||
this.CommonCreate(this.m_object.GetPropertyType(this.m_propertyName), sourceMask);
|
||||
}
|
||||
|
||||
protected ObjectAnimationInput(IAnimation sourceAnimation, string sourceMaskSpec)
|
||||
{
|
||||
Debug2.Validate(sourceAnimation is IAnimatableObject, typeof(ArgumentException), nameof(sourceAnimation));
|
||||
AnimationTypeMask sourceMask = AnimationTypeMask.FromString(sourceMaskSpec);
|
||||
this.m_object = (IAnimatableObject)sourceAnimation;
|
||||
this.m_propertyName = Animation.OutputProperty;
|
||||
this.CommonCreate(this.m_object.GetPropertyType(this.m_propertyName), sourceMask);
|
||||
}
|
||||
|
||||
internal RENDERHANDLE ObjectId => this.m_object.GetObjectId();
|
||||
|
||||
internal uint PropertyId => this.m_object.GetPropertyId(this.m_propertyName);
|
||||
|
||||
internal override void RegisterUsage(object user)
|
||||
{
|
||||
Debug2.Validate(this.m_object != null, typeof(ObjectDisposedException), "Source object doesn't exist anymore");
|
||||
this.m_object.RegisterUsage(user);
|
||||
base.RegisterUsage(user);
|
||||
}
|
||||
|
||||
internal override void UnregisterUsage(object user)
|
||||
{
|
||||
Debug2.Validate(this.m_object != null, typeof(ObjectDisposedException), "Source object doesn't exist anymore");
|
||||
bool flag = this.m_object.UsageCount == 1;
|
||||
this.m_object.UnregisterUsage(user);
|
||||
if (flag)
|
||||
this.m_object = null;
|
||||
base.UnregisterUsage(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationEvent
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Animation;
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using Microsoft.Iris.Render.Protocol;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public class AnimationEvent
|
||||
{
|
||||
private static int s_eventIdSeed = 1;
|
||||
private uint m_eventId;
|
||||
private IActivatableObject m_eventTarget;
|
||||
private string m_eventMethodName;
|
||||
private uint m_eventMethodArg;
|
||||
private bool m_allowRepeat;
|
||||
private bool m_initialActivation;
|
||||
|
||||
public AnimationEvent(IActivatable eventTarget, string eventMethodName)
|
||||
: this(eventTarget, eventMethodName, 0U)
|
||||
{
|
||||
}
|
||||
|
||||
public AnimationEvent(IActivatable eventTarget, string eventMethodName, uint eventMethodArg)
|
||||
{
|
||||
Debug2.Validate(eventTarget != null, typeof(ArgumentNullException), nameof(eventTarget));
|
||||
Debug2.Validate(eventTarget is IActivatableObject, typeof(ArgumentException), nameof(eventTarget));
|
||||
Debug2.Validate(eventMethodName != null, typeof(ArgumentNullException), nameof(eventMethodName));
|
||||
this.m_eventId = AllocateEventId();
|
||||
this.m_eventTarget = (IActivatableObject)eventTarget;
|
||||
this.m_eventMethodName = eventMethodName;
|
||||
this.m_eventMethodArg = eventMethodArg;
|
||||
this.m_allowRepeat = false;
|
||||
}
|
||||
|
||||
~AnimationEvent() => this.m_eventTarget = null;
|
||||
|
||||
internal uint EventId => this.m_eventId;
|
||||
|
||||
internal RENDERHANDLE TargetObjectId => this.m_eventTarget.GetObjectId();
|
||||
|
||||
internal uint TargetMethodId => this.m_eventTarget.GetMethodId(this.m_eventMethodName);
|
||||
|
||||
internal uint TargetMethodArg => this.m_eventMethodArg;
|
||||
|
||||
public bool AllowRepeat
|
||||
{
|
||||
get => this.m_allowRepeat;
|
||||
set => this.m_allowRepeat = value;
|
||||
}
|
||||
|
||||
public bool InitialActivation
|
||||
{
|
||||
get => this.m_initialActivation;
|
||||
set => this.m_initialActivation = value;
|
||||
}
|
||||
|
||||
private static uint AllocateEventId() => (uint)s_eventIdSeed++;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationInput
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public abstract class AnimationInput
|
||||
{
|
||||
private AnimationInputType m_sourceType;
|
||||
private AnimationInputType m_inputType;
|
||||
private AnimationTypeMask m_sourceMask;
|
||||
|
||||
protected void CommonCreate(AnimationInputType sourceType, AnimationTypeMask sourceMask)
|
||||
{
|
||||
Debug2.Validate(sourceMask.CanMapFromType(sourceType), typeof(ArgumentException), nameof(sourceMask));
|
||||
AnimationInputType animationInputType;
|
||||
switch (sourceMask.ChannelCount)
|
||||
{
|
||||
case 0:
|
||||
animationInputType = sourceType;
|
||||
break;
|
||||
case 1:
|
||||
animationInputType = AnimationInputType.Float;
|
||||
break;
|
||||
case 2:
|
||||
animationInputType = AnimationInputType.Vector2;
|
||||
break;
|
||||
case 3:
|
||||
animationInputType = AnimationInputType.Vector3;
|
||||
break;
|
||||
case 4:
|
||||
animationInputType = AnimationInputType.Vector4;
|
||||
break;
|
||||
default:
|
||||
Debug2.Throw(false, "Masking is limited to four channels");
|
||||
animationInputType = sourceType;
|
||||
break;
|
||||
}
|
||||
this.m_sourceType = sourceType;
|
||||
this.m_sourceMask = sourceMask;
|
||||
this.m_inputType = animationInputType;
|
||||
}
|
||||
|
||||
public AnimationInputType InputType => this.m_inputType;
|
||||
|
||||
internal AnimationInputType SourceType => this.m_sourceType;
|
||||
|
||||
internal AnimationTypeMask SourceMask => this.m_sourceMask;
|
||||
|
||||
internal virtual void RegisterUsage(object user)
|
||||
{
|
||||
}
|
||||
|
||||
internal virtual void UnregisterUsage(object user)
|
||||
{
|
||||
}
|
||||
|
||||
public static AnimationInput operator +(AnimationInput left, AnimationInput right)
|
||||
{
|
||||
Debug2.Validate(left != null, typeof(ArgumentNullException), nameof(left));
|
||||
Debug2.Validate(right != null, typeof(ArgumentNullException), nameof(right));
|
||||
return new BinaryOperation(BinaryOpCode.Add, left, right);
|
||||
}
|
||||
|
||||
public static AnimationInput operator *(AnimationInput left, AnimationInput right)
|
||||
{
|
||||
Debug2.Validate(left != null, typeof(ArgumentNullException), nameof(left));
|
||||
Debug2.Validate(right != null, typeof(ArgumentNullException), nameof(right));
|
||||
return new BinaryOperation(BinaryOpCode.Multiply, left, right);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationInputType
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public enum AnimationInputType
|
||||
{
|
||||
Float,
|
||||
Vector2,
|
||||
Vector3,
|
||||
Vector4,
|
||||
Quaternion,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationInterpolation
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public abstract class AnimationInterpolation
|
||||
{
|
||||
private bool m_isSpherical;
|
||||
|
||||
protected AnimationInterpolation() => this.m_isSpherical = false;
|
||||
|
||||
public bool UseSphericalCombination
|
||||
{
|
||||
get => this.m_isSpherical;
|
||||
set => this.m_isSpherical = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationKeyframe
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
using Microsoft.Iris.Render.Common;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public sealed class AnimationKeyframe
|
||||
{
|
||||
private float m_time;
|
||||
private AnimationInput m_value;
|
||||
private AnimationInterpolation m_interpolation;
|
||||
|
||||
public AnimationKeyframe(
|
||||
float time,
|
||||
AnimationInput value,
|
||||
AnimationInterpolation interpolation)
|
||||
{
|
||||
Debug2.Validate(time >= 0.0, typeof(ArgumentException), "'time' must not be negative");
|
||||
Debug2.Validate(value != null, typeof(ArgumentNullException), nameof(value));
|
||||
Debug2.Validate(interpolation != null, typeof(ArgumentNullException), nameof(interpolation));
|
||||
this.m_time = time;
|
||||
this.m_value = value;
|
||||
this.m_interpolation = interpolation;
|
||||
}
|
||||
|
||||
public float Time => this.m_time;
|
||||
|
||||
public AnimationInput Value => this.m_value;
|
||||
|
||||
public AnimationInterpolation Interpolation => this.m_interpolation;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationResetBehavior
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public enum AnimationResetBehavior : uint
|
||||
{
|
||||
LeaveCurrent,
|
||||
SetInitialValue,
|
||||
SetFinalValue,
|
||||
Count,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationStage
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public enum AnimationStage : uint
|
||||
{
|
||||
Start,
|
||||
LoopStart,
|
||||
LoopComplete,
|
||||
Complete,
|
||||
Reset,
|
||||
Count,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Render.AnimationTypeChannel
|
||||
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
||||
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
|
||||
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
|
||||
|
||||
namespace Microsoft.Iris.Render
|
||||
{
|
||||
public enum AnimationTypeChannel
|
||||
{
|
||||
O = 0,
|
||||
R = 1,
|
||||
X = 1,
|
||||
G = 2,
|
||||
Y = 2,
|
||||
B = 3,
|
||||
Z = 3,
|
||||
A = 4,
|
||||
W = 4,
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user