| Maintainer | diagrams-discuss@googlegroups.com |
|---|---|
| Safe Haskell | None |
Diagrams.TwoD.Adjust
Description
A default diagram-adjustment implementation for two-dimensional diagrams, useful for backend implementors.
- setDefault2DAttributes :: Semigroup m => QDiagram b R2 m -> QDiagram b R2 m
- adjustDiaSize2D :: Monoid' m => (Options b R2 -> SizeSpec2D) -> (SizeSpec2D -> Options b R2 -> Options b R2) -> b -> Options b R2 -> QDiagram b R2 m -> (Options b R2, QDiagram b R2 m)
- adjustDia2D :: Monoid' m => (Options b R2 -> SizeSpec2D) -> (SizeSpec2D -> Options b R2 -> Options b R2) -> b -> Options b R2 -> QDiagram b R2 m -> (Options b R2, QDiagram b R2 m)
- adjustSize :: SizeSpec2D -> (Double, Double) -> Transformation R2
- requiredScale :: SizeSpec2D -> (Double, Double) -> Double
Documentation
setDefault2DAttributes :: Semigroup m => QDiagram b R2 m -> QDiagram b R2 mSource
Set default attributes of a 2D diagram (in case they have not been set):
- Line width 0.01
- Line color black
- Font size 1
- Line cap LineCapButt
- line join miter
- Miter limit 10
adjustDiaSize2D :: Monoid' m => (Options b R2 -> SizeSpec2D) -> (SizeSpec2D -> Options b R2 -> Options b R2) -> b -> Options b R2 -> QDiagram b R2 m -> (Options b R2, QDiagram b R2 m)Source
Adjust the size and position of a 2D diagram to fit within the requested size. The first two arguments specify a method for extracting the requested output size from the rendering options, and a way of updating the rendering options with a new (more specific) size.
adjustDia2D :: Monoid' m => (Options b R2 -> SizeSpec2D) -> (SizeSpec2D -> Options b R2 -> Options b R2) -> b -> Options b R2 -> QDiagram b R2 m -> (Options b R2, QDiagram b R2 m)Source
adjustDia2D provides a useful default implementation of
the adjustDia method from the Backend type class.
As its first two arguments it requires a method for extracting the requested output size from the rendering options, and a way of updating the rendering options with a new (more specific) size.
It then performs the following adjustments:
- Set default attributes (see
setDefault2DAttributes) - Freeze the diagram in its final form
- Scale and translate the diagram to fit within the requested
size (see
adjustDiaSize2D) - Also return the actual adjusted size of the diagram.
adjustSize :: SizeSpec2D -> (Double, Double) -> Transformation R2Source
Deprecated: Use Diagrams.TwoD.Size.requiredScaleT instead.
Re-export requiredScaleT with the name adjustSize for
backwards compatibility.
requiredScale :: SizeSpec2D -> (Double, Double) -> DoubleSource
requiredScale spec sz returns a scaling factor necessary to
make something of size sz fit the requested size spec,
without changing the aspect ratio. Hence an explicit
specification of both dimensions may not be honored if the aspect
ratios do not match; in that case the scaling will be as large as
possible so that the object still fits within the requested size.