public void Morph(float morphKoeff) { var t = Transform2.Lerp(morphKoeff, originalTransform, exposedTransform); exposedWidget.Position = t.Translation; exposedWidget.Scale = t.Scale; exposedWidget.Rotation = t.Rotation; exposedWidget.Pivot = Vector2.Zero; frame.ClipChildren = morphKoeff >= 0.8f ? ClipMethod.ScissorTest : ClipMethod.None; }
public void Morph(float morphKoeff) { var t = Transform2.Lerp(morphKoeff, originalTransform, CalcExposedTransform(exposedWidget, frame)); exposedWidget.Position = double.IsNaN(t.Translation.X) ? new Vector2(0, 0) : t.Translation; exposedWidget.Scale = double.IsNaN(t.Scale.X) ? new Vector2(0, 0) : t.Scale; exposedWidget.Rotation = t.Rotation; exposedWidget.Pivot = Vector2.Zero; frame.ClipChildren = morphKoeff >= 0.8f ? ClipMethod.ScissorTest : ClipMethod.None; }