package Ġcom . inion gun . t iv bible . reader . utils Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Dash Path Effect Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . text . Layout Ċ import Ġandroid . text . style . Line Background Span Ċ import Ġandroid . text . style . Line Height Span Ċ import Ġandroid . widget . TextView ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠI sa ac ĠIn ion gun Ġon Ġ 3 0 / 0 4 / 2 0 2 0 . Ċ Ġ* ĠFor ĠT iv ĠBible Ġproject . Ċ Ġ*/ Ċ Ċ class ĠD ashed Underline Span ( ĊĠĠĠ ĠtextView : ĠTextView , Ġcolor : ĠInt , Ġthickness : ĠFloat , Ġdash Path : ĠFloat , ĊĠĠĠ Ġoffset Y : ĠFloat , Ġspacing Extra : ĠFloat Ċ ) Ġ: ĊĠĠĠ ĠLine Background Span , ĠLine Height Span Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpaint : ĠPaint ĊĠĠĠ Ġprivate Ġval ĠtextView : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġoffset Y : ĠFloat ĊĠĠĠ Ġprivate Ġval Ġspacing Extra : ĠInt ĊĠĠĠ Ġoverride Ġfun Ġchoose Height ( ĊĠĠĠĠĠĠĠ Ġtext : ĠCharSequence ?, Ġstart : ĠInt , Ġend : ĠInt , Ġspan start v : ĠInt , Ġv : ĠInt , ĊĠĠĠĠĠĠĠ Ġfm : ĠPaint . Font Metrics Int ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfm . as cent Ġ-= Ġspacing Extra ĊĠĠĠĠĠĠĠ Ġfm . top Ġ-= Ġspacing Extra ĊĠĠĠĠĠĠĠ Ġfm . desc ent Ġ+= Ġspacing Extra ĊĠĠĠĠĠĠĠ Ġfm . bottom Ġ+= Ġspacing Extra ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Background ( ĊĠĠĠĠĠĠĠ Ġcanvas : ĠCanvas , Ġp : ĠPaint ?, Ġleft : ĠInt , Ġright : ĠInt , Ġtop : ĠInt , Ġbaseline : ĠInt , ĊĠĠĠĠĠĠĠ Ġbottom : ĠInt , Ġtext : ĠCharSequence ?, Ġstart : ĠInt , Ġend : ĠInt , Ġl num : ĠInt ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġline Num Ġ= ĠtextView . line Count ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġline Num ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout : ĠLayout Ġ= ĠtextView . layout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Line ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . getLine Left ( i ), Ġlayout . getLine Bottom ( i ) Ġ- Ġspacing Extra Ġ+ Ġoffset Y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . getLine Right ( i ), Ġlayout . getLine Bottom ( i ) Ġ- Ġspacing Extra Ġ+ Ġoffset Y , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpaint Ġ= ĠPaint () ĊĠĠĠĠĠĠĠ Ġpaint . setColor ( color ) ĊĠĠĠĠĠĠĠ Ġpaint . setStyle ( Paint . Style . ST RO KE ) ĊĠĠĠĠĠĠĠ Ġpaint . set Path Effect ( Dash Path Effect ( float ArrayOf ( dash Path , Ġdash Path ), Ġ 0 f )) ĊĠĠĠĠĠĠĠ Ġpaint . set Stroke Width ( thickness ) ĊĠĠĠĠĠĠĠ Ġthis . textView Ġ= ĠtextView ĊĠĠĠĠĠĠĠ Ġthis . offset Y Ġ= Ġoffset Y ĊĠĠĠĠĠĠĠ Ġthis . spacing Extra Ġ= Ġspacing Extra . toInt () ĊĠĠĠ Ġ} Ċ }