Overwrite all pixels with color, return self

The argument color should be an array of up to 4 floats (RGBA). If color has less than 4 items, the missing items are replaced by 1.0.

Property definitions

gamnit $ CustomTexture :: fill
	# Overwrite all pixels with `color`, return `self`
	#
	# The argument `color` should be an array of up to 4 floats (RGBA).
	# If `color` has less than 4 items, the missing items are replaced by 1.0.
	fun fill(color: Array[Float]): SELF
	do
		# Simple conversion from [0.0..1.0] to [0..255]
		var bytes = [for c in color do (c*255.0).round.to_i.clamp(0, 255).to_bytes.last]
		while bytes.length < 4 do bytes.add 255

		var i = 0
		for x in [0..width.to_i[ do
			for y in [0..height.to_i[ do
				for j in [0..4[ do cpixels[i+j] = bytes[j].to_b
				i += 4
			end
		end

		loaded = false
		return self
	end
lib/gamnit/textures.nit:172,2--192,4