The rhine-gloss package

[ Tags: bsd3, frp, library, program ] [ Propose Tags ]

This package provides a simple wrapper for the gloss library, or rather the function Graphics.Gloss.play, enabling you to write gloss applications as synchronous signal functions.


[Skip to Readme]

Properties

Versions 0.3.0.0, 0.4.0.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), dunai (==0.4.*), gloss (==1.11.*), rhine (==0.4.*), rhine-gloss [details]
License BSD3
Author Manuel Bärenz
Maintainer programming@manuelbaerenz.de
Category FRP
Uploaded Mon Dec 4 15:35:13 UTC 2017 by turion
Distributions NixOS:0.4.0.0
Executables rhine-gloss-gears
Downloads 154 total (154 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-04 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for rhine-gloss-0.4.0.0

[back to package description]

README

This package provides a simple wrapper for the gloss library, or rather the function Graphics.Gloss.play, enabling you to write gloss applications as synchronous signal functions. An example "gears" program, which you can run as cabal run 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.
mainSyncSF :: GlossSyncSF a
mainSyncSF = timeInfoOf sinceStart >>> arr (* 50) >>> arr gears

main :: IO ()
main = flowGloss (InWindow "rhine-gloss-gears" (400, 400) (10, 10)) (greyN 0.3) 30
     $ buildGlossRhine Just mainSyncSF