Portability | GHC |
---|---|
Stability | highly unstable |
Maintainer | stephen.tetley@gmail.com |
Extended Graphic object - a rectangular positionable Image.
This graphic object has a more flexible API for positioning
than other graphic objects. Rather than a LocGraphic which
supports a single method of positioning at some start-point,
a PosGraphic
can be drawn at its center or locations on its
outer rectangle.
- data PosObject u
- type DPosObject = PosObject Double
- runPosObject :: Fractional u => RectAddress -> PosObject u -> LocImage u (BoundingBox u)
- makePosObject :: Query u (Orientation u) -> LocGraphic u -> PosObject u
- emptyPosObject :: InterpretUnit u => PosObject u
- localPosObject :: DrawingContextF -> PosObject u -> PosObject u
- decoPosObject :: (Orientation u -> LocGraphic u) -> ZDeco -> PosObject u -> PosObject u
- extendPosObject :: Num u => u -> u -> u -> u -> PosObject u -> PosObject u
- mapOrientation :: (Orientation u -> Orientation u) -> PosObject u -> PosObject u
- illustratePosObject :: InterpretUnit u => PosObject u -> LocGraphic u
Positionable image
A positionable "Object" that is drawn as a
BoundedLocGraphic
.
(Fractional u, Ord u, InterpretUnit u) => Monoid (PosObject u) | |
(Fractional u, Ord u) => AlignSpace (PosObject u) | |
(Fractional u, Ord u) => Align (PosObject u) | |
(Num u, Ord u) => CatSpace (PosObject u) | |
(Num u, Ord u) => Concat (PosObject u) | |
(Fractional u, Ord u, InterpretUnit u) => ZConcat (PosObject u) |
type DPosObject = PosObject DoubleSource
Version of PosObject specialized to Double for the unit type.
Operations
runPosObject :: Fractional u => RectAddress -> PosObject u -> LocImage u (BoundingBox u)Source
Version of runPosObject
that produces a
LocImage
that returns a bounding box.
The PosObject
is run with only rect-address as an explicit
argument (start-point is implicit). The corresponding answer is
an arity one Graphic that needs drawing with the start-point.
makePosObject :: Query u (Orientation u) -> LocGraphic u -> PosObject uSource
makePosObject
: object_pos * loc_image -> PosObject
Create a PosObject
from an Orientation
describing how it
is orientated within a border rectangle and a LocImage
that
draws it.
This is the primary constructor for PosObjects. Because the PosObject type is considered as a specialized object it does not have the range of functions of LocImage or LocThetaImage.
emptyPosObject :: InterpretUnit u => PosObject uSource
emptyPosObject
: PosObject
Build an empty PosGraphicObject
.
localPosObject :: DrawingContextF -> PosObject u -> PosObject uSource
Apply a DrawingContext update to a PosObject
.
decoPosObject :: (Orientation u -> LocGraphic u) -> ZDeco -> PosObject u -> PosObject uSource
extendPosObject :: Num u => u -> u -> u -> u -> PosObject u -> PosObject uSource
Extend the orientation.
mapOrientation :: (Orientation u -> Orientation u) -> PosObject u -> PosObject uSource
illustratePosObject :: InterpretUnit u => PosObject u -> LocGraphic uSource
Illustrate a PosObject
by super-imposing its Orientation
.
This turns the PosObject
into a LocImage
drawn at the locus
of the PosObject.