doodle.algebra.generic

Members list

Type members

Classlikes

sealed abstract class BlendMode extends Product, Serializable

Attributes

Companion
object
Source
BlendMode.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
object Burn.type
object Dodge.type
object Lighten.type
object Screen.type
object SourceOver.type
object BlendMode

Attributes

Companion
class
Source
BlendMode.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
BlendMode.type

Stores state about the current drawing style.

Stores state about the current drawing style.

Attributes

Companion
object
Source
DrawingContext.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
DrawingContext.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait Fill extends Product, Serializable

Attributes

Companion
object
Source
DrawingContext.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class ColorFill
class GradientFill
object Fill

Attributes

Companion
trait
Source
DrawingContext.scala
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Fill.type
object Finalized

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Finalized.type
implicit class FinalizedOps[F[_], A](finalized: Finalized[F, A])

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
trait GenericDebug[G[_]] extends Debug

Attributes

Source
GenericDebug.scala
Supertypes
trait Debug
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
class Algebra
Self type
Shape & Layout & GivenApply[G] { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericLayout[G[_]] extends Layout

Attributes

Source
GenericLayout.scala
Supertypes
trait Layout
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
class Algebra
Self type
GivenApply[G] & Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericPath[G[_]] extends Path

Attributes

Source
GenericPath.scala
Supertypes
trait Path
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
trait ReifiedPath
class Algebra
Self type
Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericShape[G[_]] extends Shape

Attributes

Source
GenericShape.scala
Supertypes
trait Shape
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
trait ReifiedShape
class Algebra
Self type
Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericSize[G[_]] extends Size

Get information about the size of the bounding box enclosing an picture.

Get information about the size of the bounding box enclosing an picture.

Attributes

Source
GenericSize.scala
Supertypes
trait Size
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
class Algebra
Self type
GivenFunctor[G] & Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericStyle[G[_]] extends Style

Attributes

Source
GenericStyle.scala
Supertypes
trait Style
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
class Algebra
Self type
Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericText[G[_]] extends Text

Attributes

Source
GenericText.scala
Supertypes
trait Text
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
trait ReifiedText
class Algebra
Self type
Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GenericTransform[G[_]] extends Transform

Attributes

Source
GenericTransform.scala
Supertypes
trait Transform
trait Algebra
class Object
trait Matchable
class Any
Known subtypes
class Algebra
Self type
Algebra { type Drawing = [A] =>> Finalized[G, A]; }
trait GivenApply[Drawing[_]]

Attributes

Source
GivenApply.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Algebra
trait GivenFunctor[Drawing[_]]

Attributes

Source
GivenFunctor.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Algebra
object Renderable

Attributes

Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Renderable.type
final case class Stroke(color: Color, width: Double, cap: Cap, join: Join, dash: Option[Array[Float]])

Attributes

Source
DrawingContext.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

A Finalized represents an effect that, when run, produces all the information needed to layout an image (it "finalizes" all the information needed for this process) and can eventually produce a value of type A (once it is rendered). Algorithmically this means:

A Finalized represents an effect that, when run, produces all the information needed to layout an image (it "finalizes" all the information needed for this process) and can eventually produce a value of type A (once it is rendered). Algorithmically this means:

  • for each shape work out its DrawingContext from which we can work out a doodle.core.BoundingBox.

  • apply transforms to bounding boxes at the point they are defined so each transformed subtree is laid out in its local coordinate system.

The List of ContextTransform's are supplied in the order they should be applied: the innermost transform is at the head of the list.

Attributes

Source
package.scala
type Renderable[F[_], A] = State[Transform, F[A]]

A Renderable represents some effect producing a value of type A and also creating a concrete implementation specific drawing.

A Renderable represents some effect producing a value of type A and also creating a concrete implementation specific drawing.

Invoking a Renderable does any layout (usually using bounding box information calculated in Finalized) and as such requires a doodle.core.Transform. Transforms should be applied outermost last. So any transformation in a Renderable should be applied before the trasform it receives from its surrounding context.

Attributes

Source
package.scala

Implicits

Implicits

final implicit def FinalizedOps[F[_], A](finalized: Finalized[F, A]): FinalizedOps[F, A]

Attributes

Source
package.scala