Created
December 11, 2015 18:54
-
-
Save mgwidmann/f8c40be01fd9ac890ccf to your computer and use it in GitHub Desktop.
Elm Demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module ElmDemo where | |
import Graphics.Element exposing (..) | |
import Graphics.Collage exposing (..) | |
import Color exposing (..) | |
import Time | |
import Text | |
import Window | |
-- MODEL | |
type alias Model = Int | |
-- UPDATE | |
update: Float -> Model -> Model | |
update timestamp circleSize = | |
rem (circleSize + 1) 500 | |
-- VIEW | |
view: (Int, Int) -> Model -> Element | |
view (x, y) circleSize = | |
collage x y [ | |
Graphics.Collage.circle (toFloat circleSize) | |
|> gradient circleGradient, | |
scale (toFloat circleSize * 0.08) (text (Text.fromString "Elm")) | |
] | |
circleGradient : Gradient | |
circleGradient = | |
radial (0,0) 0 (0,0) 500 | |
[ (0, rgb 167 211 12) | |
, (1, rgb 1 159 98) | |
] | |
-- SIGNALS | |
signals : Signal Time.Time | |
signals = | |
Time.every Time.millisecond | |
-- MAIN | |
foldp: Signal Model | |
foldp = | |
Signal.foldp update 0 signals | |
main : Signal Element | |
main = | |
Signal.map2 view Window.dimensions foldp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment