Maintainer | diagrams-discuss@googlegroups.com |
---|---|
Safe Haskell | None |
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.