Copyright | (c) Tim Docker 2006 2014 |
---|---|
License | BSD-style (see chart/COPYRIGHT) |
Safe Haskell | None |
Language | Haskell98 |
Graphics.Rendering.Chart.Renderable
Description
This module contains the definition of the Renderable
type, which
is a composable drawing element, along with assorted functions to
them.
Synopsis
- data Renderable a = Renderable {
- minsize :: BackendProgram RectSize
- render :: RectSize -> BackendProgram (PickFn a)
- class ToRenderable a where
- toRenderable :: a -> Renderable ()
- type PickFn a = Point -> Maybe a
- data Rectangle = Rectangle {}
- data RectCornerStyle
- rectangleToRenderable :: Rectangle -> Renderable a
- drawRectangle :: Point -> Rectangle -> BackendProgram (PickFn a)
- fillBackground :: FillStyle -> Renderable a -> Renderable a
- addMargins :: (Double, Double, Double, Double) -> Renderable a -> Renderable a
- emptyRenderable :: Renderable a
- embedRenderable :: BackendProgram (Renderable a) -> Renderable a
- label :: FontStyle -> HTextAnchor -> VTextAnchor -> String -> Renderable String
- rlabel :: FontStyle -> HTextAnchor -> VTextAnchor -> Double -> String -> Renderable String
- spacer :: RectSize -> Renderable a
- spacer1 :: Renderable a -> Renderable b
- setPickFn :: PickFn b -> Renderable a -> Renderable b
- mapMaybePickFn :: (a -> Maybe b) -> Renderable a -> Renderable b
- mapPickFn :: (a -> b) -> Renderable a -> Renderable b
- nullPickFn :: PickFn a
- rect_minsize :: Lens' Rectangle RectSize
- rect_fillStyle :: Lens' Rectangle (Maybe FillStyle)
- rect_lineStyle :: Lens' Rectangle (Maybe LineStyle)
- rect_cornerStyle :: Lens' Rectangle RectCornerStyle
Documentation
data Renderable a #
A Renderable is a record of functions required to layout a graphic element.
Constructors
Renderable | |
Fields
|
Instances
Functor Renderable # | |
Defined in Graphics.Rendering.Chart.Renderable Methods fmap :: (a -> b) -> Renderable a -> Renderable b # (<$) :: a -> Renderable b -> Renderable a # | |
ToRenderable (Renderable a) # | |
Defined in Graphics.Rendering.Chart.Renderable Methods toRenderable :: Renderable a -> Renderable () # |
class ToRenderable a where #
A type class abtracting the conversion of a value to a Renderable.
Methods
toRenderable :: a -> Renderable () #
Instances
type PickFn a = Point -> Maybe a #
A function that maps a point in device coordinates to some value.
Perhaps it might be generalised from Maybe a to (MonadPlus m ) => m a in the future.
Constructors
Rectangle | |
Instances
Default Rectangle # | |
Defined in Graphics.Rendering.Chart.Renderable | |
ToRenderable Rectangle # | |
Defined in Graphics.Rendering.Chart.Renderable Methods toRenderable :: Rectangle -> Renderable () # |
data RectCornerStyle #
Constructors
RCornerSquare | |
RCornerBevel Double | |
RCornerRounded Double |
rectangleToRenderable :: Rectangle -> Renderable a #
drawRectangle :: Point -> Rectangle -> BackendProgram (PickFn a) #
Draw the specified rectangle such that its top-left vertex is placed at the given position
fillBackground :: FillStyle -> Renderable a -> Renderable a #
Overlay a renderable over a solid background fill.
Arguments
:: (Double, Double, Double, Double) | The spacing to be added. |
-> Renderable a | The source renderable. |
-> Renderable a |
Add some spacing at the edges of a renderable.
emptyRenderable :: Renderable a #
embedRenderable :: BackendProgram (Renderable a) -> Renderable a #
Helper function for using a renderable, when we generate it in the BackendProgram monad.
label :: FontStyle -> HTextAnchor -> VTextAnchor -> String -> Renderable String #
Construct a renderable from a text string, aligned with the axes.
rlabel :: FontStyle -> HTextAnchor -> VTextAnchor -> Double -> String -> Renderable String #
Construct a renderable from a text string, rotated wrt to axes. The angle of rotation is in degrees, measured clockwise from the horizontal.
spacer :: RectSize -> Renderable a #
Create a blank renderable with a specified minimum size.
spacer1 :: Renderable a -> Renderable b #
Create a blank renderable with a minimum size the same as some other renderable.
setPickFn :: PickFn b -> Renderable a -> Renderable b #
Replace the pick function of a renderable with another.
mapMaybePickFn :: (a -> Maybe b) -> Renderable a -> Renderable b #
Map a function over the result of a renderable's pickfunction, keeping only Just
results.
mapPickFn :: (a -> b) -> Renderable a -> Renderable b #
Map a function over result of a renderable's pickfunction.
nullPickFn :: PickFn a #