| 1 | module Main where |
|---|
| 2 | |
|---|
| 3 | import FRP.Reactive |
|---|
| 4 | import FRP.Reactive.GLUT.Adapter |
|---|
| 5 | import FRP.Reactive.FieldTrip.Adapter |
|---|
| 6 | import Graphics.FieldTrip |
|---|
| 7 | |
|---|
| 8 | timeAtFramePass :: UI -> Event TimeT |
|---|
| 9 | timeAtFramePass = withTimeE_ . framePass |
|---|
| 10 | |
|---|
| 11 | timeString :: UI -> Behaviour String |
|---|
| 12 | timeString = stepper "" . ((fmap.fmap) show timeAtFramePass) |
|---|
| 13 | |
|---|
| 14 | timeText :: Anim3 -- UI -> Behaviour Geometry3 |
|---|
| 15 | timeText = (fmap.fmap) (flatG . utext) timeString |
|---|
| 16 | |
|---|
| 17 | uscale :: Float -> Geometry3 -> Geometry3 |
|---|
| 18 | uscale s = (uscale3 s *%) |
|---|
| 19 | |
|---|
| 20 | timeDisplay :: Anim3 |
|---|
| 21 | timeDisplay = (fmap.fmap) (uscale 0.2) timeText |
|---|
| 22 | |
|---|
| 23 | main = anim3 timeDisplay |
|---|