This package provides a simple wrapper for the
or rather the function
enabling you to write
gloss applications as signal functions.
An example “gears” program, which you can run as
cabal run rhine-gloss-gears
stack build && stack exec rhine-gloss-gears,
now becomes as simple as:
import FRP.Rhine.Gloss -- | Calculate a gear wheel rotated by a certain angle. gears :: Float -> Picture gears angle = color green $ pictures $ circleSolid 60 : map (rotate angle) [ rotate (45 * n) $ rectangleSolid 20 150 | n <- [0..3] ] -- | Rotate the gear with a constant angular velocity. mainClSF :: GlossClSF a mainClSF = timeInfoOf sinceInit >>> arr (* 50) >>> arr gears main :: IO () main = flowGloss (InWindow "rhine-gloss-gears" (400, 400) (10, 10)) (greyN 0.3) 30 $ buildGlossRhine Just mainClSF
gloss is based on
you will need to install the same dependencies as for that.
Typically, this are the
(On Debian-like systems,
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev should suffice.)
When building with
stack, it is assumed that you have
which will automatically get these dependencies for you.
Revision history for rhine-gloss
0.4.0.0 – 2017.12.04
- Version bump
0.3.0.0 – 2017-11-30
- Added simple example.
0.2.0.0 – 2017-11-29
- First version. Version numbers follow rhine.