Copyright | (c) 2011 diagrams-lib team (see LICENSE) |
---|---|

License | BSD-style (see LICENSE) |

Maintainer | diagrams-discuss@googlegroups.com |

Safe Haskell | None |

Language | Haskell2010 |

Utilities for working with sizes of two-dimensional objects.

## Synopsis

- width :: (InSpace V2 n a, Enveloped a) => a -> n
- height :: (InSpace V2 n a, Enveloped a) => a -> n
- extentX :: (InSpace v n a, R1 v, Enveloped a) => a -> Maybe (n, n)
- extentY :: (InSpace v n a, R2 v, Enveloped a) => a -> Maybe (n, n)
- mkSizeSpec2D :: Num n => Maybe n -> Maybe n -> SizeSpec V2 n
- mkWidth :: Num n => n -> SizeSpec V2 n
- mkHeight :: Num n => n -> SizeSpec V2 n
- dims2D :: n -> n -> SizeSpec V2 n

## Computing sizes

width :: (InSpace V2 n a, Enveloped a) => a -> n #

Compute the width of an enveloped object.

Note this is just `diameter unitX`

.

extentX :: (InSpace v n a, R1 v, Enveloped a) => a -> Maybe (n, n) #

Compute the absolute x-coordinate range of an enveloped object in
the form `(lo,hi)`

. Return `Nothing`

for objects with an empty
envelope.

Note this is just `extent unitX`

.

extentY :: (InSpace v n a, R2 v, Enveloped a) => a -> Maybe (n, n) #

Compute the absolute y-coordinate range of an enveloped object in
the form `(lo,hi)`

. Return `Nothing`

for objects with an empty
envelope.