doodle.core

package doodle.core

Type members

Classlikes

final class Angle(val toRadians: Double)

An angle in radians

An angle in radians

Companion:
object
object Angle
Companion:
class
final case class Base64[Format](value: String)

Wrapper class for storing base-64 encoded bitmap data along with the format of that bitmap.

Wrapper class for storing base-64 encoded bitmap data along with the format of that bitmap.

E.g. val pngData = Base64[Png]("data here ...") represents a base-64 bitmap in Png format.

By convention that formats in doodle.effect.Writer$ should be used.

final case class BoundingBox(left: Double, top: Double, right: Double, bottom: Double)

A doodle.core.BoundingBox represents a bounding box around an picture.

A doodle.core.BoundingBox represents a bounding box around an picture.

A bounding box also defines a local coordinate system for a picture. The bounding box must contain the origin of the coordinate system. However the origin need not be centered within the box.

No particular guarantees are made about the tightness of the bounding box, though it can assumed to be reasonably tight.

Companion:
object
Companion:
class
sealed abstract class Cap extends Product with Serializable
Companion:
object
object Cap
Companion:
class
final case class ClosedPath

Elements are stored in reversed order to make appending, the most common operation, more efficient.

Elements are stored in reversed order to make appending, the most common operation, more efficient.

Companion:
object
object ClosedPath
Companion:
class
sealed abstract class Color extends Product with Serializable
Companion:
object
object Color extends CommonColors
Companion:
class
sealed trait Coordinate

A Coordinate represents a position on an axis relative to a bounding box's origin. Coordinates can be specified as a (1D) point or as a percentage relative to the edge of the bounding box.

A Coordinate represents a position on an axis relative to a bounding box's origin. Coordinates can be specified as a (1D) point or as a percentage relative to the edge of the bounding box.

For example, Coordinate.point(10) is ten units from the origin in the positive direction, while Coordinate.percent(100) is the positive (top or right) edge of the bounding box.

Companion:
object
object Coordinate
Companion:
class
sealed trait Gradient extends Product with Serializable
Companion:
object
object Gradient
Companion:
class
sealed abstract class Join extends Product with Serializable
Companion:
object
object Join
Companion:
class
final case class Landmark(x: Coordinate, y: Coordinate)

A Landmark represents a position relative to the origin of a bounding box.

A Landmark represents a position relative to the origin of a bounding box.

Companion:
object
object Landmark
Companion:
class
final case class Normalized(get: Double) extends AnyVal

A value in the range [0, 1]

A value in the range [0, 1]

Companion:
object
object Normalized
Companion:
class
final case class OpenPath

Elements are stored in reversed order to make appending, the most common operation, more efficient.

Elements are stored in reversed order to make appending, the most common operation, more efficient.

Companion:
object
object OpenPath
Companion:
class
trait Parametric[A] extends A => Point
Companion:
object
object Parametric

A collection of parametric curves.

A collection of parametric curves.

A parametric curve is a function from some input---usually a normalized number or an angle---to a Point.

Companion:
class
sealed abstract class PathElement extends Product with Serializable
Companion:
object
Companion:
class
sealed abstract class Point extends Product with Serializable
Companion:
object
object Point
Companion:
class
final case class Transform(elements: Array[Double])

Representation of an affine transformation as an augmented matrix.

Representation of an affine transformation as an augmented matrix.

Companion:
object
object Transform
Companion:
class
final case class UnsignedByte(value: Byte) extends AnyVal
Companion:
object
Companion:
class
final case class Vec(x: Double, y: Double)

A 2D vector. We can't use the name Vector as Scala already uses it.

A 2D vector. We can't use the name Vector as Scala already uses it.

Companion:
object
object Vec
Companion:
class