mirror of
https://github.com/ZuneDev/Xune.git
synced 2026-07-27 13:13:10 -07:00
Added UIX library
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: Microsoft.Iris.Animations.BaseKeyframe
|
||||
// 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 System;
|
||||
using System.Text;
|
||||
|
||||
namespace Microsoft.Iris.Animations
|
||||
{
|
||||
internal abstract class BaseKeyframe : ICloneable
|
||||
{
|
||||
private Interpolation _interpolation;
|
||||
private RelativeTo _relative;
|
||||
private float _timeValue;
|
||||
private static RendererProperty[] s_propertyMap = new RendererProperty[20];
|
||||
|
||||
static BaseKeyframe()
|
||||
{
|
||||
s_propertyMap[0] = new RendererProperty("Position");
|
||||
s_propertyMap[1] = new RendererProperty("Size");
|
||||
s_propertyMap[2] = new RendererProperty("Alpha");
|
||||
s_propertyMap[3] = new RendererProperty("Scale");
|
||||
s_propertyMap[4] = new RendererProperty("Rotation");
|
||||
s_propertyMap[5] = new RendererProperty("Orientation");
|
||||
s_propertyMap[6] = new RendererProperty("Position", "X", "X00");
|
||||
s_propertyMap[7] = new RendererProperty("Position", "Y", "0X0");
|
||||
s_propertyMap[8] = new RendererProperty("Size", "X", "X0");
|
||||
s_propertyMap[9] = new RendererProperty("Size", "Y", "0X");
|
||||
s_propertyMap[10] = new RendererProperty("Scale", "X", "X00");
|
||||
s_propertyMap[11] = new RendererProperty("Scale", "Y", "0X0");
|
||||
s_propertyMap[16] = new RendererProperty("CameraEye");
|
||||
s_propertyMap[17] = new RendererProperty("CameraAt");
|
||||
s_propertyMap[18] = new RendererProperty("CameraUp");
|
||||
s_propertyMap[19] = new RendererProperty("CameraZn");
|
||||
}
|
||||
|
||||
public BaseKeyframe()
|
||||
: this(0.0f)
|
||||
{
|
||||
}
|
||||
|
||||
public BaseKeyframe(float timeValue)
|
||||
{
|
||||
_timeValue = timeValue;
|
||||
_relative = RelativeTo.Final;
|
||||
}
|
||||
|
||||
public void AddtoAnimation(
|
||||
AnimationTemplate anim,
|
||||
ActiveSequence aseq,
|
||||
string property,
|
||||
ref AnimationArgs args,
|
||||
ref AnimationProxy animation)
|
||||
{
|
||||
if (animation == null)
|
||||
animation = CreateProxy(anim, aseq, property);
|
||||
PopulateAnimationWorker(aseq.Target, animation, ref args);
|
||||
}
|
||||
|
||||
protected virtual AnimationProxy CreateProxy(
|
||||
AnimationTemplate anim,
|
||||
ActiveSequence aseq,
|
||||
string property)
|
||||
{
|
||||
StopCommand stopCommand = anim.GetStopCommand(Type);
|
||||
RendererProperty rendererProperty = property != null ? new RendererProperty(property) : s_propertyMap[(int)Type];
|
||||
return new AnimationProxy(aseq, aseq.Target, Type, rendererProperty, anim.Loop, stopCommand);
|
||||
}
|
||||
|
||||
public BaseKeyframe Clone() => (BaseKeyframe)MemberwiseClone();
|
||||
|
||||
object ICloneable.Clone() => Clone();
|
||||
|
||||
protected abstract void PopulateAnimationWorker(
|
||||
IAnimatable targetObject,
|
||||
AnimationProxy animation,
|
||||
ref AnimationArgs args);
|
||||
|
||||
public float Time
|
||||
{
|
||||
get => _timeValue;
|
||||
set => _timeValue = value;
|
||||
}
|
||||
|
||||
public RelativeTo RelativeTo
|
||||
{
|
||||
get => _relative == null ? RelativeTo.Absolute : _relative;
|
||||
set => _relative = value;
|
||||
}
|
||||
|
||||
public bool IsRelativeToObject => RelativeTo.IsRelativeToObject;
|
||||
|
||||
public Interpolation Interpolation
|
||||
{
|
||||
get => _interpolation;
|
||||
set => _interpolation = value;
|
||||
}
|
||||
|
||||
public abstract AnimationType Type { get; }
|
||||
|
||||
public abstract object ObjectValue { get; }
|
||||
|
||||
public abstract void Apply(IAnimatableOwner animationTarget, ref AnimationArgs args);
|
||||
|
||||
public abstract void MagnifyValue(float magnifyValue);
|
||||
|
||||
public virtual bool Multiply => false;
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.Append("<");
|
||||
stringBuilder.Append(GetType().Name);
|
||||
stringBuilder.Append(" Time=\"");
|
||||
stringBuilder.Append(_timeValue);
|
||||
stringBuilder.Append("\"");
|
||||
if (_interpolation != null)
|
||||
{
|
||||
stringBuilder.Append(" Interpolation=\"");
|
||||
stringBuilder.Append(_interpolation.ToString());
|
||||
stringBuilder.Append("\"");
|
||||
}
|
||||
if (_relative != RelativeTo.Absolute)
|
||||
{
|
||||
stringBuilder.Append(" RelativeTo=\"");
|
||||
stringBuilder.Append(_relative);
|
||||
stringBuilder.Append("\"");
|
||||
}
|
||||
stringBuilder.Append(" Value=\"");
|
||||
stringBuilder.Append(ObjectValue);
|
||||
stringBuilder.Append("\"");
|
||||
stringBuilder.Append("/>");
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user