package Ġorg . open rnd r . draw Ċ Ċ import Ġorg . open rnd r . internal . Driver Ċ import Ġjava . nio . ByteBuffer ĊĊ Ċ enum Ġclass ĠIndex Type ( val Ġsize InBytes : Int ) Ġ{ ĊĠĠĠ ĠINT 1 6 ( 2 ), ĊĠĠĠ ĠINT 3 2 ( 4 ) Ċ } Ċ Ċ interface ĠIndex Buffer Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate Dynamic ( element Count : ĠInt , Ġtype : ĠIndex Type ): ĠIndex Buffer Ġ= ĠDriver . instance . create Dynamic Index Buffer ( element Count , Ġtype ) ĊĠĠĠĠĠĠĠ Ġ// fun Ġcreate Static ( format : ĠVertex Format , Ġbuffer : Buffer ): VertexBuffer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġindex Count : ĠInt ĊĊĠĠĠ Ġval Ġtype : ĠIndex Type ĊĠĠĠ Ġfun Ġwrite ( data : ĠByteBuffer , Ġoffset : ĠInt Ġ= Ġ 0 ) ĊĠĠĠ Ġfun Ġread ( data : ĠByteBuffer , Ġoffset : ĠInt Ġ= Ġ 0 ) ĊĊĠĠĠ Ġfun Ġdestroy () Ċ } Ċ Ċ fun Ġindex Buffer ( element Count : ĠInt , Ġtype : ĠIndex Type ): ĠIndex Buffer Ġ{ ĊĠĠĠ Ġreturn ĠIndex Buffer . create Dynamic ( element Count , Ġtype ) Ċ } ĊĊ