Documentation (mostly for scenes) (#58)

Former-commit-id: 76fe4a261710ff744d09c9dd0a9b694f759fda41
This commit is contained in:
David Himmelstrup 2020-02-22 20:32:31 +08:00 committed by GitHub
commit ff2f7f614b
45 changed files with 759 additions and 163 deletions

View file

@ -0,0 +1,9 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ addStatic (mkBackground "lightblue") drawCircle

13
examples/doc_applyVar.hs Executable file
View file

@ -0,0 +1,13 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- fork $ newSpriteA drawBox
v <- newVar 0
applyVar v s rotate
tweenVar v 2 $ \val -> fromToS val 90

10
examples/doc_chainT.hs Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Transition
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ chainT (overlapT 0.5 fadeT) [drawBox, drawCircle, drawProgress]

12
examples/doc_destroySprite.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- newSpriteSVG $ withFillOpacity 1 $ mkCircle 1
fork $ wait 1 >> destroySprite s
play drawBox

10
examples/doc_fadeT.hs Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Transition
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ drawBox `fadeT` drawCircle

11
examples/doc_fork.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
fork $ play drawBox
play drawCircle

11
examples/doc_newSprite.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
_ <- newSprite $ mkCircle <$> spriteT -- Circle sprite where radius=time.
wait 2

13
examples/doc_newSpriteA'.hs Executable file
View file

@ -0,0 +1,13 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Animation
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
_ <- fork $ newSpriteA' SyncFreeze drawCircle
play drawBox
play $ reverseA drawBox

12
examples/doc_newSpriteA.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
_ <- fork $ newSpriteA drawCircle
play drawBox
play $ reverseA drawBox

11
examples/doc_newSpriteSVG.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
_ <- newSpriteSVG $ mkBackground "lightblue"
play drawCircle

10
examples/doc_overlapT.hs Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Transition
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ overlapT 0.5 fadeT drawBox drawCircle

11
examples/doc_play.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
play drawBox
play drawCircle

15
examples/doc_queryNow.hs Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
{-# LANGUAGE OverloadedStrings #-}
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
import Data.Monoid ((<>))
import qualified Data.Text as T
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
now <- play drawCircle *> queryNow
play $ staticFrame 1 $ scale 2 $ withStrokeWidth 0.05 $
mkText $ "Now=" <> T.pack (show now)

11
examples/doc_simpleVar.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
var <- simpleVar mkCircle 0
tweenVar var 2 $ \val -> fromToS val (screenHeight/2)

12
examples/doc_spriteE.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- fork $ newSpriteA drawCircle
spriteE s $ overBeginning 1 fadeInE
spriteE s $ overEnding 0.5 fadeOutE

12
examples/doc_spriteMap.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- fork $ newSpriteA drawCircle
wait 1
spriteMap s flipYAxis

11
examples/doc_spriteTween.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- fork $ newSpriteA drawCircle
spriteTween s 1 $ \val -> translate (screenWidth*0.3*val) 0

12
examples/doc_spriteVar.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s <- fork $ newSpriteA drawBox
v <- spriteVar s 0 rotate
tweenVar v 2 $ \val -> fromToS val 90

14
examples/doc_spriteZ.hs Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
s1 <- newSpriteSVG $ withFillOpacity 1 $ withFillColor "blue" $ mkCircle 3
_ <- newSpriteSVG $ withFillOpacity 1 $ withFillColor "red" $ mkRect 8 3
wait 1
spriteZ s1 1
wait 1

13
examples/doc_unVar.hs Executable file
View file

@ -0,0 +1,13 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
v <- newVar 0
_ <- newSprite $ mkCircle <$> unVar v
tweenVar v 1 $ \val -> fromToS val 3
tweenVar v 1 $ \val -> fromToS val 0

12
examples/doc_wait.hs Executable file
View file

@ -0,0 +1,12 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
fork $ play drawBox
wait 1
play drawCircle

11
examples/doc_waitOn.hs Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
waitOn $ fork $ play drawBox
play drawCircle

14
examples/doc_writeVar.hs Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/env stack
-- stack runghc --package reanimate
module Main(main) where
import Reanimate
import Reanimate.Builtin.Documentation
main :: IO ()
main = reanimate $ docEnv $ sceneAnimation $ do
v <- newVar 0
_ <- newSprite $ mkCircle <$> unVar v
writeVar v 1; wait 1
writeVar v 2; wait 1
writeVar v 3; wait 1

View file

@ -7,12 +7,8 @@ import Data.Complex
import qualified Data.Text as T
import Graphics.SvgTree
import Reanimate.Driver (reanimate)
import Reanimate
import Reanimate.LaTeX (latex)
import Reanimate.Animation
import Reanimate.Svg
import Reanimate.Signal
import Reanimate.Constants
waveMultiplier :: Int
-- waveMultiplier = 1 -- Sawtooth wave

View file

@ -7,7 +7,6 @@ module Main (main) where
import Control.Monad (forM_)
import Graphics.SvgTree (Tree)
import Reanimate
import Reanimate.Driver (reanimate)
main :: IO ()
main = reanimate $ bg `parA` mainScene
@ -22,7 +21,7 @@ mainScene = sceneAnimation $ mdo
fork $ play $ drawCircle
# freezeAtPercentage 1
# setDuration rotDur
rotDur <- withSceneDuration $ waitAll $
rotDur <- withSceneDuration $ waitOn $
forM_ svgs $ \svg -> do
fork $ play $ drawTick
# setDuration rotateT

View file

@ -9,10 +9,7 @@ import Graphics.SvgTree hiding (Text)
import Numeric
import Reanimate.Animation
import Reanimate.Constants
import Reanimate.Driver (reanimate)
import Reanimate.LaTeX
import Reanimate.Signal
import Reanimate.Svg
import Reanimate
main :: IO ()
main = reanimate $ pauseAtEnd 5 $

View file

@ -4,6 +4,7 @@
module Main(main) where
import Reanimate
import Reanimate.Transition
import Codec.Picture.Types
import Data.Text (Text)
@ -19,10 +20,11 @@ transitionTime = 0.5
main :: IO ()
main = reanimate $ bg `parA`
transitions fadeInE fadeOutE transitionTime
chainT transition
[animateCircleR, animateCircleP, animateRectR, animateColor
,signalA (constantS 0) $ setDuration transitionTime animateCircleR]
where
transition = overlapT transitionTime fadeT
bg = animate $ const $ mkBackgroundPixel bgColor
animateCircleR :: Animation

View file

@ -24,7 +24,7 @@ mainScene = sceneAnimation $ mdo
fork $ play $ drawCircle
# freezeAtPercentage 1
# setDuration rotDur
rotDur <- withSceneDuration $ waitAll $
rotDur <- withSceneDuration $ waitOn $
forM_ svgs $ \svg -> do
fork $ play $ drawTick
# setDuration rotateT

View file

@ -4,6 +4,7 @@
module Main (main) where
import Reanimate
import Reanimate.Transition
import Reanimate.Builtin.Images
import Codec.Picture
@ -21,7 +22,7 @@ transitionTime :: Double
transitionTime = 0.5
main :: IO ()
main = reanimate $ bg `parA` transitions fadeInE fadeOutE transitionTime
main = reanimate $ bg `parA` chainT (overlapT transitionTime fadeT)
[comp1, comp2, comp3, comp4, comp5, comp6, comp7, setDuration transitionTime comp1]
where
bg = animate $ const $ mkBackgroundPixel bgColor