@Z8      !"#$%&'()*+,-./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>Nonehrender stroke irender image j render item k*render background without any constraint mrender Background in BBox pbackground drawing in bbox q.render RLayer within BBox after hittest items r"Background rendering using buffer hijklmnopqrstuvwxyzhijklmnopqrstuvwxyzhikjlmnoqprstuvyzxwhijklmnopqrstuvwxyz GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>None|render background without pdf }/render only bounding box of a StrokeBBox /render only bounding box of a StrokeBBox {|}~ mrs{|}~ {m|}~rs{|}~GHC experimental!Ian-Woo Kim <ianwookim@gmail.com>Nonetemporary util   !"#$%&'()*+,--../012234567899:;<=>>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghij k l m n o p q r s t u v w x y z { | } ~  hoodle-render-0.2&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.DebugGraphics.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_InBBox renderStrk renderImg renderItem renderBkg renderPagerenderBkg_InBBox renderRBkg renderRItemrenderRBkg_InBBoxrenderRLayer_InBBoxrenderRBkg_BufrenderRLayer_InBBoxBufupdateLayerBuf updatePageBufupdateHoodleBufcnstrctRHoodlecnstrctRPage_StateT cnstrctRLayercnstrctRBkg_StateTrenderRBkg_DummyrenderRBkg_NoPDFrenderStrkBBx_BBoxOnlyrenderImgBBx_BBoxOnlyrenderRItem_BBoxOnlyrenderRLayer_BBoxOnlyrenderRPage_BBoxOnlyStrokeBBoxOption DrawBoxOnlyDrawFullRenderOptionable RenderOptioncairoRenderOption Renderable cairoRenderpassargcairoOptionPage$fBBoxableRItem$fRenderOptionableInBBox$fRenderOptionableGPage$fRenderOptionableInBBox0$fRenderOptionableGLayer$fRenderOptionable(,)$fRenderOptionableStrokeBBox$fRenderOptionableStroke$fRenderOptionable(,)0$fRenderableGLayer$fRenderableStrokeBBox$fRenderableStroke$fRenderable(,)