doodle.algebra

Type members

Classlikes

trait Algebra[+F[_]]

Base type for algebras that produce results in some effect type F. This type serves to make sure algebras are internally consistent. E.g. they all produce an effect with the same type.

Base type for algebras that produce results in some effect type F. This type serves to make sure algebras are internally consistent. E.g. they all produce an effect with the same type.

Base module for constructors

Base module for constructors

The intention is to assist with type inference for constructors by defining constructors that are parameterized by the Algebra and Drawing types, and instantiating those types within each backend.

Algebras that define constructors should also define a constructor mixin. See e.g. Shape for an example.

trait Bitmap[F[_]] extends Algebra[F]
trait Blend[F[_]] extends Algebra[F]

Algebra describing color blending modes.

Algebra describing color blending modes.

trait Debug[F[_]] extends Algebra[F]
trait Layout[F[_]] extends Algebra[F]
trait Path[F[_]] extends Algebra[F]

Constructors for Path algebra

Constructors for Path algebra

trait Picture[-Alg <: ([x[_]] =>> Algebra[x]), F[_], A]

Represents a picture, which is a function from a tagless final algebra to some type F that represents drawing a picture with result A. Has a monad instance if F does.

Represents a picture, which is a function from a tagless final algebra to some type F that represents drawing a picture with result A. Has a monad instance if F does.

Companion:
object
object Picture
Companion:
class
trait Shape[F[_]] extends Algebra[F]

Higher level shape primitives. These draw common geometric shapes with the center of the shape the origin of the bounding box.

Higher level shape primitives. These draw common geometric shapes with the center of the shape the origin of the bounding box.

Constructors for Shape algebra

Constructors for Shape algebra

trait Size[F[_]] extends Algebra[F]

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

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

trait Style[F[_]] extends Algebra[F]

Apply styling to a image.

Apply styling to a image.

trait Text[F[_]] extends Algebra[F]

Algebra for creating and styling text.

Algebra for creating and styling text.

Constructors for Text algebra

Constructors for Text algebra

trait ToPicture[F[_], Input] extends Algebra[F]

Algebra that represents converting from the Input type to a F[Unit] (that in turn can be wrapped in a Picture). This can be used to represent, for example, creating a picture from a bitmap in a base64 encoded string.

Algebra that represents converting from the Input type to a F[Unit] (that in turn can be wrapped in a Picture). This can be used to represent, for example, creating a picture from a bitmap in a base64 encoded string.

trait Transform[F[_]] extends Algebra[F]