/* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDe fl ated Pick le Ġunder Ġthe ĠMIT Ġlicense Ġ*/ Ċ Ċ package Ġcom . def lated pickle . h anger chan Ċ Ċ import Ġjava . awt . Component Ċ import Ġjava . awt . Graphics Ċ import Ġjava . awt . Graphics 2 D Ċ import Ġjava . awt . Image Ċ import Ġjavax . swing . Image Icon Ċ Ċ /** Ċ Ġ* ĠAn Ġ< code > Image Icon </ code > Ġthat Ġcan Ġbe Ġscaled Ċ Ġ*/ Ċ class ĠScal able Image Icon ( image : ĠImage ) Ġ: ĠImage Icon ( image ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHow Ġmuch Ġto Ġscale Ġthe Ġimage Ġby Ġon Ġthe ĠX Ġaxis ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġx Scale : ĠDouble Ġ= Ġ 1 . 0 ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHow Ġmuch Ġto Ġscale Ġthe Ġimage Ġby Ġon Ġthe ĠY Ġaxis ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġy Scale : ĠDouble Ġ= Ġ 1 . 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ{@ inheritDoc } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġpaint Icon ( c : ĠComponent , Ġg : ĠGraphics , Ġx : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg 2 Ġ= Ġg . create () Ġas ĠGraphics 2 D ĊĠĠĠĠĠĠĠ Ġg 2 . translate ( if Ġ( x Scale Ġ< Ġ 0 . 0 ) Ġicon Width Ġ* Ġ- x Scale Ġelse Ġ 0 . 0 , Ġif Ġ( y Scale Ġ< Ġ 0 . 0 ) Ġicon Height Ġ* Ġ- y Scale Ġelse Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġg 2 . scale ( x Scale , Ġy Scale ) ĊĠĠĠĠĠĠĠ Ġsuper . paint Icon ( c , Ġg 2 , Ġx , Ġy ) ĊĠĠĠ Ġ} Ċ } Ċ