AbstractRendererSyntax

doodle.syntax.AbstractRendererSyntax

Rendering works differently on different platforms. The Javascript runtime must render asynchronously. The JVM runtime can render asychronously or sychronously. However, rendering in a Swing / Java2D context takes places on a daemon thread. This means the JVM will exit if this is the only thread running. The implication is that short Doodle program that does not block the main thread waiting for the Swing thread to complete will usually exit before the output appears. Therefore, at least in the common case of calling draw, rendering should be synchronous on the JVM.

Attributes

Source
AbstractRendererSyntax.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object all.type
object renderer.type

Members list

Type members

Classlikes

implicit class RendererFrameOps[Frame](frame: Frame)

Attributes

Source
AbstractRendererSyntax.scala
Supertypes
class Object
trait Matchable
class Any
implicit class RendererPictureOps[Alg <: Algebra, A](picture: Picture[Alg, A])

Attributes

Source
AbstractRendererSyntax.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Abstract methods

protected def runIO[A](io: IO[A])(implicit runtime: IORuntime): Unit

Subtypes should implement this with unsafeRunSync or unsafeRunAsync as appropriate. Returns Unit because unsafeRunAsync cannot return a value.

Subtypes should implement this with unsafeRunSync or unsafeRunAsync as appropriate. Returns Unit because unsafeRunAsync cannot return a value.

Attributes

Source
AbstractRendererSyntax.scala

Implicits

Implicits

final implicit def RendererFrameOps[Frame](frame: Frame): RendererFrameOps[Frame]

Attributes

Source
AbstractRendererSyntax.scala
final implicit def RendererPictureOps[Alg <: Algebra, A](picture: Picture[Alg, A]): RendererPictureOps[Alg, A]

Attributes

Source
AbstractRendererSyntax.scala