From 8fa4586c8a7d8cd808784299f210c277ea5b7b1c Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Thu, 26 Sep 2019 21:39:04 +0800 Subject: [PATCH] add DiscreteGeometryKeyFrame --- .../Animation/DiscreteGeometryKeyFrame.cs | 22 +++++++++++++++++++ .../Media/Animation/GeometryKeyFrame.cs | 5 +++++ 2 files changed, 27 insertions(+) create mode 100644 src/Shared/HandyControl_Shared/Media/Animation/DiscreteGeometryKeyFrame.cs diff --git a/src/Shared/HandyControl_Shared/Media/Animation/DiscreteGeometryKeyFrame.cs b/src/Shared/HandyControl_Shared/Media/Animation/DiscreteGeometryKeyFrame.cs new file mode 100644 index 00000000..047e4c5f --- /dev/null +++ b/src/Shared/HandyControl_Shared/Media/Animation/DiscreteGeometryKeyFrame.cs @@ -0,0 +1,22 @@ +using System.Windows; +using System.Windows.Media; +using System.Windows.Media.Animation; + +public class DiscreteGeometryKeyFrame : GeometryKeyFrame +{ + public DiscreteGeometryKeyFrame() + { + } + + public DiscreteGeometryKeyFrame(Geometry value) : base(value) + { + } + + public DiscreteGeometryKeyFrame(Geometry value, KeyTime keyTime) : base(value, keyTime) + { + } + + protected override Freezable CreateInstanceCore() => new DiscreteGeometryKeyFrame(); + + protected override Geometry InterpolateValueCore(Geometry baseValue, double keyFrameProgress) => keyFrameProgress < 1.0 ? baseValue : Value; +} \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryKeyFrame.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryKeyFrame.cs index fca1fe0a..0f743acc 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryKeyFrame.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryKeyFrame.cs @@ -5,6 +5,11 @@ using System.Windows.Media.Animation; public abstract class GeometryKeyFrame : Freezable, IKeyFrame { + protected GeometryKeyFrame() + { + + } + protected GeometryKeyFrame(Geometry value) { Value = value;