uni-util-2.3.0.2: Utilities for the uniform workbench

Safe HaskellNone
LanguageHaskell98

Util.Broadcaster

Description

A BroadcasterSimpleBroadcaster is a variable SourceSimpleSource paired with its update function

Synopsis

Documentation

data GeneralBroadcaster x d Source #

Instances
HasSource (GeneralBroadcaster x d) x d Source # 
Instance details

Defined in Util.Broadcaster

data Broadcaster x d Source #

Instances
HasSource (Broadcaster x d) x d Source # 
Instance details

Defined in Util.Broadcaster

Methods

toSource :: Broadcaster x d -> Source x d Source #

BroadcasterClass (Broadcaster x d) (x, [d]) Source # 
Instance details

Defined in Util.Broadcaster

Methods

broadcast :: Broadcaster x d -> (x, [d]) -> IO () Source #

data SimpleBroadcaster x Source #

Instances
HasSimpleSource (SimpleBroadcaster x) x Source # 
Instance details

Defined in Util.Broadcaster

BroadcasterClass (SimpleBroadcaster x) x Source # 
Instance details

Defined in Util.Broadcaster

Methods

broadcast :: SimpleBroadcaster x -> x -> IO () Source #

HasSource (SimpleBroadcaster x) x x Source # 
Instance details

Defined in Util.Broadcaster

class BroadcasterClass broadcaster value | broadcaster -> value where Source #

Minimal complete definition

broadcast

Methods

broadcast :: broadcaster -> value -> IO () Source #

Instances
BroadcasterClass (SimpleBroadcaster x) x Source # 
Instance details

Defined in Util.Broadcaster

Methods

broadcast :: SimpleBroadcaster x -> x -> IO () Source #

BroadcasterClass (Broadcaster x d) (x, [d]) Source # 
Instance details

Defined in Util.Broadcaster

Methods

broadcast :: Broadcaster x d -> (x, [d]) -> IO () Source #

applySimpleUpdate' :: SimpleBroadcaster x -> (x -> (x, y)) -> IO y Source #

applyUpdate :: Broadcaster x d -> (x -> (x, [d])) -> IO () Source #

applyGeneralUpdate :: GeneralBroadcaster x d -> (x -> (x, [d], extra)) -> IO extra Source #

switchOffSimpleSource :: SimpleSource a -> IO (SimpleSource a, IO (IO ())) Source #

Replace a SimpleSource by another which comes with a switch-off function, which temporarily blocks further updates. The action returned by the switch-off function switches the source back on again.

mirrorSimpleSource :: SimpleSource a -> IO (SimpleSource a, IO ()) Source #

Replace a SimpleSource by another which mirrors it, but only copies from it once, hopefully saving CPU time. The IO action stops the mirroring.

mirrorSimpleSourceWithDelayer :: Delayer -> SimpleSource a -> IO (SimpleSource a, IO ()) Source #

Replace a SimpleSource by another which mirrors it, but only copies from it once, hopefully saving CPU time. In addition, block all update while the Delayer is delaying things.