package Ġstructure . bw Elements Ċ Ċ import Ġjava . io . Serializable ĊĊ Ċ /** Ċ Ġ* ĠColor Ġin Ġthe Ġvalues Ġ 0 - 2 5 5 Ġfor Ġrgb , Ġ 0 - 1 Ġfor Ġ 1 Ċ Ġ*/ Ċ data Ġclass ĠColor ( val Ġred : ĠDouble , Ġval Ġgreen : ĠDouble , Ġval Ġblue : ĠDouble , Ġvar Ġalpha : ĠDouble Ġ= Ġ 2 5 5 . 0 ): Serializable { ĊĠĠĠ Ġconstructor ( single Color : Ġjava . awt . Color ): this ( single Color . red . toDouble (), Ġsingle Color . green . toDouble (), Ġsingle Color . blue . toDouble ()) ĊĠĠĠ Ġoperator Ġfun Ġplus ( c : ĠColor ): ĠColor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠColor ( red Ġ+ Ġc . red , Ġgreen Ġ+ Ġc . green , Ġblue Ġ+ Ġc . blue , Ġalpha Ġ+ Ġc . alpha ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoperator Ġfun Ġminus ( c : ĠColor ): ĠColor { ĊĠĠĠĠĠĠĠ Ġreturn ĠColor ( red Ġ- Ġc . red , Ġ Ġgreen Ġ- Ġc . green , Ġblue Ġ- Ġc . blue , Ġalpha Ġ- Ġc . alpha ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoperator Ġfun Ġtimes ( fac : ĠDouble ): ĠColor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠColor ( red Ġ* Ġfac , Ġgreen Ġ* Ġfac , Ġblue Ġ* Ġfac , Ġalpha * fac ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Ne List (): ĠList < Double > Ġ= ĠlistOf ( red / 2 5 5 , green / 2 5 5 , blue / 2 5 5 , alpha / 2 5 5 ) ĊĠĠĠ Ġfun Ġto List (): ĠList < Double > Ġ= ĠlistOf ( red , green , blue , alpha ) Ċ } Ċ