packages feed

yesod-media-simple 0.1.0.0 → 0.1.0.1

raw patch · 4 files changed

+51/−1 lines, 4 filessetup-changed

Files

+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ examples/plasma.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE ViewPatterns #-}+import Codec.Picture+import Data.Time+import Data.Word+import Yesod+import Yesod.Media.Simple++main = serve $ do+    now <- getCurrentTime+    return $ PixelList 640 480+      [ [ pixel now x y+        | x <- [1..640]+        ]+      | y <- [1..480]+      ]++-- See the glsl at http://www.bidouille.org/prog/plasma+pixel :: UTCTime -> Int -> Int -> (Word8, Word8, Word8)+pixel (realToFrac . utctDayTime -> t) ((/ 100) . fromIntegral -> x) ((/ 100) . fromIntegral -> y) =+    (round $ 255 * r, round $ 255 * g, round $ 255 * b)+  where+    r = 1+    g = sin (pi * v) :: Float+    b = cos (pi * v)+    v = sin (x + t)+      + sin ((y + t) / 2)+      + sin ((x + y + t) / 2)+      + sin (sqrt (x' * x' + y' * y' + 1) + t)+    x' = x + sin (t / 2)+    y' = y + cos (t / 2)
+ examples/sierpinski.hs view
@@ -0,0 +1,15 @@+import Diagrams.Prelude+import Diagrams.Backend.Cairo (Cairo)+import Yesod.Media.Simple++-- | The main entry point.+main :: IO ()+main = serveDiagram $ sierpinski 3++sierpinski :: Int -> Diagram Cairo R2+sierpinski 1 = eqTriangle 1+sierpinski n =     s+                  ===+               (s ||| s) # centerX+  where+    s = sierpinski (n-1)
yesod-media-simple.cabal view
@@ -1,5 +1,5 @@ name:                yesod-media-simple-version:             0.1.0.0+version:             0.1.0.1 synopsis:            Simple display of media types, served by yesod homepage:            https://github.com/mgsloan/yesod-media-simple license:             MIT@@ -10,6 +10,9 @@ category:            Graphics build-type:          Simple extra-source-files:  README.md+                     Setup.hs+                     examples/plasma.hs+                     examples/sierpinski.hs cabal-version:       >=1.8  library