package Ġorg . fb me . ide . ric hed iting . adapters . ecc . cell Ċ Ċ import Ġorg . fb me . lib . iec 6 1 4 9 9 . ecc . State Action Ċ import Ġkotlin . math . max Ċ Ċ class ĠAction Block ( val Ġalgorithm : ĠAlgorithm Cell , Ġval Ġoutput : ĠOutput Cell , Ġval Ġaction : ĠState Action ) Ġ{ ĊĠĠĠ Ġfun Ġre layout () Ġ{ ĊĠĠĠĠĠĠĠ Ġalgorithm . re layout All () ĊĠĠĠĠĠĠĠ Ġoutput . re layout () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnew Width ( old Width : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmax Tmp Ġ= Ġmax ( algorithm . total Width , Ġoutput . width ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmax ( old Width , Ġmax Tmp ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Width ( width : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġalgorithm . total Width Ġ= Ġwidth ĊĠĠĠĠĠĠĠ Ġoutput . width Ġ= Ġwidth ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Height ( padding : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġalgorithm . total Height Ġ+ Ġoutput . height Ġ+ Ġ 2 Ġ* Ġpadding ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmove To ( dx : ĠInt , Ġdy : ĠInt , Ġpadding : ĠInt , Ġcurrent Height : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġh Ġ= Ġcurrent Height ĊĠĠĠĠĠĠĠ Ġalgorithm . moveTo All ( dx , Ġdy , Ġh ) ĊĠĠĠĠĠĠĠ Ġh Ġ+= Ġalgorithm . total Height Ġ+ Ġpadding ĊĠĠĠĠĠĠĠ Ġoutput . moveTo ( dx , Ġdy Ġ+ Ġh ) ĊĠĠĠĠĠĠĠ Ġh Ġ+= Ġoutput . height Ġ+ Ġpadding ĊĠĠĠĠĠĠĠ Ġreturn Ġh ĊĠĠĠ Ġ} Ċ }