Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
elm-stuff/
*.html
node_modules
package-lock.json
76 changes: 41 additions & 35 deletions examples/Axis.elm
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,44 @@ import Html exposing (Html)

main : Html msg
main =
let
up =
triangle 10
|> filled (uniform black)
right =
triangle 10
|> filled (uniform black)
|> rotate (degrees -90)
xAxis =
segment ( -100, 0 ) ( 100, 0 )
|> traced (solid thin (uniform black))
yAxis =
segment ( 0, -100 ) ( 0, 100 )
|> traced (solid thin (uniform black))
ex =
fromString "x"
|> rendered
wy =
fromString "y"
|> rendered
box =
square 220
|> outlined (dot thin (uniform black))
in
group
[ xAxis
, right |> shift ( 100, 0 )
, ex |> shift ( 100, -10 )
, yAxis
, up |> shift ( 0, 100 )
, wy |> shift ( -10, 100 )
, box
, ellipse 20 40 |> filled (uniform red) |> shift ( 50, 50 )
]
|> svg
let
up =
triangle 10
|> filled (uniform black)

right =
triangle 10
|> filled (uniform black)
|> rotate (degrees -90)

xAxis =
segment ( -100, 0 ) ( 100, 0 )
|> traced (solid thin (uniform black))

yAxis =
segment ( 0, -100 ) ( 0, 100 )
|> traced (solid thin (uniform black))

ex =
fromString "x"
|> rendered

wy =
fromString "y"
|> rendered

box =
square 220
|> outlined (dot thin (uniform black))
in
group
[ xAxis
, right |> shift ( 100, 0 )
, ex |> shift ( 100, -10 )
, yAxis
, up |> shift ( 0, 100 )
, wy |> shift ( -10, 100 )
, box
, ellipse 20 40 |> filled (uniform red) |> shift ( 50, 50 )
]
|> svg
85 changes: 45 additions & 40 deletions examples/Composition.elm
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,27 @@ import Html exposing (Html)


type alias Model =
{ active : Bool }
{ active : Bool }


init : Model
init = { active = False }
init =
{ active = False }



-- Update ----------------------------------------------------------------------


type Msg
= Switch
= Switch


update : Msg -> Model -> Model
update msg model =
case msg of
Switch -> { model | active = not model.active }
case msg of
Switch ->
{ model | active = not model.active }



Expand All @@ -42,7 +44,8 @@ update msg model =


border : LineStyle
border = solid verythin <| uniform black
border =
solid verythin <| uniform black



Expand All @@ -51,8 +54,8 @@ border = solid verythin <| uniform black

txt : Collage Msg
txt =
fromString "Hello collage!"
|> rendered
fromString "Hello collage!"
|> rendered



Expand All @@ -61,35 +64,36 @@ txt =

elps : Model -> Collage Msg
elps model =
ellipse 100 50
|> styled
( uniform <|
if model.active then
lightPurple
else
lightBlue
, border
)
|> rotate (degrees -30)
|> onClick Switch
ellipse 100 50
|> styled
( uniform <|
if model.active then
lightPurple

else
lightBlue
, border
)
|> rotate (degrees -30)
|> onClick Switch


rect : Collage msg
rect =
roundedRectangle 200 250 20
|> styled ( uniform lightOrange, border )
roundedRectangle 200 250 20
|> styled ( uniform lightOrange, border )


tria : Collage msg
tria =
triangle 100
|> styled ( uniform lightGreen, border )
triangle 100
|> styled ( uniform lightGreen, border )


penta : Collage msg
penta =
ngon 5 100
|> styled ( uniform lightCharcoal, border )
ngon 5 100
|> styled ( uniform lightCharcoal, border )



Expand All @@ -98,8 +102,8 @@ penta =

alignments : Collage msg
alignments =
horizontal <|
List.map (showOrigin << align top) [ rect, tria, rect, rect ]
horizontal <|
List.map (showOrigin << align top) [ rect, tria, rect, rect ]



Expand All @@ -108,21 +112,22 @@ alignments =

view : Model -> Html Msg
view model =
vertical
[ horizontal
[ rect
, vertical
[ tria
, tria |> rotate pi
vertical
[ horizontal
[ rect
, vertical
[ tria
, tria |> rotate pi
]
|> center
, debug penta
]
|> center
, debug penta
, stack [ showEnvelope txt, elps model ]
]
, stack [ showEnvelope txt, elps model ]
]
|> debug
|> svg
|> debug
|> svg


main : Program () Model Msg
main = Browser.sandbox { init = init, view = view, update = update }
main =
Browser.sandbox { init = init, view = view, update = update }
71 changes: 38 additions & 33 deletions examples/Dimensions.elm
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,49 @@ import Html exposing (Html)


gap : Collage msg
gap = spacer 50 50
gap =
spacer 50 50


diamond : String -> Collage msg
diamond label =
let
text =
fromString label
|> Text.shape Italic
|> rendered
w = width text
points =
[ ( 0, 20 )
, ( -20, 0 )
, ( 0, -20 )
, ( w, -20 )
, ( w + 20, 0 )
, ( w, 20 )
]
shape =
polygon points
|> styled
( uniform (Color.rgb255 255 202 255)
, solid thin (uniform Color.black)
)
|> center
in
stack
[ text
, shape
]
let
text =
fromString label
|> Text.shape Italic
|> rendered

w =
width text

points =
[ ( 0, 20 )
, ( -20, 0 )
, ( 0, -20 )
, ( w, -20 )
, ( w + 20, 0 )
, ( w, 20 )
]

shape =
polygon points
|> styled
( uniform (Color.rgb255 255 202 255)
, solid thin (uniform Color.black)
)
|> center
in
stack
[ text
, shape
]


main : Html msg
main =
vertical
[ diamond "a very long piece of text"
, gap
, diamond "short text"
]
|> svg
vertical
[ diamond "a very long piece of text"
, gap
, diamond "short text"
]
|> svg
20 changes: 10 additions & 10 deletions examples/Embedding.elm
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ import Html exposing (Html, text)

main : Html msg
main =
stack
[ Html.div []
[ Html.button []
[ text "Hello Html!" ]
stack
[ Html.div []
[ Html.button []
[ text "Hello Html!" ]
]
|> html ( 100, 100 )
, rectangle 100 100
|> filled (uniform Color.lightGreen)
]
|> html ( 100, 100 )
, rectangle 100 100
|> filled (uniform Color.lightGreen)
]
|> rotate (degrees 30)
|> svg
|> rotate (degrees 30)
|> svg
Loading