Chart-diagrams-1.5.4: Diagrams backend for Charts.

Safe HaskellNone
LanguageHaskell98

Graphics.Rendering.Chart.Backend.Diagrams

Contents

Description

The backend to render charts with the diagrams library.

Synopsis

Documentation

runBackend

Arguments

:: (Backend b V2 (N b), Renderable (Path V2 (N b)) b, TypeableFloat (N b), Metric (V b)) 
=> DEnv (N b)

Environment to start rendering with.

-> ChartBackend a

Chart render code.

-> (QDiagram b V2 (N b) Any, a)

The diagram.

Run this backends renderer.

runBackendR

Arguments

:: (Backend b V2 (N b), Renderable (Path V2 (N b)) b, TypeableFloat (N b), Metric (V b)) 
=> DEnv (N b)

Environment to start rendering with.

-> Renderable a

Chart render code.

-> (QDiagram b V2 (N b) Any, PickFn a)

The diagram.

Run this backends renderer.

defaultEnv

Arguments

:: (Read n, RealFloat n) 
=> AlignmentFns

Alignment functions to use.

-> n

The output image width in backend coordinates.

-> n

The output image height in backend coordinates.

-> IO (DEnv n) 

Produce a default environment with just the sans-serif fonts.

createEnv

Arguments

:: (Read n, RealFloat n) 
=> AlignmentFns

Alignment functions to use.

-> n

The output image width in backend coordinates.

-> n

The output image height in backend coordinates.

-> FontSelector n 
-> DEnv n 

Produce an environment with a custom set of fonts. The defult fonts are still loaded as fall back.

data DEnv n

The diagrams backend environement.

Constructors

DEnv 

Fields

envAlignmentFns :: AlignmentFns

The used alignment functions.

envFontStyle :: FontStyle

The current/initial font style.

envSelectFont :: FontStyle -> PreparedFont n

The font selection function.

envOutputSize :: (n, n)

The size of the rendered output.

envUsedGlyphs :: Map (String, FontSlant, FontWeight) (Set String)

The map of all glyphs that are used from a specific font.

type DFont n = PreparedFont n

File Output Functons

data FileFormat

The file output format: EPS -> Embedded Postscript SVG -> SVG with text rendered as stroked paths SVG -> SVG with embedded font information and text rendered as text operations

Constructors

EPS 
SVG 
SVG_EMBEDDED 

renderableToFile :: FileOptions -> FilePath -> Renderable a -> IO (PickFn a)

Generate an image file for the given renderable, at the specified path. Size, format, and text rendering mode are all set through the FileOptions parameter.

toFile :: (Default r, ToRenderable r) => FileOptions -> FilePath -> EC r () -> IO ()

Generate an image file from from the state content of an EC computation. The state may have any type that is an instance of ToRenderable

cBackendToFile :: FileOptions -> ChartBackend a -> FilePath -> IO a

Generate an image file for the given drawing instructions, at the specified path. Size and format are set through the FileOptions parameter.

EPS Utility Functions

SVG Utility Functions

renderableToSVG :: Renderable a -> Double -> Double -> IO (Svg (), PickFn a)

Output the given renderable as a SVG of the specifed size (in points) using the default environment.

renderableToSVG' :: Renderable a -> DEnv Double -> (Svg (), PickFn a)

Output the given renderable as a SVG using the given environment.

renderableToSVGString :: Renderable a -> Double -> Double -> IO (ByteString, PickFn a)

Output the given renderable to a string containing a SVG of the specifed size (in points) using the default environment.

renderableToSVGString' :: Renderable a -> DEnv Double -> (ByteString, PickFn a)

Output the given renderable to a string containing a SVG using the given environment.

SVG Embedded Font Utility Functions

renderableToEmbeddedFontSVG :: Renderable a -> Double -> Double -> IO (Svg (), PickFn a)

Output the given renderable as a SVG of the specifed size (in points) using the default environment. Font are embedded to save space.

renderableToEmbeddedFontSVG' :: Renderable a -> DEnv Double -> (Svg (), PickFn a)

Output the given renderable as a SVG using the given environment. Font are embedded to save space.

Fonts

loadSansSerifFonts :: forall n. (RealFloat n, Read n) => IO (FontSelector n)

Load sans-serif fonts only

loadCommonFonts :: forall n. (RealFloat n, Read n) => IO (FontSelector n)

Load serif, sans-serif and monospace fonts.