final case class Reactor[A](initial: A, onMouseClickHandler: (Point, A) => A, onMouseMoveHandler: (Point, A) => A, onTickHandler: A => A, tickRate: FiniteDuration, renderHandler: A => Image, stopHandler: A => Boolean) extends BaseReactor[A]
A Reactor that has reasonable defaults and a simple builder style for creating more complicated behaviour.
- Companion:
- object
Value members
Concrete methods
def draw[Alg <: ([x[_]] =>> Basic[x]), F[_], Frame, Canvas](frame: Frame)(implicit renderer: Renderer[Alg, F, Frame, Canvas], runtime: IORuntime): Unit
def draw[Alg <: ([x[_]] =>> Basic[x]), F[_], Frame, Canvas]()(implicit renderer: DefaultRenderer[Alg, F, Frame, Canvas], runtime: IORuntime): Unit
Inherited methods
def run[Alg <: ([x[_]] =>> Basic[x]), F[_], Frame, Canvas](frame: Frame)(implicit a: AnimationRenderer[Canvas], e: Renderer[Alg, F, Frame, Canvas], m: MouseClick[Canvas] & MouseMove[Canvas], runtime: IORuntime): Unit
Runs this reactor, drawing on the given frame
, until stop
indicates it
should stop.
Runs this reactor, drawing on the given frame
, until stop
indicates it
should stop.
- Inherited from:
- BaseReactor
def tick[F[_], Frame, Canvas](frame: Frame)(implicit e: Renderer[[F[_]] =>> Basic[F], F, Frame, Canvas], runtime: IORuntime): Option[A]
Run one tick of this reactor, drawing on the given frame
. Returns the
next state, or None if the Reactor has stopped.
Run one tick of this reactor, drawing on the given frame
. Returns the
next state, or None if the Reactor has stopped.
- Inherited from:
- BaseReactor