package Ġimg ui . img ui Ċ Ċ import Ġimg ui . ImGui . current Window Ċ import Ġimg ui . ImGui . current Window Read Ċ import Ġimg ui . g Ċ Ċ /** ĠID Ġscopes Ċ Ġ* Ġ ĠIf Ġyou Ġare Ġcreating Ġwidgets Ġin Ġa Ġloop Ġyou Ġmost Ġlikely Ġwant Ġto Ġpush Ġa Ġunique Ġidentifier Ġso ĠImGui Ġcan Ġdifferent iate Ċ Ġ* Ġ Ġthem . Ċ Ġ* Ġ ĠYou Ġcan Ġalso Ġuse Ġthe Ġ" ## foobar " Ġsyntax Ġwithin Ġwidget Ġlabel Ġto Ġdistinguish Ġthem Ġfrom Ġeach Ġothers . ĠRead Ġ" A Ġprimer Ġon Ċ Ġ* Ġ Ġthe Ġuse Ġof Ġlabels / IDs " Ġin Ġthe ĠFAQ Ġfor Ġmore Ġdetails . Ġ*/ Ċ interface Ġimg ui _ id Scopes Ġ{ ĊĊĊĠĠĠ Ġ/** Ġpush Ġidentifier Ġinto Ġthe ĠID Ġstack . ĠIDs Ġare Ġhash Ġof Ġthe Ġentire Ġstack ! Ġ Ġ*/ ĊĠĠĠ Ġfun Ġpush Id ( str Id : ĠString ) Ġ= Ġwith ( current Window Read !! ) Ġ{ Ġid Stack . push ( getId ( str Id )) Ġ} ĊĊĠĠĠ Ġ/** ĠIncludes ĠInt ĠIDs Ġas Ġwell ĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpush Id ( ptr Id : ĠAny ) Ġ= Ġwith ( current Window Read !! ) Ġ{ Ġid Stack . push ( getId ( ptr Id )) Ġ} ĊĊĠĠĠ Ġfun Ġpop Id () Ġ= Ġcurrent Window Read !!. id Stack . pop () ĊĊĠĠĠ Ġ/** Ġcalculate Ġunique ĠID Ġ( hash Ġof Ġwhole ĠID Ġstack Ġ+ Ġgiven Ġparameter ). Ġe . g . Ġif Ġyou Ġwant Ġto Ġquery Ġinto ĠImGui Storage ĊĠĠĠĠ Ġ* Ġ Ġyourself . Ġotherwise Ġrare ly Ġneeded ĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetId ( str Id : ĠString ) Ġ= Ġg . current Window !!. getId ( str Id ) ĊĊĠĠĠ Ġfun ĠgetId ( ptr Id : ĠAny ) Ġ= Ġcurrent Window . getId ( ptr Id ) Ċ }