:5P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOShort description(c) Francesco Gazzetta, 2016MITfrancygazz@gmail.com experimentalNone)Datatype representing all possible inputsThe three mouse buttons The four key modifiers%The state of a button on the keyboardBConvert a js mouse button identifier to the corresponding datatype&Convert a bool (from js) to a keystate       Short description(c) Francesco Gazzetta, 2016MITfrancygazz@gmail.com experimentalNone 6How big (and how stretched/cropped) the Image is drawnThe orizinal size of the image'Scale the image to the given dimensions GClip the image from the given coordinates to the given width and height!;Clip (x,y,width,height) and scale (width, height) the image"Just a wrapper around the P$ type. Needed for the Show instance.%"Makes an image element from an URL  !"#$Q%&  !"#$% % !"#$ !"#$Q%&Short description(c) Francesco Gazzetta, 2016MITfrancygazz@gmail.com experimentalNone*.A drawable element. All Pictures are centered.+!The empty picture. Draws nothing.,A rectangle from the dimensions-Same thing but filled.)A line from the coordinates of two points/!A polygon from a list of vertices0An arc from the radius, start angle, end angle. If the last parameter is True, the direction is counterclockwise TODO replace with Clockwise | Counterclockwise or remove entirely1A filled circle from the radius2Draws some text. The R S is the optional max width.3Draws an image4Draws the second * over the first5 Applies the 8h to the picture. Innermost colors have the precedence, so you can set a "global color" and override it6 Rotates the Picture (in radians)70Moves the Picture by the given x and y distances8AA color given r, g, b (all from 0 to 255) and alpha (from 0 to 1):How the text should be aligned>Js-style font, ex.  "12px Sans"?/A circle from the center coordinates and radius@#Shorthand to draw a series of linesA*s are Ts. The identity is an + (completely transparent) picture and the composing function is the overlapping (the right picture is drawn over the left one).*+,-./0123456789:;<=>?@A*2+3,-./01456789:;<=>?@*+,-./0123456789:;<=>?@* +,-./0123456789:;<=>?@AShort description(c) Francesco Gazzetta, 2016MITfrancygazz@gmail.com experimentalNoneH"Renders a picture on a 2D context.HHHHShort description(c) Francesco Gazzetta, 2016MITfrancygazz@gmail.com experimentalNoneI$Get a context from a canvas element.JCreate a full screen canvasK/Create a fixed size canvas given the dimensionsL.Draws a picture which depends only on the timeM]Draws a picture which depends only on the time... and everything else, since you can do I/O.NLets you manage the input.OSame thing with I/O Ithis must be a canvasUJKLthe context to draw onFPSYour drawing functionMthe context to draw onFPSYour drawing functionVWNthe context to draw onFPS Initial stateDrawing functionInput handling functionStepping functionOthe context to draw onFPS Initial stateDrawing functionInput handling functionStepping functionIJKLMNOIJKLMNO IUJKLMVWNOX       !"#$%&'(()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\X]^_`a$shine-0.2.0.0-JOcbZwLUz59ArwvxgjFBtSGraphics.Shine.PictureGraphics.Shine.InputGraphics.Shine.ImageGraphics.Shine.RenderGraphics.Shinebase Data.Monoid<>InputKeyboardMouseBtn MouseWheel MouseMoveBtnLeftBtnRight BtnMiddle ModifiersctrlaltshiftmetaKeyStateDownUp toMouseBtn toKeyState$fShowKeyState $fEqKeyState$fShowModifiers $fEqModifiers$fShowMouseBtn $fEqMouseBtn $fShowInput $fEqInput ImageSizeOriginal StretchedClippedClippedStretched ImageData unImageData makeImage$fShowImageData $fEqImageData $fEqImageSize$fShowImageSizePictureEmptyRectRectFLinePolygonArcCircleFTextImageOverColoredRotate TranslateColor TextAlignment LeftAlign CenterAlign RightAlignFontcirclepath$fMonoidPicture$fEqTextAlignment$fShowTextAlignment $fEqColor $fShowColor $fEqPicture $fShowPicturerender toContextfullScreenCanvasfixedSizeCanvasanimate animateIOplayplayIO.ghcjs-dom-jsffi-0.9.0.0-6t2PrH1PMRWCZXxeL1bCrFGHCJS.DOM.TypesHTMLImageElement js_newImageGHC.BaseMaybeghc-prim GHC.TypesDoubleMonoidcustomAttributesCanvasgetModifiersMousegetModifiersKeyboard