doodle.core

package doodle.core

Type members

Classlikes

final class Angle(val toRadians: Double)

An angle in radians

An angle in radians

Companion:
object
Source:
Angle.scala
object Angle
Companion:
class
Source:
Angle.scala
final case class Base64[Fmt <: 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.

Source:
Base64.scala
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
Source:
BoundingBox.scala
Companion:
class
Source:
BoundingBox.scala
sealed abstract class Cap extends Product with Serializable
Companion:
object
Source:
Cap.scala
object Cap
Companion:
class
Source:
Cap.scala
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
Source:
ClosedPath.scala
object ClosedPath
Companion:
class
Source:
ClosedPath.scala
sealed abstract class Color extends Product with Serializable
Companion:
object
Source:
Color.scala
object Color extends CommonColors
Companion:
class
Source:
Color.scala
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
Source:
Coordinate.scala
object Coordinate
Companion:
class
Source:
Coordinate.scala
sealed trait Gradient extends Product with Serializable
Companion:
object
Source:
Gradient.scala
object Gradient
Companion:
class
Source:
Gradient.scala
sealed abstract class Join extends Product with Serializable
Companion:
object
Source:
Join.scala
object Join
Companion:
class
Source:
Join.scala
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
Source:
Landmark.scala
object Landmark
Companion:
class
Source:
Landmark.scala
final case class Normalized(get: Double) extends AnyVal

A value in the range [0, 1]

A value in the range [0, 1]

Companion:
object
Source:
Normalized.scala
object Normalized
Companion:
class
Source:
Normalized.scala
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
Source:
OpenPath.scala
object OpenPath
Companion:
class
Source:
OpenPath.scala
trait Parametric[A] extends A => Point
Companion:
object
Source:
Parametric.scala
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
Source:
Parametric.scala
sealed abstract class PathElement extends Product with Serializable
Companion:
object
Source:
PathElement.scala
Companion:
class
Source:
PathElement.scala
sealed abstract class Point extends Product with Serializable
Companion:
object
Source:
Point.scala
object Point
Companion:
class
Source:
Point.scala
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
Source:
Transform.scala
object Transform
Companion:
class
Source:
Transform.scala
final case class UnsignedByte(value: Byte) extends AnyVal
Companion:
object
Source:
UnsignedByte.scala
Companion:
class
Source:
UnsignedByte.scala
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
Source:
Vec.scala
object Vec
Companion:
class
Source:
Vec.scala