package Ġgli mp se . gles . deleg ates Ċ Ċ import Ġgli mp se . gles . GLES Ċ import Ġkotlin . reflect . K Property Ċ Ċ /** Ċ Ġ* ĠGLES Ġimplementation Ġdelegate . Ċ Ġ* Ċ Ġ* ĠHold s Ġsingleton Ġinstance Ġof ĠGLES . Ċ Ġ*/ Ċ object ĠGLES Delegate Ġ{ ĊĊ ĉ private Ġvar Ġg les : ĠGLES ? Ġ= Ġnull ĊĊ ĉ /** Ċĉ Ġ* ĠGets Ġdeleg ated Ġproperty Ġvalue . Ċĉ Ġ*/ Ċ ĉ operator Ġfun ĠgetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property < *> ): ĠGLES Ġ= Ġg les Ġ?: Ġthrow ĠIllegalStateException (" GLES Ġnot Ġinitialized ") ĊĊ ĉ /** Ċĉ Ġ* ĠSets Ġdeleg ated Ġproperty Ġvalue . Ċĉ Ġ*/ Ċ ĉ operator Ġfun ĠsetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property <* >, Ġvalue : ĠGLES ) Ġ{ Ċĉ ĉ GLES Delegate ( value ) Ċ ĉ } ĊĊ ĉ /** Ċĉ Ġ* ĠInitializes ĠGLES Ġimplementation . Ċĉ Ġ*/ Ċ ĉ operator Ġfun Ġinvoke ( gles : ĠGLES ) Ġ{ Ċĉ ĉ GLES Delegate . gles Ġ= Ġg les Ċ ĉ } Ċ }