-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Brillo picture data types and rendering functions. -- -- Brillo picture data types and rendering functions. These functions -- don't do any window management. If you want Brillo to setup your -- window as well, then use the plain brillo package. @package brillo-rendering @version 1.13.3 module Brillo.Rendering -- | A 2D picture data Picture -- | A blank picture, with nothing in it. Blank :: Picture -- | A convex polygon filled with a solid color. Polygon :: Path -> Picture -- | A line along an arbitrary path. Line :: Path -> Picture -- | A circle with the given radius. Circle :: Float -> Picture -- | A circle with the given radius and thickness. If the thickness is 0 -- then this is equivalent to Circle. ThickCircle :: Float -> Float -> Picture -- | A circular arc drawn counter-clockwise between two angles (in degrees) -- at the given radius. Arc :: Float -> Float -> Float -> Picture -- | 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. ThickArc :: Float -> Float -> Float -> Float -> Picture -- | Text to draw with a vector font Text :: String -> Picture -- | A bitmap image. Bitmap :: BitmapData -> Picture -- | A subsection of a bitmap image where the first argument selects a sub -- section in the bitmap, and second argument determines the bitmap data. BitmapSection :: Rectangle -> BitmapData -> Picture -- | A picture drawn with this color. Color :: Color -> Picture -> Picture -- | A picture translated by the given x and y coordinates. Translate :: Float -> Float -> Picture -> Picture -- | A picture rotated clockwise by the given angle (in degrees). Rotate :: Float -> Picture -> Picture -- | A picture scaled by the given x and y factors. Scale :: Float -> Float -> Picture -> Picture -- | A picture consisting of several others. Pictures :: [Picture] -> Picture -- | A point on the x-y plane. type Point = (Float, Float) -- | A vector can be treated as a point, and vis-versa. type Vector = Point -- | A path through the x-y plane. type Path = [Point] -- | An abstract color value. We keep the type abstract so we can be sure -- that the components are in the required range. To make a custom color -- use makeColor. data Color -- | Make a custom color. All components are clamped to the range [0..1]. makeColor :: Float -> Float -> Float -> Float -> Color -- | Make a custom color. All components are clamped to the range [0..255]. makeColorI :: Int -> Int -> Int -> Int -> Color -- | Make a custom color. -- -- Using this function over makeColor avoids clamping the -- components, which saves time. However, if the components are out of -- range then this will result in integer overflow at rendering time, and -- the actual picture you get will be implementation dependent. -- -- You'll only need to use this function when using the -- brillo-raster package that builds a new color for every -- pixel. If you're just working with the Picture data type then it there -- is no need for raw colors. makeRawColor :: Float -> Float -> Float -> Float -> Color -- | Make a custom color, taking pre-clamped components. makeRawColorI :: Int -> Int -> Int -> Int -> Color -- | Take the RGBA components of a color. rgbaOfColor :: Color -> (Float, Float, Float, Float) -- | Clamp components of a raw color into the required range. clampColor :: Color -> Color -- | Represents a rectangular section in a bitmap data Rectangle Rectangle :: (Int, Int) -> (Int, Int) -> Rectangle -- | x- and y-pos in the bitmap in pixels [rectPos] :: Rectangle -> (Int, Int) -- | width/height of the area in pixelsi [rectSize] :: Rectangle -> (Int, Int) -- | Abstract 32-bit RGBA bitmap data. data BitmapData -- | width, height in pixels bitmapSize :: BitmapData -> (Int, Int) -- | Description of how the bitmap is layed out in memory. -- --