package Ġcom . github . func zz . kotlin . extensions . swing . bg _ image _ p ainter Ċ Ċ import Ġjava . awt . Component Ċ import Ġjava . awt . Graphics Ċ import Ġjava . awt . Image Ċ import Ġjava . awt . Rectangle Ċ Ċ /** Ċ Ġ* ĠãĤ ¿ ãĤ¤ãĥ« è¡¨ç¤º Ċ Ġ*/ Ċ object ĠTile Bg Image Painter Ġ: ĠI Bg Image Painter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ= Ġ" tile " ĊĊĠĠĠ Ġoverride Ġfun ĠgetInstance (): ĠI Bg Image Painter Ġ= Ġthis ĊĊĠĠĠ Ġprivate Ġvar Ġrect Ġ= ĠRectangle () ĊĊĠĠĠ Ġoverride Ġfun Ġpaint ( c : ĠComponent , Ġg : ĠGraphics , Ġimage : ĠImage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage Width Ġ= Ġimage . getWidth ( c ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Height Ġ= Ġimage . getHeight ( c ) ĊĠĠĠĠĠĠĠ Ġif Ġ( image Width Ġ<= Ġ 0 Ġ|| Ġimage Height Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġc . size ĊĠĠĠĠĠĠĠ Ġval Ġclip Ġ= Ġg . clip ĊĊĠĠĠĠĠĠĠ Ġvar Ġy Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( y Ġ< Ġsize . getHeight ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġx Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( x Ġ< Ġsize . getWidth ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrect . setBounds ( x , Ġy , Ġimage Width , Ġimage Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clip . intersect s ( rect )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg . drawImage ( image , Ġx , Ġy , Ġc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ+= Ġimage Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ+= Ġimage Height ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }