glesv2 :: GLfloatArray :: defaultinit
# Low level array of `Float`
class GLfloatArray
super FinalizableOnce
var length: Int
var native_array = new NativeGLfloatArray(length) is lateinit
fun [](index: Int): Float do return native_array[index]
fun []=(index: Int, val: Float) do native_array[index] = val
var add_index = 0
fun reset_add do add_index = 0
# Require: `add_index < length`
fun add(value: Float)
do
var index = add_index
assert index < length
native_array[index] = value
self.add_index = index + 1
end
# Create with the content of `array`
new from(array: Array[Float])
do
var arr = new GLfloatArray(array.length)
arr.fill_from array
return arr
end
# Fill with the content of `array`
#
# If `dst_offset` is set, the data is copied to the index `dst_offset`,
# otherwise, it is copied the beginning of `self`.
#
# Require: `length >= array.length + dst_offset or else 0`
fun fill_from(array: Array[Float], dst_offset: nullable Int)
do
dst_offset = dst_offset or else add_index
assert length >= array.length + dst_offset
for k in [0..array.length[ do
self[dst_offset+k] = array[k]
end
end
redef fun finalize_once do native_array.free
end
lib/glesv2/glesv2.nit:439,1--489,3