Chart-1.8.2: A library for generating 2D Charts and Plots

Copyright | (c) Tim Docker 2014
License | BSD-style (see chart/COPYRIGHT)
Safe Haskell | None
Language | Haskell98

Graphics.Rendering.Chart.Backend.Types

Description

Synopsis

- data LineCap
  - = LineCapButt
  - | LineCapRound
  - | LineCapSquare
- data LineJoin
  - = LineJoinMiter
  - | LineJoinRound
  - | LineJoinBevel
- data LineStyle = LineStyle {
  - _line_width :: Double
  - _line_color :: AlphaColour Double
  - _line_dashes :: [Double]
  - _line_cap :: LineCap
  - _line_join :: LineJoin
  }
- data FontSlant
  - = FontSlantNormal
  - | FontSlantItalic
  - | FontSlantOblique
- data FontWeight
  - = FontWeightNormal
  - | FontWeightBold
- data FontStyle = FontStyle {
  - _font_name :: String
  - _font_size :: Double
  - _font_slant :: FontSlant
  - _font_weight :: FontWeight
  - _font_color :: AlphaColour Double
  }
- data HTextAnchor
  - = HTA_Left
  - | HTA_Centre
  - | HTA_Right
- data VTextAnchor
  - = VTA_Top
  - | VTA_Centre
  - | VTA_Bottom
  - | VTA_BaseLine
- data TextSize = TextSize {
  - textSizeWidth :: Double
  - textSizeAscent :: Double
  - textSizeDescent :: Double
  - textSizeYBearing :: Double
  - textSizeHeight :: Double
  }
- newtype FillStyle = FillStyleSolid {
  - _fill_color :: AlphaColour Double
  }
- type AlignmentFn = Point -> Point
- data AlignmentFns = AlignmentFns {
  - afPointAlignFn :: AlignmentFn
  - afCoordAlignFn :: AlignmentFn
  }
- bitmapAlignmentFns :: AlignmentFns
- vectorAlignmentFns :: AlignmentFns
- line_width :: Lens' LineStyle Double
- line_join :: Lens' LineStyle LineJoin
- line_dashes :: Lens' LineStyle [Double]
- line_color :: Lens' LineStyle (AlphaColour Double)
- line_cap :: Lens' LineStyle LineCap
- font_weight :: Lens' FontStyle FontWeight
- font_slant :: Lens' FontStyle FontSlant
- font_size :: Lens' FontStyle Double
- font_name :: Lens' FontStyle String
- font_color :: Lens' FontStyle (AlphaColour Double)
- fill_color :: Iso' FillStyle (AlphaColour Double)

# Documentation

data LineCap Source #

The different supported line ends.

Constructors

LineCapButt | Just cut the line straight.
LineCapRound | Make a rounded line end.
LineCapSquare | Make a square that ends the line.

Instances

Eq LineCap Source # |
Methods (==) :: LineCap -> LineCap -> Bool # (/=) :: LineCap -> LineCap -> Bool #
Ord LineCap Source # |
Methods compare :: LineCap -> LineCap -> Ordering # (<) :: LineCap -> LineCap -> Bool # (<=) :: LineCap -> LineCap -> Bool # (>) :: LineCap -> LineCap -> Bool # (>=) :: LineCap -> LineCap -> Bool # max :: LineCap -> LineCap -> LineCap # min :: LineCap -> LineCap -> LineCap #
Show LineCap Source # |
Methods showsPrec :: Int -> LineCap -> ShowS # show :: LineCap -> String # showList :: [LineCap] -> ShowS #

data LineJoin Source #

The different supported ways to join line ends.

Constructors

LineJoinMiter | Extends the outline until they meet each other.
LineJoinRound | Draw a circle fragment to connet line end.
LineJoinBevel | Like miter, but cuts it off if a certain threshold is exceeded.

Instances

Eq LineJoin Source # |
Methods (==) :: LineJoin -> LineJoin -> Bool # (/=) :: LineJoin -> LineJoin -> Bool #
Ord LineJoin Source # |
Methods compare :: LineJoin -> LineJoin -> Ordering # (<) :: LineJoin -> LineJoin -> Bool # (<=) :: LineJoin -> LineJoin -> Bool # (>) :: LineJoin -> LineJoin -> Bool # (>=) :: LineJoin -> LineJoin -> Bool # max :: LineJoin -> LineJoin -> LineJoin # min :: LineJoin -> LineJoin -> LineJoin #
Show LineJoin Source # |
Methods showsPrec :: Int -> LineJoin -> ShowS # show :: LineJoin -> String # showList :: [LineJoin] -> ShowS #

