mirror of
https://github.com/reanimate/reanimate.git
synced 2026-09-14 09:32:22 +00:00
Deploying to gh-pages from @ 41d6a1d9f1 🚀
This commit is contained in:
parent
a36ae34f44
commit
c6271acbe5
4 changed files with 71 additions and 59 deletions
|
|
@ -7,6 +7,8 @@
|
|||
100% ( 9 / 9) in 'Reanimate.Voice'
|
||||
100% ( 9 / 9) in 'Reanimate.Povray'
|
||||
100% ( 9 / 9) in 'Reanimate.Constants'
|
||||
100% ( 8 / 8) in 'Reanimate.Builtin.TernaryPlot'
|
||||
100% ( 6 / 6) in 'Reanimate.Builtin.Images'
|
||||
100% ( 5 / 5) in 'Reanimate.Transform'
|
||||
100% ( 4 / 4) in 'Reanimate.Svg.BoundingBox'
|
||||
100% ( 3 / 3) in 'Reanimate.Blender'
|
||||
|
|
@ -18,7 +20,6 @@
|
|||
81% ( 92 /114) in 'Reanimate.Scene'
|
||||
75% ( 6 / 8) in 'Reanimate.Builtin.Documentation'
|
||||
75% ( 3 / 4) in 'Reanimate.Svg.Unuse'
|
||||
67% ( 4 / 6) in 'Reanimate.Builtin.Images'
|
||||
62% ( 23 / 37) in 'Reanimate.Internal.CubicBezier'
|
||||
56% ( 10 / 18) in 'Reanimate.Svg'
|
||||
50% ( 1 / 2) in 'Reanimate.Builtin.CirclePlot'
|
||||
|
|
@ -32,7 +33,6 @@
|
|||
6% ( 1 / 18) in 'Reanimate.Svg.LineCommand'
|
||||
0% ( 0 / 13) in 'Reanimate.Morph.Common'
|
||||
0% ( 0 / 10) in 'Reanimate.ColorSpace'
|
||||
0% ( 0 / 10) in 'Reanimate.Builtin.TernaryPlot'
|
||||
0% ( 0 / 8) in 'Reanimate.Misc'
|
||||
0% ( 0 / 8) in 'Reanimate.Math.Balloon'
|
||||
0% ( 0 / 7) in 'Reanimate.Morph.Linear'
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{ "schemaVersion": 1, "label": "api docs", "message": "67%", "color": "success" }
|
||||
{ "schemaVersion": 1, "label": "api docs", "message": "68%", "color": "success" }
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@ const snippets = [{"title": "Hello World","url": "https://reanimate.clozecards.c
|
|||
,{"title": "Easing Graphs","url": "https://reanimate.clozecards.com/FEyCDsj0V82/255.svg","code": "colorPalette = parula -- try: viridis, sinebow, turbo, cividis\nfns =\n [(\"curveS\", curveS 2)\n ,(\"bellS\", bellS 2)\n ,(\"constantS\", constantS 0.7)\n ,(\"oscillateS\", oscillateS)\n ,(\"powerS\", powerS 2)\n ,(\"reverseS\", reverseS)\n ,(\"id\", id)\n ]\n\nanimation :: Animation\nanimation = docEnv $ pauseAtEnd 1 $ sceneAnimation $ do\n newSpriteSVG_ $ mkBackground \"white\"\n play $ signalA (curveS 2) $ animate $ \\t -> partialSvg t grid\n newSpriteSVG_ grid\n wait 1\n flip mapM_ (zip [0..] fns) $ \\(nth, (txt, fn)) -> do\n let color = promotePixel $ colorPalette (nth / fromIntegral (length fns-1))\n showEasing nth txt fn color\n {- showEasing 3 \"oscillateS\" oscillateS\n showEasing 4 \"powerS\" (powerS 2)\n showEasing 5 \"reverseS\" reverseS\n showEasing 6 \"id\" id -}\n\ngridOffset = -2\ngridHeight = 5\ngridWidth = 8\n\ngrid :: SVG\ngrid = translate gridOffset 0 $\n withStrokeWidth defaultStrokeWidth $\n withStrokeColor \"grey\" $ mkGroup\n [ mkPath $ concat\n [[ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2-n)]\n ,SVG.HorizontalTo SVG.OriginRelative [gridWidth] ]\n | n <- [1..gridHeight-1]\n ]\n , mkPath \n [ SVG.MoveTo SVG.OriginAbsolute [V2 (-gridWidth/2) (gridHeight/2)]\n , SVG.VerticalTo SVG.OriginRelative [-gridHeight]\n , SVG.HorizontalTo SVG.OriginRelative [gridWidth]\n , SVG.VerticalTo SVG.OriginRelative [gridHeight]\n , SVG.EndPath\n ]\n ]\n\nshowEasing nth txt fn color = do\n let steps = 100\n slope = withStrokeColorPixel color $\n translate gridOffset 0 $ mkLinePath\n [ ((x/steps-0.5)*gridWidth, (y-0.5)*gridHeight)\n | x <- [0..steps]\n , let y = fn (x/steps) ]\n s <- newSpriteSVG $\n withFillColorPixel color $\n translate (gridWidth/2+gridOffset+0.5) (gridHeight/2-nth) $\n label txt\n spriteE s $ overBeginning 0.2 fadeInE\n play $ animate $ \\t -> partialSvg t slope\n newSpriteSVG_ slope\n wait 1\n \nlabel txt = withStrokeColor \"black\" $\n withStrokeWidth (defaultStrokeWidth*2) $\n withFillOpacity 1 $\n latex txt\n"}
|
||||
,{"title": "Object Positions","url": "https://reanimate.clozecards.com/IAQhjO0Ke7h/195.svg","code": "env =\n addStatic (mkBackground \"white\") .\n mapA (withStrokeColor \"black\")\n\nanimation :: Animation\nanimation = env $\n sceneAnimation $ do\n -- Configure objects\n txt <- newText \"Center\"\n top <- newText \"Top\"\n oModifyS top $ \n oTopY .= screenTop\n topR <- newText \"Top right\"\n oModifyS topR $ do\n oTopY .= screenTop\n oRightX .= screenRight\n botR <- newText \"Bottom right\"\n oModifyS botR $ do\n oBottomY .= screenBottom\n oRightX .= screenRight\n botL <- newText \"Bottom left\"\n oModifyS botL $ do\n oBottomY .= screenBottom\n oLeftX .= screenLeft\n topL <- newText \"Top left\"\n oModifyS topL $ do\n oTopY .= screenTop\n oLeftX .= screenLeft\n -- Show objects\n oShow txt\n wait 1\n switchTo txt top\n switchTo top topR\n switchTo topR botR\n switchTo botR botL\n switchTo botL topL\n switchTo topL txt\n\nswitchTo src dst = do\n fork $ oFadeOut src 1\n oModify dst $ oOpacity .~ 1\n oFadeIn dst 1\n wait 1\n\nnewText txt =\n newObject $ scale 1.5 $ center $ latex txt\n"}
|
||||
];
|
||||
const playgroundVersion = "2020-08-25 (cc215)";
|
||||
const playgroundVersion = "2020-08-25 (41d6a)";
|
||||
|
|
|
|||
|
|
@ -17,62 +17,74 @@ span.spaces { background: white }
|
|||
<span class="decl"><span class="nottickedoff">never executed</span> <span class="tickonlytrue">always true</span> <span class="tickonlyfalse">always false</span></span>
|
||||
</pre>
|
||||
<pre>
|
||||
<span class="lineno"> 1 </span>module Reanimate.Builtin.Images
|
||||
<span class="lineno"> 2 </span> ( svgLogo
|
||||
<span class="lineno"> 3 </span> , haskellLogo
|
||||
<span class="lineno"> 4 </span> , githubIcon
|
||||
<span class="lineno"> 5 </span> , githubWhiteIcon
|
||||
<span class="lineno"> 6 </span> , smallEarth
|
||||
<span class="lineno"> 7 </span> ) where
|
||||
<span class="lineno"> 1 </span>{-|
|
||||
<span class="lineno"> 2 </span>Module : Reanimate.Builtin.Images
|
||||
<span class="lineno"> 3 </span>Copyright : Written by David Himmelstrup
|
||||
<span class="lineno"> 4 </span>License : Unlicense
|
||||
<span class="lineno"> 5 </span>Maintainer : lemmih@gmail.com
|
||||
<span class="lineno"> 6 </span>Stability : experimental
|
||||
<span class="lineno"> 7 </span>Portability : POSIX
|
||||
<span class="lineno"> 8 </span>
|
||||
<span class="lineno"> 9 </span>import Codec.Picture
|
||||
<span class="lineno"> 10 </span>import qualified Data.ByteString as B
|
||||
<span class="lineno"> 11 </span>import Graphics.SvgTree (parseSvgFile)
|
||||
<span class="lineno"> 12 </span>import Paths_reanimate
|
||||
<span class="lineno"> 13 </span>import Reanimate.Animation
|
||||
<span class="lineno"> 14 </span>import Reanimate.Svg
|
||||
<span class="lineno"> 15 </span>import System.IO.Unsafe
|
||||
<span class="lineno"> 16 </span>
|
||||
<span class="lineno"> 17 </span>embedImage :: FilePath -> IO SVG
|
||||
<span class="lineno"> 18 </span><span class="decl"><span class="istickedoff">embedImage key = do</span>
|
||||
<span class="lineno"> 19 </span><span class="spaces"> </span><span class="istickedoff">svg_file <- getDataFileName key</span>
|
||||
<span class="lineno"> 20 </span><span class="spaces"> </span><span class="istickedoff">svg_data <- B.readFile svg_file</span>
|
||||
<span class="lineno"> 21 </span><span class="spaces"> </span><span class="istickedoff">case parseSvgFile <span class="nottickedoff">svg_file</span> svg_data of</span>
|
||||
<span class="lineno"> 22 </span><span class="spaces"> </span><span class="istickedoff">Nothing -> <span class="nottickedoff">error "Malformed svg"</span></span>
|
||||
<span class="lineno"> 23 </span><span class="spaces"> </span><span class="istickedoff">Just svg -> return $ embedDocument svg</span></span>
|
||||
<span class="lineno"> 24 </span>
|
||||
<span class="lineno"> 25 </span>loadJPG :: FilePath -> Image PixelRGBA8
|
||||
<span class="lineno"> 26 </span><span class="decl"><span class="nottickedoff">loadJPG key = unsafePerformIO $ do</span>
|
||||
<span class="lineno"> 27 </span><span class="spaces"> </span><span class="nottickedoff">jpg_file <- getDataFileName key</span>
|
||||
<span class="lineno"> 28 </span><span class="spaces"> </span><span class="nottickedoff">dat <- B.readFile jpg_file</span>
|
||||
<span class="lineno"> 29 </span><span class="spaces"> </span><span class="nottickedoff">case decodeJpeg dat of</span>
|
||||
<span class="lineno"> 30 </span><span class="spaces"> </span><span class="nottickedoff">Left err -> error err</span>
|
||||
<span class="lineno"> 31 </span><span class="spaces"> </span><span class="nottickedoff">Right img -> return $ convertRGBA8 img</span></span>
|
||||
<span class="lineno"> 32 </span>
|
||||
<span class="lineno"> 33 </span>{- HLINT ignore svgLogo -}
|
||||
<span class="lineno"> 34 </span>-- | <<docs/gifs/doc_svgLogo.gif>>
|
||||
<span class="lineno"> 35 </span>svgLogo :: SVG
|
||||
<span class="lineno"> 36 </span><span class="decl"><span class="istickedoff">svgLogo = unsafePerformIO $ embedImage "data/svg-logo.svg"</span></span>
|
||||
<span class="lineno"> 37 </span>
|
||||
<span class="lineno"> 38 </span>{- HLINT ignore haskellLogo -}
|
||||
<span class="lineno"> 39 </span>-- | <<docs/gifs/doc_haskellLogo.gif>>
|
||||
<span class="lineno"> 40 </span>haskellLogo :: SVG
|
||||
<span class="lineno"> 41 </span><span class="decl"><span class="istickedoff">haskellLogo = unsafePerformIO $ embedImage "data/haskell.svg"</span></span>
|
||||
<span class="lineno"> 42 </span>
|
||||
<span class="lineno"> 43 </span>{- HLINT ignore githubIcon -}
|
||||
<span class="lineno"> 44 </span>-- | <<docs/gifs/doc_githubIcon.gif>>
|
||||
<span class="lineno"> 45 </span>githubIcon :: SVG
|
||||
<span class="lineno"> 46 </span><span class="decl"><span class="istickedoff">githubIcon = unsafePerformIO $ embedImage "data/github-icon.svg"</span></span>
|
||||
<span class="lineno"> 47 </span>
|
||||
<span class="lineno"> 48 </span>{-# NOINLINE githubWhiteIcon #-}
|
||||
<span class="lineno"> 49 </span>githubWhiteIcon :: SVG
|
||||
<span class="lineno"> 50 </span><span class="decl"><span class="nottickedoff">githubWhiteIcon = unsafePerformIO $ embedImage "data/github-icon-white.svg"</span></span>
|
||||
<span class="lineno"> 51 </span>
|
||||
<span class="lineno"> 52 </span>-- | 300x150 equirectangular earth
|
||||
<span class="lineno"> 53 </span>--
|
||||
<span class="lineno"> 54 </span>-- <<docs/gifs/doc_smallEarth.gif>>
|
||||
<span class="lineno"> 55 </span>smallEarth :: Image PixelRGBA8
|
||||
<span class="lineno"> 56 </span><span class="decl"><span class="nottickedoff">smallEarth = loadJPG "data/small_earth.jpg"</span></span>
|
||||
<span class="lineno"> 9 </span>Collection of built-in images.
|
||||
<span class="lineno"> 10 </span>
|
||||
<span class="lineno"> 11 </span>-}
|
||||
<span class="lineno"> 12 </span>module Reanimate.Builtin.Images
|
||||
<span class="lineno"> 13 </span> ( svgLogo
|
||||
<span class="lineno"> 14 </span> , haskellLogo
|
||||
<span class="lineno"> 15 </span> , githubIcon
|
||||
<span class="lineno"> 16 </span> , githubWhiteIcon
|
||||
<span class="lineno"> 17 </span> , smallEarth
|
||||
<span class="lineno"> 18 </span> ) where
|
||||
<span class="lineno"> 19 </span>
|
||||
<span class="lineno"> 20 </span>import Codec.Picture
|
||||
<span class="lineno"> 21 </span>import qualified Data.ByteString as B
|
||||
<span class="lineno"> 22 </span>import Graphics.SvgTree (parseSvgFile)
|
||||
<span class="lineno"> 23 </span>import Paths_reanimate
|
||||
<span class="lineno"> 24 </span>import Reanimate.Animation
|
||||
<span class="lineno"> 25 </span>import Reanimate.Svg
|
||||
<span class="lineno"> 26 </span>import System.IO.Unsafe
|
||||
<span class="lineno"> 27 </span>
|
||||
<span class="lineno"> 28 </span>embedImage :: FilePath -> IO SVG
|
||||
<span class="lineno"> 29 </span><span class="decl"><span class="istickedoff">embedImage key = do</span>
|
||||
<span class="lineno"> 30 </span><span class="spaces"> </span><span class="istickedoff">svg_file <- getDataFileName key</span>
|
||||
<span class="lineno"> 31 </span><span class="spaces"> </span><span class="istickedoff">svg_data <- B.readFile svg_file</span>
|
||||
<span class="lineno"> 32 </span><span class="spaces"> </span><span class="istickedoff">case parseSvgFile <span class="nottickedoff">svg_file</span> svg_data of</span>
|
||||
<span class="lineno"> 33 </span><span class="spaces"> </span><span class="istickedoff">Nothing -> <span class="nottickedoff">error "Malformed svg"</span></span>
|
||||
<span class="lineno"> 34 </span><span class="spaces"> </span><span class="istickedoff">Just svg -> return $ embedDocument svg</span></span>
|
||||
<span class="lineno"> 35 </span>
|
||||
<span class="lineno"> 36 </span>loadJPG :: FilePath -> Image PixelRGBA8
|
||||
<span class="lineno"> 37 </span><span class="decl"><span class="nottickedoff">loadJPG key = unsafePerformIO $ do</span>
|
||||
<span class="lineno"> 38 </span><span class="spaces"> </span><span class="nottickedoff">jpg_file <- getDataFileName key</span>
|
||||
<span class="lineno"> 39 </span><span class="spaces"> </span><span class="nottickedoff">dat <- B.readFile jpg_file</span>
|
||||
<span class="lineno"> 40 </span><span class="spaces"> </span><span class="nottickedoff">case decodeJpeg dat of</span>
|
||||
<span class="lineno"> 41 </span><span class="spaces"> </span><span class="nottickedoff">Left err -> error err</span>
|
||||
<span class="lineno"> 42 </span><span class="spaces"> </span><span class="nottickedoff">Right img -> return $ convertRGBA8 img</span></span>
|
||||
<span class="lineno"> 43 </span>
|
||||
<span class="lineno"> 44 </span>{- HLINT ignore svgLogo -}
|
||||
<span class="lineno"> 45 </span>-- | <<docs/gifs/doc_svgLogo.gif>>
|
||||
<span class="lineno"> 46 </span>svgLogo :: SVG
|
||||
<span class="lineno"> 47 </span><span class="decl"><span class="istickedoff">svgLogo = unsafePerformIO $ embedImage "data/svg-logo.svg"</span></span>
|
||||
<span class="lineno"> 48 </span>
|
||||
<span class="lineno"> 49 </span>{- HLINT ignore haskellLogo -}
|
||||
<span class="lineno"> 50 </span>-- | <<docs/gifs/doc_haskellLogo.gif>>
|
||||
<span class="lineno"> 51 </span>haskellLogo :: SVG
|
||||
<span class="lineno"> 52 </span><span class="decl"><span class="istickedoff">haskellLogo = unsafePerformIO $ embedImage "data/haskell.svg"</span></span>
|
||||
<span class="lineno"> 53 </span>
|
||||
<span class="lineno"> 54 </span>{- HLINT ignore githubIcon -}
|
||||
<span class="lineno"> 55 </span>-- | <<docs/gifs/doc_githubIcon.gif>>
|
||||
<span class="lineno"> 56 </span>githubIcon :: SVG
|
||||
<span class="lineno"> 57 </span><span class="decl"><span class="istickedoff">githubIcon = unsafePerformIO $ embedImage "data/github-icon.svg"</span></span>
|
||||
<span class="lineno"> 58 </span>
|
||||
<span class="lineno"> 59 </span>{-# NOINLINE githubWhiteIcon #-}
|
||||
<span class="lineno"> 60 </span>-- | <<docs/gifs/doc_githubWhiteIcon.gif>>
|
||||
<span class="lineno"> 61 </span>githubWhiteIcon :: SVG
|
||||
<span class="lineno"> 62 </span><span class="decl"><span class="nottickedoff">githubWhiteIcon = unsafePerformIO $ embedImage "data/github-icon-white.svg"</span></span>
|
||||
<span class="lineno"> 63 </span>
|
||||
<span class="lineno"> 64 </span>-- | 300x150 equirectangular earth
|
||||
<span class="lineno"> 65 </span>--
|
||||
<span class="lineno"> 66 </span>-- <<docs/gifs/doc_smallEarth.gif>>
|
||||
<span class="lineno"> 67 </span>smallEarth :: Image PixelRGBA8
|
||||
<span class="lineno"> 68 </span><span class="decl"><span class="nottickedoff">smallEarth = loadJPG "data/small_earth.jpg"</span></span>
|
||||
|
||||
</pre>
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Reference in a new issue