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,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user