package Ġio . k ola . r ati ol ayout Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġorg . jetbrains . ank o ._ Frame Layout Ċ Ċ class ĠR atio Layout ( ctx : ĠContext ) Ġ: Ġ_ Frame Layout ( ctx ) Ġ{ ĊĊĠĠĠ Ġvar Ġoffset : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġratio : ĠFloat Ġ= Ġ 0 f ĊĊĠĠĠ Ġoverride Ġfun Ġon Measure ( width Measure Spec : ĠInt , Ġheight Measure Spec : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ratio Ġ== Ġ 0 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġheight Measure Spec . as Size ĊĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġwidth Measure Spec . as Size ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ== Ġ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġwidth Ġ/ Ġratio Ġ- Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspec Ġ= Ġheight Measure Spec . with Size ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Measure ( width Measure Spec , Ġspec ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ== Ġ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġheight Ġ* Ġratio Ġ- Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspec Ġ= Ġwidth Measure Spec . with Size ( size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Measure ( spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Measure ( width Measure Spec , Ġheight Measure Spec ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠInt . as Size Ġget () Ġ= ĠView . Measure Spec . getSize ( this ) ĊĊĠĠĠ Ġprivate Ġfun ĠInt . with Size ( size : ĠFloat ) Ġ= ĠView . Measure Spec . make Measure Spec ( size . toInt (), ĠView . Measure Spec . get Mode ( this )) Ċ }