h*.,x7      !"#$%&'()*+,-./01234561.13.3  Safe-Inferredbbrillo-renderingAn 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 .7brillo-renderingHolds the color components. All components lie in the range [0..1.brillo-renderingMake a custom color. All components are clamped to the range [0..1].brillo-renderingMake a custom color. All components are clamped to the range [0..255].brillo-renderingMake a custom color.Using this function over  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.5You'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.brillo-rendering3Make a custom color, taking pre-clamped components.brillo-rendering$Take the RGBA components of a color.brillo-rendering8Clamp components of a raw color into the required range.brillo-renderingRed component.brillo-renderingGreen component.brillo-renderingBlue component.brillo-renderingAlpha component.7 Safe-Inferred  brillo-renderingPixel formats describe the order of the color channels in memory. brillo-rendering%Order of rows in an image are either: 9 - the top row, followed by the next-lower row and so on. < - the bottom row followed by the next-higher row and so on. brillo-rendering5Description of how the bitmap is layed out in memory.Prior version of Brillo assumed `BitmapFormat BottomToTop PxABGR`brillo-rendering!Abstract 32-bit RGBA bitmap data.brillo-renderingwidth, height in pixelsbrillo-rendering,Represents a rectangular section in a bitmapbrillo-rendering$x- and y-pos in the bitmap in pixelsbrillo-rendering#width/height of the area in pixelsi8brillo-rendering6Generates the point path to display the bitmap centred9brillo-renderingFrees the allocated memory given to OpenGL to avoid a memory leak:;<=>   89 Safe-Inferredbrillo-rendering A 2D picturebrillo-rendering$A blank picture, with nothing in it.brillo-rendering+A convex polygon filled with a solid color.brillo-renderingA line along an arbitrary path.brillo-renderingA circle with the given radius.brillo-renderingA circle with the given radius and thickness. If the thickness is 0 then this is equivalent to .brillo-renderingA circular arc drawn counter-clockwise between two angles (in degrees) at the given radius.brillo-renderingA 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 .brillo-renderingText to draw with a vector font brillo-renderingA bitmap image.!brillo-renderingA subsection of a bitmap image where the first argument selects a sub section in the bitmap, and second argument determines the bitmap data."brillo-rendering A picture drawn with this color.#brillo-rendering6A picture translated by the given x and y coordinates.$brillo-rendering of RGBA data into a bitmap with the given width and height.The boolean flag controls whether Brillo should cache the data between frames for speed. If you are programatically generating the image for each frame then use @/. If you have loaded it from a file then use A..brillo-renderingO(size). Copy a C file into a bitmap./brillo-renderingO(size). Copy a C file into a bitmap.0brillo-rendering;Load an uncompressed 24 or 32bit RGBA BMP file as a bitmap.Dbrillo-renderingConstruct a rectangle of the given width and height, with the lower left corner at the origin.+)(' "!#$%&   *+,-./0D Safe-InferredEbrillo-rendering5Convert one of our Colors to OpenGL's representation.E Safe-InferredFbrillo-renderingThe OpenGL library doesn't seem to provide a nice way convert a Float to a GLfloat, even though they're the same thing under the covers.Using realToFrac is too slow, as it doesn't get fused in at least GHC 6.12.1Gbrillo-rendering!Used for similar reasons to above1brillo-renderingSet up the OpenGL rendering context for orthographic projection and run an action to draw the model.2brillo-renderingClear the OpenGL buffer with the given background color and run an action to draw the model.1brillo-renderingWidth and height of window.brillo-renderingAction to perform.2brillo-renderingBackground colorbrillo-renderingAction to performFG12 Safe-Inferred Hbrillo-renderingDecide how many line segments to use to render the circle. The number of segments we should use to get a nice picture depends on the size of the circle on the screen, not its intrinsic radius. If the viewport has been zoomed-in then we need to use more segments.Ibrillo-rendering(Render a circle with the given thicknessJbrillo-renderingRender a circle as a line.Kbrillo-rendering:Render a circle with a given thickness as a triangle stripLbrillo-rendering'Render an arc with the given thickness.Mbrillo-renderingRender an arc as a line.Nbrillo-rendering8Render an arc with a given thickness as a triangle stripObrillo-renderingConvert degrees to radiansPbrillo-rendering3Normalise an angle to be between 0 and 2*pi radiansIL  Safe-InferredkQbrillo-rendering$A texture that we've sent to OpenGL.Rbrillo-renderingStable name derived from the  that the user gives us.Sbrillo-renderingWidth of the image, in pixels.Tbrillo-renderingHeight of the image, in pixels.Ubrillo-rendering Pointer to the Raw texture data.Vbrillo-renderingThe OpenGL texture object.Wbrillo-renderingWhether we want to leave this in OpenGL texture memory between frames.3brillo-renderingAbstract Brillo render state which holds references to textures loaded into the GPU context.Xbrillo-renderingWhether to use colorYbrillo-rendering$Whether to force wireframe mode onlyZbrillo-renderingWhether to use alpha blending[brillo-renderingWhether to use line smoothing\brillo-rendering,Cache of Textures that we've sent to OpenGL.4brillo-renderingA mutable render state holds references to the textures currently loaded into the OpenGL context. To ensure that textures are cached in GPU memory, pass the same 3 each time you call displayPicture or  renderPicture.3]ZX[\Y4Q^RSTUVW  Safe-Inferred% _brillo-rendering VectorFont is a map from Char to VFGlyph`brillo-renderingVFGlyph: is the symbol's width, plus the strokes needed to draw itabrillo-renderingVFStroke0 is a series of points joined by straight lines.bbrillo-renderingGiven a  VectorFont and a String , return * Right strokes if the String can be rendered. * Left error otherwise.cbrillo-renderingLike  T.sequence but gives all the Lefts if any existdbrillo-renderingLike render7, but replaces unknown characters with a question mark.It is guaranteed to render something, and thus useful if you want to ignore the possibility of errors e.g. because you're manually checking the output.ebrillo-rendering This is the ? from canvastextFont(, duplicated here to avoid constraining canvastextFont to contain ?fbrillo-renderingGiven a set of strokes, try to optimize their order and direction: * Fewer strokes * Smaller gaps between strokes * Left-most starting position * Bottom-most starting positionThis improves the fonts where no thought has been given to this. However, hand-tweaking is still better.gbrillo-rendering:Based on Hershey font and includes following characters: !"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ []^_`abcdefghijklmnopqrstuvwxyz{|}~ _hia`bdfg  Safe-Inferred(5brillo-rendering1Render a picture into the current OpenGL context..Assumes that the OpenGL matrix mode is set to  Modelviewjbrillo-renderingLoad a texture into the OpenGL context, or retrieve the existing handle from our own cache.kbrillo-renderingInstall a texture into the OpenGL context, returning the new texture handle.lbrillo-rendering"If this texture does not have its cacheMe? flag set then delete it from OpenGL and free the GPU memory.mbrillo-renderingTurn alpha blending on or offnbrillo-renderingTurn line smoothing on or off5brillo-renderingCurrent rendering state.brillo-renderingView port scale, which controls the level of detail. Use 1.0 to start with.brillo-renderingPicture to render.jbrillo-renderingExisting texture cache.brillo-rendering Texture data.brillo-rendering&Force cache for newly loaded textures.5 Safe-Inferred,6brillo-renderingSet up the OpenGL context, clear the buffer, and render the given picture into it.This is the same as 5 composed with 1 and 2. If you want to manage your own OpenGL context then you can just call 5.Using this function assumes that you've already opened a window and set that to the active context. If you don't want to do your own window management then use the brillo package instead.6brillo-renderingWindow width and height.brillo-renderingColor to clear the window with.brillo-renderingCurrent rendering state.brillo-renderingView port scale, which controls the level of detail. Use 1.0 to start with.brillo-renderingPicture to draw.7 "!#$%&)('   *+,-./06512437 "!#$%&)('   *+,-./0651243   !"#$%&'()*+ ,-./0123456789:; < = >?@ABCDEFGHIJKLJKMNOPQRSTUVWXYZ[\]^_` a b c d e f g h i j k l < a m n o p q r s t u v w x y z { |.brillo-rendering-1.13.3-6wvMHusfTxMBtPSFhpnNHwBrillo.Renderingbrillo-renderingBrillo.Internals.Data.Color!Brillo.Internals.Rendering.BitmapBrillo.Internals.Data.Picture Brillo.Internals.Rendering.Color!Brillo.Internals.Rendering.Common!Brillo.Internals.Rendering.Circle Brillo.Internals.Rendering.State%Brillo.Internals.Rendering.VectorFont"Brillo.Internals.Rendering.PictureColor makeColor makeColorI makeRawColor makeRawColorI rgbaOfColor clampColor PixelFormatPxRGBAPxABGRRowOrder TopToBottom BottomToTop BitmapFormatrowOrder pixelFormat BitmapData bitmapSize RectanglerectPosrectSizePictureBlankPolygonLineCircle ThickCircleArcThickArcTextBitmap BitmapSection TranslateRotateScalePicturesPathVectorPointbitmapOfForeignPtrbitmapDataOfForeignPtrbitmapOfByteStringbitmapDataOfByteString bitmapOfBMPbitmapDataOfBMPloadBMP withModelviewwithClearBufferState initState renderPicturedisplayPictureRGBA bitmapPathfreeBitmapDatabitmapDataLength bitmapFormat bitmapCacheMe bitmapPointerbaseGHC.ForeignPtr ForeignPtrghc-prim GHC.TypesFalseTruebytestring-0.11.5.3Data.ByteString.Internal.Type ByteString"bmp-1.2.6.4-L86nmm9lN1CJM6Mwmz7mWHCodec.BMP.BaseBMP rectAtOriginglColor4OfColorgfgsizei circleSteps renderCirclerenderCircleLinerenderCircleStrip renderArc renderArcLinerenderArcStripdegToRadnormalizeAngleTexturetexNametexWidth texHeighttexData texObject texCacheMe stateColorstateWireframestateBlendAlphastateLineSmooth stateTextures VectorFontVFGlyphVFStrokerender leftsOrRights renderSafe fallbackGlyphoptimizeStrokescanvastextFontVFWidthVFPoint loadTextureinstallTexture freeTexture setBlendAlpha setLineSmooth