Safe Haskell | None |
---|---|

Language | Haskell98 |

- data Picture :: *
- type Point = (Float, Float)
- type Vector = Point
- type Path = [Point]
- blank :: Picture
- polygon :: Path -> Picture
- line :: Path -> Picture
- circle :: Float -> Picture
- thickCircle :: Float -> Float -> Picture
- arc :: Float -> Float -> Float -> Picture
- thickArc :: Float -> Float -> Float -> Float -> Picture
- text :: String -> Picture
- bitmap :: Int -> Int -> BitmapData -> Bool -> Picture
- color :: Color -> Picture -> Picture
- translate :: Float -> Float -> Picture -> Picture
- rotate :: Float -> Picture -> Picture
- scale :: Float -> Float -> Picture -> Picture
- pictures :: [Picture] -> Picture
- lineLoop :: Path -> Picture
- circleSolid :: Float -> Picture
- arcSolid :: Float -> Float -> Float -> Picture
- sectorWire :: Float -> Float -> Float -> Picture
- rectanglePath :: Float -> Float -> Path
- rectangleWire :: Float -> Float -> Picture
- rectangleSolid :: Float -> Float -> Picture
- rectangleUpperPath :: Float -> Float -> Path
- rectangleUpperWire :: Float -> Float -> Picture
- rectangleUpperSolid :: Float -> Float -> Picture

# Documentation

data Picture :: *

A 2D picture

Blank | A blank picture, with nothing in it. |

Polygon Path | A convex polygon filled with a solid color. |

Line Path | A line along an arbitrary path. |

Circle Float | A circle with the given radius. |

ThickCircle Float Float | A circle with the given thickness and radius.
If the thickness is 0 then this is equivalent to |

Arc Float Float Float | A circular arc drawn counter-clockwise between two angles (in degrees) at the given radius. |

ThickArc Float Float Float Float | A circular arc drawn counter-clockwise between two angles
(in degrees), with the given radius and thickness.
If the thickness is 0 then this is equivalent to |

Text String | Some text to draw with a vector font. |

Bitmap Int Int BitmapData Bool | A bitmap image with a width, height and some 32-bit RGBA bitmap data. The boolean flag controls whether Gloss should cache the data
between frames for speed. If you are programatically generating
the image for each frame then use |

Color Color Picture | A picture drawn with this color. |

Translate Float Float Picture | A picture translated by the given x and y coordinates. |

Rotate Float Picture | A picture rotated clockwise by the given angle (in degrees). |

Scale Float Float Picture | A picture scaled by the given x and y factors. |

Pictures [Picture] | A picture consisting of several others. |

# Aliases for Picture constructors

thickCircle :: Float -> Float -> Picture Source

A circle with the given thickness and radius.
If the thickness is 0 then this is equivalent to `Circle`

.

arc :: Float -> Float -> Float -> Picture Source

A circular arc drawn counter-clockwise between two angles (in degrees) at the given radius.

thickArc :: Float -> Float -> Float -> Float -> Picture Source

A circular arc drawn counter-clockwise between two angles (in degrees),
with the given radius and thickness.
If the thickness is 0 then this is equivalent to `Arc`

.

bitmap :: Int -> Int -> BitmapData -> Bool -> Picture Source

A bitmap image with a width, height and a Vector holding the 32-bit RGBA bitmap data.

The boolean flag controls whether Gloss should cache the data
between frames for speed.
If you are programatically generating the image for
each frame then use `False`

.
If you have loaded it from a file then use `True`

.

translate :: Float -> Float -> Picture -> Picture Source

A picture translated by the given x and y coordinates.

rotate :: Float -> Picture -> Picture Source

A picture rotated clockwise by the given angle (in degrees).

# Compound shapes

circleSolid :: Float -> Picture Source

A solid circle with the given radius.

arcSolid :: Float -> Float -> Float -> Picture Source

A solid arc, drawn counter-clockwise between two angles at the given radius.

sectorWire :: Float -> Float -> Float -> Picture Source

A wireframe sector of a circle. An arc is draw counter-clockwise from the first to the second angle at the given radius. Lines are drawn from the origin to the ends of the arc.

A path representing a rectangle centered about the origin

rectangleWire :: Float -> Float -> Picture Source

A wireframe rectangle centered about the origin.

rectangleSolid :: Float -> Float -> Picture Source

A solid rectangle centered about the origin.

rectangleUpperPath :: Float -> Float -> Path Source

A path representing a rectangle in the y > 0 half of the x-y plane.

rectangleUpperWire :: Float -> Float -> Picture Source

A wireframe rectangle in the y > 0 half of the x-y plane.

rectangleUpperSolid :: Float -> Float -> Picture Source

A solid rectangle in the y > 0 half of the x-y plane.