>7-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc d e f g h i j k l m n o p q r s t u v w x y z { | } ~  GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None        GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None"+normal rendering data struture for hoodle ! container for page is IntMap  page is RPage #*normal rendering data structure for page @ background is RBackground and container for layer is IntMap  and layer is RLayer $;normal rendering data structure for layer, R for rendering 1 buffer is Surface, container for item = list % and StrokeBBox as contained items ('project to simple Layer out of RLayer )$project to simple Page out of RPage *)project to simple Hoodle out of RHoodle  !"#$%&'()*  !"#$%&'()* %&$#"'()* !  !"#$%&'()*GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None+,+,+,+,GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None-./0123456789:;<=>?@A-./0123456789:;<=>?@A9;:67834521<=>?0-./@A -./0123456789;:<=>?@AGHC experimental!Ian-Woo Kim <ianwookim@gmail.com>NoneB&hit test of whether a point in a bbox ! previously, hitTestBBoxPoint C(hit test of whether two lines intersect Dpreviously, hitTestLineStroke E1Do two bounding boxes intersect with each other?  previously, hitTestBBoxBBox F*is the second bbox inside the first bbox? ! previously, hitTestInsideBBox H,highlight strokes filtered by a condition.  previously mkHitTestAL K2only check if a line and bbox of item overlapped Bpoint Cline1 line2 DEF 1st bbox  2nd bbox Ghit test condition strokes to test Hhit test condition strokes to test Itest bounding box items to test JKline items to test LMNOPBCDEFGHIJKLMNOPBCDEFGHIJKLMNOPBCDEFGHIJKLMNOPGHC experimental!Ian-Woo Kim <ianwookim@gmail.com>NoneQRSTUVWXYZ[\]^_`QRSTUVWXYZ[\]^_`[ZYUVWXTS\]RQ^_` QRSTUVWXYZ[\]^_`GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None;  !"#$%&'()*QRSTUVWXYZ[\]^_`GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>Noneabababab GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>Nonedrender items highlighted cdcdcdcd GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>Noneeconstruct renderable item eeee GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>Nonefdraw ruling all gdraw ruling in bbox fgfgfgfg GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None irender stroke jrender image k render item l*render background without any constraint nrender Background in BBox q/render only bounding box of a StrokeBBox u/render only bounding box of a StrokeBBox vrender background without pdf wbackground drawing in bbox x.render RLayer within BBox after hittest items y"Background rendering using buffer hijklmnopqrstuvwxyz{|}~hijklmnopqrstuvwxyz{|}~hijlkmnopvxwqrstuyz{|}~hijklmnopqrstuvwxyz{|}~ GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None  !"#$%&'()*+,,--./011234567889:;<==>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]]^_`abcdefghi j k l m n o p q r s t u v w x y z { | } ~         hoodle-render-0.1&Graphics.Hoodle.Render.Type.Background Graphics.Hoodle.Render.Type.Item"Graphics.Hoodle.Render.Type.HoodleGraphics.Hoodle.Render.Util#Graphics.Hoodle.Render.Type.HitTest#Graphics.Hoodle.Render.Util.HitTest"Graphics.Hoodle.Render.Type.Select Graphics.Hoodle.Render.Primitive Graphics.Hoodle.Render.HighlightGraphics.Hoodle.Render.Item!Graphics.Hoodle.Render.BackgroundGraphics.Hoodle.RenderGraphics.Hoodle.Render.GenericGraphics.Hoodle.Render.TypeRBkgOptRBkgDrawPDFInBBoxRBkgDrawBuffer RBkgDrawWhite RBkgDrawPDF RBackgroundRBkgPDF rbkg_domain rbkg_filename rbkg_pagenorbkg_popplerpageRBkgSmpl rbkg_color rbkg_stylerbkg_cairosurfaceContext ctxt_domain ctxt_filenamectxt_docrbkg2Bkgbkg2RBkgRItem RItemImage RItemStroke isStrkInRItem isImgInRItemfindStrkInRItemfindImgInRItem rItem2Item InBBoxOptionInBBoxRHoodleRPageRLayerLyBuf emptyRLayer rLayer2Layer rPage2PagerHoodle2HoodleclipBBox clearBBoxTEitherAlterHittedunTEitherAlterHitted TAlterHitted RItemHitted StrokeHittedHittedunHitted NotHitted unNotHitted AlterList:-EmptyfmapALgetAgetB interleave takeHitted isAnyHitted isPointInBBoxdo2LinesIntersectdoesLineHitStrkdo2BBoxIntersectisBBox2InBBox1hltFilteredBy_StateT hltFilteredByhltHittedByBBoxhltEmbeddedByBBoxhltHittedByLineRoughhltItmsHittedByLine_StateT%hltItmsHittedByLineFrmSelected_StateT elimHittedmerge getTotalBBoxHHoodleHPageHLayerHLayersHLayersFhlyrt_selectedLayerhlyrt_otherLayersBufOfItmOfSLayerF selectedLayer otherLayers hLayer2RLayer hPage2RPagemkHPagedrawStrokeCurvedrawVWStrokeCurverenderStrkHltdrenderRItemHltd cnstrctRItem drawRulingdrawRuling_InBBoxrenderRBkg_Dummy renderStrk renderImg renderItem renderBkg renderPagerenderBkg_InBBox renderRBkg renderRItemrenderStrkBBx_BBoxOnlyrenderImgBBx_BBoxOnlyrenderRItem_BBoxOnlyrenderRLayer_BBoxOnlyrenderRPage_BBoxOnlyrenderRBkg_NoPDFrenderRBkg_InBBoxrenderRLayer_InBBoxrenderRBkg_BufrenderRLayer_InBBoxBufupdateLayerBuf updatePageBufupdateHoodleBufcnstrctRHoodlecnstrctRPage_StateT cnstrctRLayercnstrctRBkg_StateTStrokeBBoxOption DrawBoxOnlyDrawFullRenderOptionable RenderOptioncairoRenderOption Renderable cairoRendercairoOptionPage$fBBoxableRItem$fRenderOptionableInBBox$fRenderOptionableGPage$fRenderOptionableInBBox0$fRenderOptionableGLayer$fRenderOptionable(,)$fRenderOptionableStrokeBBox$fRenderOptionableStroke$fRenderOptionable(,)0$fRenderableGLayer$fRenderableStrokeBBox$fRenderableStroke$fRenderable(,)