{- | Wrapper library to write @gloss@ Gloss applications in Rhine. A pure Rhine app with @gloss@ backend must use the 'GlossClock' or 'GlossCombinedClock' (from 'FRP.Rhine.Gloss.Pure.Single' and 'FRP.Rhine.Gloss.Pure.Combined', respectively), since the @gloss@ API only offers callbacks. In order to run such a reactive program, you have to use 'flowGloss' or 'flowGlossCombined'. A more flexible alternative, at the cost of introducing 'IO' concurrency, is the 'FRP.Rhine.Gloss.IO' wrapper. There, you can combine the @gloss@ clocks with arbitrary other 'IO' clocks. -} module FRP.Rhine.Gloss (module X) where import Control.Arrow as X -- rhine import FRP.Rhine as X -- rhine-gloss import FRP.Rhine.Gloss.IO as X import FRP.Rhine.Gloss.Common as X import FRP.Rhine.Gloss.Pure as X import FRP.Rhine.Gloss.Pure.Combined as X