Reactor

doodle.reactor.Reactor
See theReactor companion object
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.

Attributes

Companion:
object
Source:
Reactor.scala
Graph
Supertypes
trait Product
trait Equals
trait BaseReactor[A]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

def draw[Alg <: Basic, Frame, Canvas](frame: Frame)(implicit renderer: Renderer[Alg, Frame, Canvas], runtime: IORuntime): Unit

Attributes

Source:
Reactor.scala
def draw[Alg <: Basic, Frame, Canvas]()(implicit renderer: DefaultRenderer[Alg, Frame, Canvas], runtime: IORuntime): Unit

Attributes

Source:
Reactor.scala

Attributes

Source:
Reactor.scala
def onMouseClick(location: Point, state: A): A

Attributes

Source:
Reactor.scala
def onMouseMove(location: Point, state: A): A

Attributes

Source:
Reactor.scala
def onTick(state: A): A

Attributes

Source:
Reactor.scala
def render(value: A): Image

Attributes

Source:
Reactor.scala
def step: Reactor[A]

Attributes

Source:
Reactor.scala
def stop(value: A): Boolean

Attributes

Source:
Reactor.scala
def withOnMouseClick(f: (Point, A) => A): Reactor[A]

Attributes

Source:
Reactor.scala
def withOnMouseMove(f: (Point, A) => A): Reactor[A]

Attributes

Source:
Reactor.scala
def withOnTick(f: A => A): Reactor[A]

Attributes

Source:
Reactor.scala
def withRender(f: A => Image): Reactor[A]

Attributes

Source:
Reactor.scala
def withStop(f: A => Boolean): Reactor[A]

Attributes

Source:
Reactor.scala

Attributes

Source:
Reactor.scala

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product
def run[Alg <: Basic, Frame, Canvas](frame: Frame)(implicit a: AnimationRenderer[Canvas], e: Renderer[Alg, 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.

Attributes

Inherited from:
BaseReactor
Source:
BaseReactor.scala
def tick[Frame, Canvas](frame: Frame)(implicit e: Renderer[Basic, 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.

Attributes

Inherited from:
BaseReactor
Source:
BaseReactor.scala