/* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDe fl ated Pick le Ġunder Ġthe ĠMIT Ġlicense Ġ*/ Ċ Ċ package Ġcom . def lated pickle . raw ky . tool Ċ Ċ import Ġcom . def lated pickle . raw ky . component . Pixel Grid Ċ import Ġcom . def lated pickle . raw ky . component . Toolbox Ċ import Ġcom . def lated pickle . raw ky . util . Components Ċ import Ġcom . def lated pickle . raw ky . util . Use ful Values Ċ import Ġjava . awt . Basic Stroke Ċ import Ġjava . awt . Color Ċ import Ġjava . awt . Graphics 2 D Ċ import Ġjava . awt . Image Ċ import Ġjavax . swing . Icon Ċ import Ġjavax . swing . Image Icon Ċ Ċ abstract Ġclass ĠHover Outline Tool ( ĊĠĠĠ Ġval Ġsettings : ĠClass < *> ?, ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġicon List : ĠList < Image Icon >, ĊĠĠĠ Ġselected : ĠTool box . Group ? Ġ= Ġnull Ċ ) Ġ: ĠTool ( name , Ġicon List , Ġselected ) Ġ{ ĊĠĠĠ Ġval Ġoutline Size Ġ= Ġ 1 ĊĠĠĠ Ġval Ġoutline Stroke Ġ= ĠBasic Stroke ( outline Size . toFloat ()) ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( g 2 D : ĠGraphics 2 D ) Ġ{ ĊĠĠĠĠĠĠĠ Ġg 2 D . color Ġ= ĠColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUseful Values . current Colour . red , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUseful Values . current Colour . green , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUseful Values . current Colour . blue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Grid . Settings . hover Opacity ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġwith ( g 2 D . stroke ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 D . stroke Ġ= Ġoutline Stroke ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( row Ġin Ġ 0 Ġuntil ĠPixel Grid . preview Rectangle Matrix . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( column Ġin Ġ 0 Ġuntil ĠPixel Grid . preview Rectangle Matrix [ row ]. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrectangle Ġ= ĠPixel Grid . preview Rectangle Matrix [ row ][ column ]. polygon ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Pixel Grid . preview Rectangle Matrix [ row ][ column ]. colour . rgb Ġ!= ĠPixel Grid . default Colour (). rgb Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPixel Grid . preview Rectangle Matrix [ row ][ column ]. colour . alpha Ġ!= ĠPixel Grid . default Colour (). alpha ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Pixel Grid . Shape . points Ġ== Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rectangle Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( rectangle . bounds ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 D . draw ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 D . draw Polygon ( rectangle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 D . stroke Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