Converts the bitmap to grayscale by manipulating each individual pixel

Property definitions

bitmap $ Bitmap :: grayscale
	# Converts the bitmap to grayscale by manipulating each individual pixel
	fun grayscale
	do
		for x in [0..self.height[ do
			var row = self.data[x]
			for y in [0..self.width[ do
				var pixel = row[y]
				var red = pixel >> 16
				var green = (pixel & 0x00FF00) >> 8
				var blue = pixel & 0x000000FF
				var lum = (0.2126 * red.to_f + 0.7152 * green.to_f + 0.0722 * blue.to_f).to_i
				pixel = lum * 256 * 256 + lum * 256 + lum
				self.data[x][y] = pixel
			end
		end
	end
lib/bitmap/bitmap.nit:236,2--251,4