This is an alternative site for discovering Elm packages.
You may be looking for the
official Elm package site
instead.

This package defines two top level geometric structures, LineSegment and Shape that can be manipulated and rendered in to SVG. A shape can be a Rect or an Ellipse:

```
type Shape
= Rect ShapeData
| Ellipse ShapeData
type alias ShapeData =
{ center : Vector
, dimensions : Vector
, strokeColor : ColorRecord
, fillColor : ColorRecord
}
```

Here is how a typical Shape is created:

```
redColor = ColorRecord 255 0 0 1.0
ellipse = Ellipse (ShapeData (Vector 1 0) (Vector 2 2) redColor redColor)
```

One can move and rescale shapes:

```
moveTo (Vector 10 5) ellipse
scaleBy 2 ellipse
```

Here is how to render an ellipse into SVG:

```
draw ellipse
```

See the examples folder for demo code.