úÎ%X8      !"#$%&'()*+,-./01234567 Safe-Inferred 89:;<=>?@AB9>?@AB 89:;<=>?@ABNoneEventQueue is a STM channel (C) of  s.  Intentionally,  is not abstract. ( mirrors event names from jquery, where 'map toLower (show name)' gives  the jquery event name. D@When an event is sent to the application, it always has a name. ;Basic Event from Browser, the code is event-type specific.  DE FGHI DE GH  DE  FGHINoneD is our abstact handle into a specific 2d-context inside a browser. 5 gets the raw event queue for a specific event type. J2internal command to send a message to the canvas. KLMNOJKLMNOJKLMNOJNonesize of the canvas Aread a specific event; wait for it if the event is not in queue. Gread a specific event; or return Nothing if the event is not in queue. -PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx*PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu Pnmlkjihgfedcba`_^]\[ZYXWVUTSRQsrqpotuvwxNonesends command (JS) unchanged  !"#$%&'()*+,-./01234y !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234yNone57blankCanvas is the main entry point into blank-canvas.  A typical invocation would be module Main where  import Graphics.Blank  *main = blankCanvas 3000 $ \ context -> do  send context $ do  moveTo(50,50)  lineTo(200,100)  lineWidth 10 " strokeStyle "red"  stroke()  6hsimilar to blankCanvas but takes extra dataDir, performLogging, extraPathElements (to be stripped) args 77Sends a set of Canvas commands to the canvas. Attempts , to common up as many commands as possible. 5678  !"#$%&'()*+,-./012345678567 !"#$%&'()*+,-./01234  567z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxVyz{|}~null-canvas-0.2.5Graphics.BlankPaths_null_canvasGraphics.Blank.EventsGraphics.Blank.ContextGraphics.Blank.CanvasGraphics.Blank.Generated EventQueue EventNameMouseUp MouseOverMouseOut MouseMove MouseEnter MouseDownKeyUpKeyDownKeyPressEventjsCodejsMousereadEventQueuetryReadEventQueueContexteventsCanvassize readEvent tryReadEventarc beginPath bezierCurveTo clearRect closePathcustomfillfillRect fillStylefillTextfont globalAlphalineCaplineJoinlineTo lineWidth miterLimitmoveTorestorerotatescalesavestroke strokeRect strokeText strokeStyle textAlign textBaseline transform translate blankCanvasblankCanvasParamssendcatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName stm-2.4.2Control.Concurrent.STM.TChanTChan NamedEvent namedEventDBwriteEventQueue newEventQueue$fFromJSONNamedEvent sendToCanvastheSizetheDraw eventHandle sessionNoCommand Translate Transform TextBaseline TextAlign StrokeStyle StrokeText StrokeRectStrokeSaveScaleRotateRestoreMoveTo MiterLimit LineWidthLineToLineJoinLineCap GlobalAlphaFontFillText FillStyleFillRectFillCustom ClosePath ClearRect BezierCurveTo BeginPathArcSizeGetReturnBindshowJshowB$fFunctorCanvas$fApplicativeCanvas $fMonadCanvas $fShowCommand