/* Ċ Ġ* Ġ ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠSer ge y ĠKom l ach Ġa ka ĠSal at - Cx 6 5 ; ĠOriginal Ġproject : Ġhttps :// github . com / Sal at - Cx 6 5 / Advanced Bio metric Prompt Compat Ċ Ġ* Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* ĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġdev . sk om l ach . bio metric . compat . utils . status bar Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroidx . core . graphics . Color Utils Ċ Ċ /** Ċ Ġ* ĠCommon Ġcolor Ġutilities . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ[ Geo Soft ]( mailto : info @ ge oso ft . no ) Ċ Ġ*/ Ċ Ċ object ĠColor Util Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBlend Ġtwo Ġcolors . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor 1 ĠFirst Ġcolor Ġto Ġblend . ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor 2 ĠSecond Ġcolor Ġto Ġblend . ĊĠĠĠĠ Ġ* Ġ@ param Ġratio Ġ ĠBlend Ġratio . Ġ 0 . 5 Ġwill Ġgive Ġeven Ġblend , Ġ 1 . 0 Ġwill Ġreturn ĊĠĠĠĠ Ġ* Ġcolor 1 , Ġ 0 . 0 Ġwill Ġreturn Ġcolor 2 Ġand Ġso Ġon . ĊĠĠĠĠ Ġ* Ġ@ return ĠB len ded Ġcolor . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġblend ( color 1 : ĠInt , Ġcolor 2 : ĠInt , Ġratio : ĠDouble ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġratio . toFloat () ĊĠĠĠĠĠĠĠ Ġval Ġir Ġ= Ġ 1 . 0 . toFloat () Ġ- Ġr ĊĠĠĠĠĠĠĠ Ġreturn ĠColor . arg b ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . alpha ( color 1 ) Ġ* Ġr Ġ+ ĠColor . alpha ( color 2 ) Ġ* Ġir ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . red ( color 1 ) Ġ* Ġr Ġ+ ĠColor . red ( color 2 ) Ġ* Ġir ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . green ( color 1 ) Ġ* Ġr Ġ+ ĠColor . green ( color 2 ) Ġ* Ġir ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . blue ( color 1 ) Ġ* Ġr Ġ+ ĠColor . blue ( color 2 ) Ġ* Ġir ). toInt () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġ" distance " Ġbetween Ġtwo Ġcolors . ĠThe Ġrgb Ġentries Ġare Ġtaken ĊĠĠĠĠ Ġ* Ġto Ġbe Ġcoordinates Ġin Ġa Ġ 3 D Ġspace Ġ[ 0 . 0 - 1 . 0 ], Ġand Ġthis Ġmethod Ġreturn es ĊĠĠĠĠ Ġ* Ġthe Ġdistance Ġbetween Ġthe Ġcoordinates Ġfor Ġthe Ġfirst Ġand Ġsecond Ġcolor . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġr 1 , Ġg 1 , Ġb 1 Ġ ĠFirst Ġcolor . ĊĠĠĠĠ Ġ* Ġ@ param Ġr 2 , Ġg 2 , Ġb 2 Ġ ĠSecond Ġcolor . ĊĠĠĠĠ Ġ* Ġ@ return ĠDistance Ġbw et ween Ġcolors . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcolor Distance ( ĊĠĠĠĠĠĠĠ Ġr 1 : ĠDouble , Ġg 1 : ĠDouble , Ġb 1 : ĠDouble , ĊĠĠĠĠĠĠĠ Ġr 2 : ĠDouble , Ġg 2 : ĠDouble , Ġb 2 : ĠDouble ĊĠĠĠ Ġ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġr 2 Ġ- Ġr 1 ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġg 2 Ġ- Ġg 1 ĊĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġb 2 Ġ- Ġb 1 ĊĠĠĠĠĠĠĠ Ġreturn ĠMath . sqrt ( a Ġ* Ġa Ġ+ Ġb Ġ* Ġb Ġ+ Ġc Ġ* Ġc ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġthe Ġ" distance " Ġbetween Ġtwo Ġcolors . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor 1 ĠFirst Ġcolor . ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor 2 ĠSecond Ġcolor . ĊĠĠĠĠ Ġ* Ġ@ return ĠDistance Ġbetween Ġcolors . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcolor Distance ( color 1 : ĠInt , Ġcolor 2 : ĠInt ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcolor Distance ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . red ( color 1 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . green ( color 1 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . blue ( color 1 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . red ( color 2 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . green ( color 2 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( Color . blue ( color 2 ) Ġ/ Ġ 2 5 5 . 0 f ). toDouble () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġa Ġcolor Ġis Ġmore Ġdark Ġthan Ġlight . ĠUseful Ġif Ġan Ġentity Ġof ĊĠĠĠĠ Ġ* Ġthis Ġcolor Ġis Ġto Ġbe Ġlabeled : ĠUse Ġwhite Ġlabel Ġon Ġa Ġ" dark " Ġcolor Ġand ĊĠĠĠĠ Ġ* Ġblack Ġlabel Ġon Ġa Ġ" light " Ġcolor . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcolor ĠColor Ġto Ġcheck . ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthis Ġis Ġa Ġ" dark " Ġcolor , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Dark ( color : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠColor Utils . calculate L uminance ( color ) Ġ< Ġ 0 . 5 ; ĊĠĠĠ Ġ} Ċ }