Property definitions

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