reflex-animation-0.1: Continuous animations support for reflex

Safe HaskellNone
LanguageHaskell2010

Reflex.Animation

Synopsis

Documentation

newtype Animation time a Source

Infinite animations 'time -> a'

Constructors

Animation 

Fields

sampleAt :: time -> a
 

stretched :: Num time => time -> Animation time a -> Animation time a Source

delayed :: Num time => time -> Animation time a -> Animation time a Source

data Clip time a Source

Infinite animations, Animation with a period

Constructors

Clip 

Fields

clipAnim :: Animation time a
 
period :: time
 

Instances

Functor (Clip time) Source 
(Num time, Ord time) => Semigroup (Clip time a) Source 

sampleClip :: (Ord time, Num time) => Clip time a -> time -> Maybe a Source

Sample from a clip, returning Nothing outside the domain

toMaybe :: (Ord time, Num time) => Clip time a -> Animation time (Maybe a) Source

Turn a clip into an infinite Animation by using Maybe

stretchTo :: RealFrac time => time -> Clip time a -> Clip time a Source

Stretch a clip to a specific size by scaling time

section :: (Ord time, Num time) => (time, time) -> Animation time a -> Clip time a Source

Take a section of an infinite animation as a Clip

clamped :: (Ord time, Num time) => Clip time a -> Animation time a Source

Make an infinite animation by clamping time to lie within the period

repeat :: RealFrac time => Clip time a -> Animation time a Source

Make an infinite animation by repeating the clip

replicate :: RealFrac time => Int -> Clip time a -> Clip time a Source

Repeat a clip a fixed number of times to make a new one

cropEnd :: (Ord time, Num time) => time -> Clip time a -> Clip time a Source

Shorten a clip to a certain period by cropping the end

cropStart :: (Ord time, Num time) => time -> Clip time a -> Clip time a Source

Shorten a clip by cropping the start

crop :: (Ord time, Num time) => (time, time) -> Clip time a -> Clip time a Source

Crop the clip to a range

linear :: (VectorSpace v, RealFrac (Scalar v)) => Interpolater (Scalar v) v Source

linearIn :: RealFrac time => time -> Clip time time Source

Predefined clips based on special functions for building up animations

linearOut :: RealFrac time => time -> Clip time time Source

piecewise :: (Ord time, Num time) => [Clip time a] -> Clip time a Source

keyframes :: (VectorSpace v, RealFrac (Scalar v)) => v -> [(Scalar v, v)] -> Clip (Scalar v) v Source