data LineStyle Source #

Data type for the style of a line.

Constructors

LineStyle |

Fields

- _line_width :: Double

  The thickness of a line in device units.

- _line_color :: AlphaColour Double

  The color of a line.

- _line_dashes :: [Double]

  The dash pattern. Every value at a even index gives a dash width and every value at a odd index gives a gap width in device units.

- _line_cap :: LineCap

  How to end a line.

- _line_join :: LineJoin

  How to connect two lines.

Instances

Eq LineStyle Source # |
Methods (==) :: LineStyle -> LineStyle -> Bool # (/=) :: LineStyle -> LineStyle -> Bool #
Show LineStyle Source # |
Methods showsPrec :: Int -> LineStyle -> ShowS # show :: LineStyle -> String # showList :: [LineStyle] -> ShowS #
Default LineStyle Source # | The default line style.
Methods def :: LineStyle #

data FontSlant Source #

The possible slants of a font.

Constructors

FontSlantNormal | Normal font style without slant.
FontSlantItalic | With a slight slant.
FontSlantOblique | With a greater slant.

Instances

Eq FontSlant Source # |
Methods (==) :: FontSlant -> FontSlant -> Bool # (/=) :: FontSlant -> FontSlant -> Bool #
Ord FontSlant Source # |
Methods compare :: FontSlant -> FontSlant -> Ordering # (<) :: FontSlant -> FontSlant -> Bool # (<=) :: FontSlant -> FontSlant -> Bool # (>) :: FontSlant -> FontSlant -> Bool # (>=) :: FontSlant -> FontSlant -> Bool # max :: FontSlant -> FontSlant -> FontSlant # min :: FontSlant -> FontSlant -> FontSlant #
Show FontSlant Source # |
Methods showsPrec :: Int -> FontSlant -> ShowS # show :: FontSlant -> String # showList :: [FontSlant] -> ShowS #
Default FontSlant Source # | The default font slant.
Methods def :: FontSlant #

data FontWeight Source #

The possible weights of a font.

Constructors

FontWeightNormal | Normal font style without weight.
FontWeightBold | Bold font.

Instances

Eq FontWeight Source # |
Methods (==) :: FontWeight -> FontWeight -> Bool # (/=) :: FontWeight -> FontWeight -> Bool #
Ord FontWeight Source # |
Methods compare :: FontWeight -> FontWeight -> Ordering # (<) :: FontWeight -> FontWeight -> Bool # (<=) :: FontWeight -> FontWeight -> Bool # (>) :: FontWeight -> FontWeight -> Bool # (>=) :: FontWeight -> FontWeight -> Bool # max :: FontWeight -> FontWeight -> FontWeight # min :: FontWeight -> FontWeight -> FontWeight #
Show FontWeight Source # |
Methods showsPrec :: Int -> FontWeight -> ShowS # show :: FontWeight -> String # showList :: [FontWeight] -> ShowS #
Default FontWeight Source # | The default font weight.
Methods def :: FontWeight #

data FontStyle Source #

Data type for a font.

Constructors

FontStyle |

Fields

- _font_name :: String

  The font family or font face to use.

- _font_size :: Double

  The height of the rendered font in device coordinates.

- _font_slant :: FontSlant

  The slant to render with.

- _font_weight :: FontWeight

  The weight to render with.

- _font_color :: AlphaColour Double

  The color to render text with.

Instances

Eq FontStyle Source # |
Methods (==) :: FontStyle -> FontStyle -> Bool # (/=) :: FontStyle -> FontStyle -> Bool #
Show FontStyle Source # |
Methods showsPrec :: Int -> FontStyle -> ShowS # show :: FontStyle -> String # showList :: [FontStyle] -> ShowS #
Default FontStyle Source # | The default font style.
Methods def :: FontStyle #

data HTextAnchor Source #

Possible horizontal anchor points for text.

Constructors

HTA_Left |
HTA_Centre |
HTA_Right |

Instances

