Packages

sealed trait Interpolation[A] extends AnyRef

An Interpolation represents a range of values between a starting and ending value. The interpolation is also optionally transformed by an easing function. The starting value is mapped to 0.0 and the ending value to 1.0. When a number of steps is specified the interpolation is transformed into a transducer, which may be run or composed with other transducers.

Interpolations may be transformed by map and product (functor and semigroupal) to construct more complex interpolations.

The differences between an interpolation and a transducer are as follows:

- An interpolation specifies a start and end value. When a number of steps is given it becomes a transducer. When interpolations are combined in parallel, with product, they always take the same amount of time when converted to a transducer. Transducers combined in parallel may take differing amounts of time.

- A transducer can represent arbitrary FSMs, while an interpolation moves from start to end value.

- Transducers can be run. Interpolations must be transformed to transducers to run.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Interpolation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def forDuration(duration: Duration): Transducer[A]
  10. def forSteps(steps: Long): Transducer[A]

    Create a transducer that will produce the given number of values before it stops.

    Create a transducer that will produce the given number of values before it stops. So, for example, calling forSteps(2) will create a transducer that produces 2 values before it stops.

    The number of steps must be non-negative. 0 steps means a transducer that stops immediately. 1 step will produce the start value for a half-open interval and the stop value for a closed interval.

  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def map[B](f: (A) ⇒ B): Interpolation[B]

    Transform the output of this interpolation with the given function.

  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def product[B](that: Interpolation[B]): Interpolation[(A, B)]

    Combine this Interpolation in parallel with that Interpolation.

  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  24. def withEasing(easing: Easing): Interpolation[A]

    Apply an easing function to this interpolation.

    Apply an easing function to this interpolation.

    Map the range in this interpolation to 0.0 and 1.0, pass through the given easing function, and then map back to the original domain.

Inherited from AnyRef

Inherited from Any

Ungrouped