namespace LitMotion { /// /// Provides the function to schedule the execution of a motion. /// public interface IMotionScheduler { /// /// Schedule the motion. /// /// The type of value to animate /// The type of special parameters given to the motion data /// The type of adapter that support value animation /// Motion data /// Motion callback data /// Motion handle MotionHandle Schedule(ref MotionData data, ref MotionCallbackData callbackData) where TValue : unmanaged where TOptions : unmanaged, IMotionOptions where TAdapter : unmanaged, IMotionAdapter; /// /// Returns the current time. /// double Time { get; } } /// /// Type of time used to play the motion /// public enum MotionTimeKind : byte { Time = 0, UnscaledTime = 1, Realtime = 2 } }