Eq HTextAnchor Source # |
Methods (==) :: HTextAnchor -> HTextAnchor -> Bool # (/=) :: HTextAnchor -> HTextAnchor -> Bool #
Ord HTextAnchor Source # |
Methods compare :: HTextAnchor -> HTextAnchor -> Ordering # (<) :: HTextAnchor -> HTextAnchor -> Bool # (<=) :: HTextAnchor -> HTextAnchor -> Bool # (>) :: HTextAnchor -> HTextAnchor -> Bool # (>=) :: HTextAnchor -> HTextAnchor -> Bool # max :: HTextAnchor -> HTextAnchor -> HTextAnchor # min :: HTextAnchor -> HTextAnchor -> HTextAnchor #
Show HTextAnchor Source # |
Methods showsPrec :: Int -> HTextAnchor -> ShowS # show :: HTextAnchor -> String # showList :: [HTextAnchor] -> ShowS #

data VTextAnchor Source #

Possible vertical anchor points for text.

Constructors

VTA_Top |
VTA_Centre |
VTA_Bottom |
VTA_BaseLine |

Instances

Eq VTextAnchor Source # |
Methods (==) :: VTextAnchor -> VTextAnchor -> Bool # (/=) :: VTextAnchor -> VTextAnchor -> Bool #
Ord VTextAnchor Source # |
Methods compare :: VTextAnchor -> VTextAnchor -> Ordering # (<) :: VTextAnchor -> VTextAnchor -> Bool # (<=) :: VTextAnchor -> VTextAnchor -> Bool # (>) :: VTextAnchor -> VTextAnchor -> Bool # (>=) :: VTextAnchor -> VTextAnchor -> Bool # max :: VTextAnchor -> VTextAnchor -> VTextAnchor # min :: VTextAnchor -> VTextAnchor -> VTextAnchor #
Show VTextAnchor Source # |
Methods showsPrec :: Int -> VTextAnchor -> ShowS # show :: VTextAnchor -> String # showList :: [VTextAnchor] -> ShowS #

data TextSize Source #

Text metrics returned by `textSize`.

Constructors

TextSize |

Fields

- textSizeWidth :: Double

  The total width of the text.

- textSizeAscent :: Double

  The ascent or space above the baseline.

- textSizeDescent :: Double

  The decent or space below the baseline.

- textSizeYBearing :: Double

  The Y bearing.

- textSizeHeight :: Double

  The total height of the text.

Instances

Eq TextSize Source # |
Methods (==) :: TextSize -> TextSize -> Bool # (/=) :: TextSize -> TextSize -> Bool #
Show TextSize Source # |
Methods showsPrec :: Int -> TextSize -> ShowS # show :: TextSize -> String # showList :: [TextSize] -> ShowS #

newtype FillStyle Source #

Abstract data type for a fill style.

The contained action sets the required fill style in the rendering state.

Constructors

FillStyleSolid |

Fields

- _fill_color :: AlphaColour Double

Instances

Eq FillStyle Source # |
Methods (==) :: FillStyle -> FillStyle -> Bool # (/=) :: FillStyle -> FillStyle -> Bool #
Show FillStyle Source # |
Methods showsPrec :: Int -> FillStyle -> ShowS # show :: FillStyle -> String # showList :: [FillStyle] -> ShowS #
Default FillStyle Source # | The default fill style.
Methods def :: FillStyle #

type AlignmentFn = Point -> Point Source #

A function to align points for a certain rendering device.

data AlignmentFns Source #

Holds the point and coordinate alignment function.

Constructors

AlignmentFns |

Fields

- afPointAlignFn :: AlignmentFn

  An adjustment applied immediately prior to points being displayed in device coordinates.

  When device coordinates correspond to pixels, a cleaner image is created if this transform rounds to the nearest pixel. With higher-resolution output, this transform can just be the identity function.

  This is usually used to align prior to stroking.

- afCoordAlignFn :: AlignmentFn

  The adjustment applied immediately prior to coordinates being transformed.

  This is usually used to align prior to filling.

bitmapAlignmentFns :: AlignmentFns Source #

Alignment to render on raster based graphics.

vectorAlignmentFns :: AlignmentFns Source #

Alignment to render on vector based graphics.

line_width :: Lens' LineStyle Double Source #

line_join :: Lens' LineStyle LineJoin Source #

line_dashes :: Lens' LineStyle [Double] Source #

line_color :: Lens' LineStyle (AlphaColour Double) Source #

line_cap :: Lens' LineStyle LineCap Source #

font_weight :: Lens' FontStyle FontWeight Source #

font_slant :: Lens' FontStyle FontSlant Source #

font_size :: Lens' FontStyle Double Source #

font_name :: Lens' FontStyle String Source #

font_color :: Lens' FontStyle (AlphaColour Double) Source #

fill_color :: Iso' FillStyle (AlphaColour Double) Source #