package Ġorg . push ing pixels . aur ora . demo . svg . random Ċ Ċ import Ġandroidx . compose . ui . geometry .* Ċ import Ġandroidx . compose . ui . graphics .* Ċ import Ġandroidx . compose . ui . graphics . draw scope . Draw Scope Ċ import Ġandroidx . compose . ui . graphics . draw scope . Fill Ċ import Ġandroidx . compose . ui . graphics . draw scope . Stroke Ċ import Ġandroidx . compose . ui . graphics . draw scope . clip Rect Ċ import Ġandroidx . compose . ui . graphics . draw scope . translate Ċ import Ġandroidx . compose . ui . graphics . draw scope . with Transform Ċ import Ġandroidx . compose . ui . graphics . p ainter . Painter Ċ import Ġjava . lang . ref . Weak Reference Ċ import Ġjava . util .* Ċ import Ġkotlin . math . min Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġhas Ġbeen Ġautomatically Ġgenerated Ġusing Ċ Ġ* Ġ< a Ġhref =" https :// github . com / kir ill - gro uch nik ov / aur ora "> A ur ora ĠSVG Ġtrans coder </ a >. Ċ Ġ*/ Ċ class Ġpattern Ġ: ĠP ainter () Ġ{ ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") Ġprivate Ġvar Ġshape : ĠOut line ? Ġ= Ġnull ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") Ġprivate Ġvar Ġgeneral Path : ĠPath ? Ġ= Ġnull ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") Ġprivate Ġvar Ġbrush : ĠBr ush ? Ġ= Ġnull ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") Ġprivate Ġvar Ġstroke : ĠSt roke ? Ġ= Ġnull ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") Ġprivate Ġvar Ġclip : ĠShape ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġalpha Ġ= Ġ 1 . 0 f ĊĠĠĠ Ġprivate Ġvar Ġblend Mode Ġ= ĠDraw Scope . Default Blend Mode ĊĠĠĠ Ġprivate Ġvar Ġalpha Stack Ġ= Ġmutable ListOf ( 1 . 0 f ) ĊĠĠĠ Ġprivate Ġvar Ġblend Mode Stack Ġ= Ġmutable ListOf ( Draw Scope . Default Blend Mode ) ĊĊ ĉ private Ġfun Ġ_ paint 0 ( draw Scope Ġ: ĠDraw Scope ) Ġ{ Ċ var Ġshape Text : ĠOut line ? Ċ var Ġgeneral Path Text : ĠPath ? Ġ= Ġnull Ċ var Ġalpha Text Ġ= Ġ 0 . 0 f Ċ var Ġblend Mode Text Ġ= ĠDraw Scope . Default Blend Mode Ċ with ( draw Scope ) Ġ{ Ċ // Ġ Ċ alpha Stack . add ( 0 , Ġalpha ) Ċ alpha Ġ*= Ġ 1 . 0 f Ċ blend Mode Stack . add ( 0 , ĠBlend Mode . Src Over ) Ċ blend Mode Ġ= ĠBlend Mode . Src Over Ċ // Ġ_ 0 Ċ alpha Stack . add ( 0 , Ġalpha ) Ċ alpha Ġ*= Ġ 1 . 0 f Ċ blend Mode Stack . add ( 0 , ĠBlend Mode . Src Over ) Ċ blend Mode Ġ= ĠBlend Mode . Src Over Ċ // Ġ_ 0 _ 0 Ċ shape Ġ= ĠOut line . Rectangle ( rect Ġ= ĠRect ( left Ġ= Ġ 0 . 0 f , Ġtop Ġ= Ġ 0 . 0 f , Ġright Ġ= Ġ 2 0 0 . 0 f , Ġbottom Ġ= Ġ 2 0 0 . 0 f )) Ċ with Transform ({ ĊĠĠĠ Ġif Ġ( shape Ġis ĠOut line . Rectangle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclip Path ( Path (). also Ġ{ Ġit . add Rect (( shape Ġas ĠOut line . Rectangle ). rect ) Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( shape Ġis ĠOut line . Rounded ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclip Path ( Path (). also Ġ{ Ġit . add Round Rect (( shape Ġas ĠOut line . Rounded ). round Rect ) Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( shape Ġis ĠOut line . Generic ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclip Path ( Path (). also Ġ{ Ġit . add Path (( shape Ġas ĠOut line . Generic ). path ) Ġ}) ĊĠĠĠ Ġ} Ċ }) Ġ{ ĊĠĠĠ Ġval Ġrect 2 D Ġ= ĠRect ( left = 0 . 0 f , Ġtop = 0 . 0 f , Ġright = 5 0 . 0 f , Ġbottom = 5 0 . 0 f ) ĊĠĠĠ Ġval Ġt T iled Ġ= ĠMatrix ( values = float ArrayOf ( Ċ 1 . 0 f , Ġ 0 . 0 f , Ġ 0 . 0 f , Ġ 0 . 0 f , Ċ 0 . 0 f , Ġ 1 . 0 f , Ġ 0 . 0 f , Ġ 0 . 0 f , Ċ 0 . 0 f , Ġ 0 . 0 f , Ġ 1 . 0 f , Ġ 0 . 0 f , Ċ 0 . 0 f , Ġ 0 . 0 f , Ġ 0 . 0 f , Ġ 1 . 0 f )) Ċ with Transform ({ transform ( t T iled )} ){ ĊĠĠ Ġvar Ġsrc : ĠOffset ĊĠĠ Ġvar Ġdst : ĠOffset ĊĠĠĠ Ġvar Ġstart X Ġ= Ġrect 2 D . left ĊĠĠĠ Ġval Ġmax X Ġ= Ġwhen ( shape ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rectangle Ġ-> Ġ( shape Ġas ĠOut line . Rectangle ). rect . right ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rounded Ġ-> Ġ( shape Ġas ĠOut line . Rounded ). round Rect . right ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Generic Ġ-> Ġ( shape Ġas ĠOut line . Generic ). path . get Bounds (). right ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 . 0 f ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġmax Y Ġ= Ġwhen ( shape ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rectangle Ġ-> Ġ( shape Ġas ĠOut line . Rectangle ). rect . bottom ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Rounded Ġ-> Ġ( shape Ġas ĠOut line . Rounded ). round Rect . bottom ĊĠĠĠĠĠĠĠ Ġis ĠOut line . Generic Ġ-> Ġ( shape Ġas ĠOut line . Generic ). path . get Bounds (). bottom ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 . 0 f ĊĠĠĠ Ġ} ĊĠĠĠ Ġtile X @ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġstart Y Ġ= Ġrect 2 D . top ĊĠĠĠĠĠĠĠ Ġtile Y @ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate ( left Ġ= Ġstart X , Ġtop Ġ= Ġstart Y ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġshape Tile : ĠOut line ? ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġalpha Tile Ġ= Ġalpha ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġblend Mode Tile Ġ= Ġblend Mode Ċ alpha Tile Ġ= Ġalpha Ġ* Ġ 1 . 0 f Ċ blend Mode Tile Ġ= ĠBlend Mode . Src Over Ċ brush Ġ= ĠSolid Color ( Color ( 1 3 5 , Ġ 2 0 6 , Ġ 2 3 5 , Ġ 2 5 5 )) Ċ shape Tile Ġ= ĠOut line . Rectangle ( rect Ġ= ĠRect ( left Ġ= Ġ 0 . 0 f , Ġtop Ġ= Ġ 0 . 0 f , Ġright Ġ= Ġ 5 0 . 0 f , Ġbottom Ġ= Ġ 5 0 . 0 f )) Ċ draw Outline ( outline Ġ= Ġshape Tile !! , Ġstyle Ġ= ĠFill , Ġbrush = brush !! , Ġalpha Ġ= Ġalpha Tile , Ġblend Mode Ġ= Ġblend Mode Tile ) Ċ alpha Tile Ġ= Ġalpha Ġ* Ġ 1 . 0 f Ċ blend Mode Tile Ġ= ĠBlend Mode . Src Over Ċ brush Ġ= ĠBr ush . linear Gradient ( 0 . 0 5 f Ġto ĠColor ( 2 5 5 , Ġ 0 , Ġ 0 , Ġ 2 5 5 ), Ġ 0 . 9 5 f Ġto ĠColor ( 2 5 5 , Ġ 1 6 5 , Ġ 0 , Ġ 2 5 5 ), Ġstart Ġ= ĠOffset ( 0 . 0 f , Ġ 0 . 0 f ), Ġend Ġ= ĠOffset ( 0 . 0 f , Ġ 2 5 . 0 f ), Ġtile Mode Ġ= ĠTile Mode . Clamp ) Ċ shape Tile Ġ= ĠOut line . Rectangle ( rect Ġ= ĠRect ( left Ġ= Ġ 0 . 0 f , Ġtop Ġ= Ġ 0 . 0 f , Ġright Ġ= Ġ 2 5 . 0 f , Ġbottom Ġ= Ġ 2 5 . 0 f )) Ċ draw Outline ( outline Ġ= Ġshape Tile !! , Ġstyle Ġ= ĠFill , Ġbrush = brush !! , Ġalpha Ġ= Ġalpha Tile , Ġblend Mode Ġ= Ġblend Mode Tile ) Ċ alpha Tile Ġ= Ġalpha Ġ* Ġ 1 . 0 f Ċ blend Mode Tile Ġ= ĠBlend Mode . Src Over Ċ alpha Tile Ġ= Ġalpha Ġ* Ġ 1 . 0 f Ċ blend Mode Tile Ġ= ĠBlend Mode . Src Over Ċ brush Ġ= ĠBr ush . linear Gradient ( 0 . 0 5 f Ġto ĠColor ( 2 5 5 , Ġ 2 5 5 , Ġ 2 5 5 , Ġ 1 2 8 ), Ġ 0 . 9 5 f Ġto ĠColor ( 0 , Ġ 0 , Ġ 2 5 5 , Ġ 1 2 8 ), Ġstart Ġ= ĠOffset ( 5 . 0 f , Ġ 5 . 0 f ), Ġend Ġ= ĠOffset ( 4 5 . 0 f , Ġ 5 . 0 f ), Ġtile Mode Ġ= ĠTile Mode . Clamp ) Ċ shape Tile Ġ= ĠOut line . Generic ( path Ġ= ĠPath (). also Ġ{ Ġit . add O val ( oval = Rect ( left Ġ= Ġ 5 . 0 f , Ġtop Ġ= Ġ 5 . 0 f , Ġright Ġ= Ġ 4 5 . 0 f , Ġbottom Ġ= Ġ 4 5 . 0 f )) }) Ċ draw Outline ( outline Ġ= Ġshape Tile !! , Ġstyle Ġ= ĠFill , Ġbrush = brush !! , Ġalpha Ġ= Ġalpha Tile , Ġblend Mode Ġ= Ġblend Mode Tile ) Ċ alpha Tile Ġ= Ġalpha Ġ* Ġ 1 . 0 f Ċ blend Mode Tile Ġ= ĠBlend Mode . Src Over ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Y Ġ+= Ġrect 2 D . height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc Ġ= ĠOffset ( x Ġ= Ġstart X , Ġy Ġ= Ġstart Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdst Ġ= Ġt T iled . map ( src ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dst . y Ġ> Ġmax Y ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak @ tile Y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstart X Ġ+= Ġrect 2 D . width ĊĠĠĠĠĠĠĠ Ġsrc Ġ= ĠOffset ( x Ġ= Ġstart X , Ġy Ġ= Ġstart Y ) ĊĠĠĠĠĠĠĠ Ġdst Ġ= Ġt T iled . map ( src ) ĊĠĠĠĠĠĠĠ Ġif Ġ( dst . x Ġ> Ġmax X ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak @ tile X ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ } Ċ brush Ġ= ĠSolid Color ( Color ( 0 , Ġ 0 , Ġ 0 , Ġ 2 5 5 )) Ċ stroke Ġ= ĠSt roke ( width = 1 . 0 f , Ġcap = Stroke Cap . But t , Ġjoin = Stroke Join . M iter , Ġm iter = 4 . 0 f ) Ċ shape Ġ= ĠOut line . Rectangle ( rect Ġ= ĠRect ( left Ġ= Ġ 0 . 0 f , Ġtop Ġ= Ġ 0 . 0 f , Ġright Ġ= Ġ 2 0 0 . 0 f , Ġbottom Ġ= Ġ 2 0 0 . 0 f )) Ċ draw Outline ( outline Ġ= Ġshape !! , Ġstyle Ġ= Ġstroke !! , Ġbrush = brush !! , Ġalpha Ġ= Ġalpha , Ġblend Mode Ġ= Ġblend Mode ) Ċ alpha Ġ= Ġalpha Stack . remove At ( 0 ) Ċ blend Mode Ġ= Ġblend Mode Stack . remove At ( 0 ) Ċ alpha Ġ= Ġalpha Stack . remove At ( 0 ) Ċ blend Mode Ġ= Ġblend Mode Stack . remove At ( 0 ) Ċ Ċ } Ċ } ĊĊĊĊĠĠĠ Ġprivate Ġfun Ġinner Paint ( draw Scope : ĠDraw Scope ) Ġ{ ĊĉĠĠĠ Ġ_ paint 0 ( draw Scope ) ĊĊ ĊĉĠĠĠ Ġshape Ġ= Ġnull ĊĉĠĠĠ Ġgeneral Path Ġ= Ġnull ĊĉĠĠĠ Ġbrush Ġ= Ġnull ĊĉĠĠĠ Ġstroke Ġ= Ġnull ĊĉĠĠĠ Ġclip Ġ= Ġnull ĊĉĠĠĠ Ġalpha Ġ= Ġ 1 . 0 f Ċ ĉ } ĊĉĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġthe ĠX Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe ĠX Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Orig X (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġthe ĠY Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe ĠY Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Orig Y (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġthe Ġwidth Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe Ġwidth Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Orig Width (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 2 0 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġthe Ġheight Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠThe Ġheight Ġof Ġthe Ġbounding Ġbox Ġof Ġthe Ġoriginal ĠSVG Ġimage . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġget Orig Height (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 2 0 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} Ċ ĊĠĠĠĠĠĠĠĠĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġintr insic Size : ĠSize ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠSize . Unspecified ĊĊĠĠĠ Ġoverride Ġfun ĠDraw Scope . on Draw () Ġ{ ĊĠĠĠĠĠĠĠ Ġclip Rect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġthe Ġoriginal Ġicon Ġbounding Ġbox Ġand Ġthe Ġcurrent Ġicon Ġdimension Ġto Ġcompute ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġscaling Ġfactor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfull Orig Width Ġ= Ġget Orig X () Ġ+ Ġget Orig Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfull Orig Height Ġ= Ġget Orig Y () Ġ+ Ġget Orig Height () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoef 1 Ġ= Ġsize . width Ġ/ Ġfull Orig Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoef 2 Ġ= Ġsize . height Ġ/ Ġfull Orig Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoef Ġ= Ġmin ( coef 1 , Ġcoef 2 ). toFloat () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġthe Ġoriginal Ġicon Ġbounding Ġbox Ġand Ġthe Ġcurrent Ġicon Ġdimension Ġto Ġcompute ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthe Ġoffset Ġpivot Ġfor Ġthe Ġscaling ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠtranslateX Ġ= Ġ- get Orig X () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠtranslateY Ġ= Ġ- get Orig Y () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coef 1 Ġ!= Ġcoef 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coef 1 Ġ< Ġcoef 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Dy Ġ= Ġ(( full Orig Width Ġ- Ġfull Orig Height ) Ġ/ Ġ 2 . 0 f ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtranslateY Ġ+= Ġextra Dy ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġextra Dx Ġ= Ġ(( full Orig Height Ġ- Ġfull Orig Width ) Ġ/ Ġ 2 . 0 f ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtranslateX Ġ+= Ġextra Dx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtranslateX Dp Ġ= ĠtranslateX . toFloat (). to Dp (). value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtranslateY Dp Ġ= ĠtranslateY . toFloat (). to Dp (). value ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġcombined Ġscale Ġ+ Ġtranslate Ġ+ Ġclip Ġtransform Ġbefore Ġcalling Ġthe Ġtrans coded Ġpaint ing Ġinstructions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Transform ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale ( scale X Ġ= Ġcoef , Ġscale Y Ġ= Ġcoef , Ġpivot Ġ= ĠOffset . Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate ( translate X Dp , ĠtranslateY Dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclip Rect ( left Ġ= Ġ 0 . 0 f , Ġtop Ġ= Ġ 0 . 0 f , Ġright Ġ= Ġfull Orig Width . toFloat (), Ġbottom Ġ= Ġfull Orig Height . toFloat (), Ġclip Op Ġ= ĠClip Op . Intersect ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinner Paint ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