note
	description: "An object that can use alpha blending"
	author: "Louis Marchand"
	date: "Thu, 26 Mar 2015 20:59:26 +0000"
	revision: "2.0"

deferred class interface
	GAME_BLENDABLE

feature -- Access

	is_valid: BOOLEAN
			-- Is item a valid pointer to be used as blenderable

	disable_blending
			-- Disable every blending mode to use for drawing operations.
			-- No blending mode:	dstRGBA = srcRGBA
		require
			blendable_is_valid: is_valid

	is_blending_disabled: BOOLEAN
			-- True if no blending mode is used for drawing operations.
			-- No blending mode:	dstRGBA = srcRGBA
		require
			blendable_is_valid: is_valid

	enable_alpha_blending
			-- Set the alpha blending mode to use for drawing operations.
			-- Alpha blending:	dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
			--					dstA = srcA + (dstA * (1-srcA))
		require
			blendable_is_valid: is_valid

	is_alpha_blending_enabled: BOOLEAN
			-- True if the blending mode for drawing operation is alpha blending.
			-- Alpha blending:	dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
			--					dstA = srcA + (dstA * (1-srcA))
		require
			blendable_is_valid: is_valid

	enable_additive_blending
			-- Set the additive blending mode to use for drawing operations.
			-- Additive blending:	dstRGB = (srcRGB * srcA) + dstRGB
			--						dstA = dstA
		require
			blendable_is_valid: is_valid

	is_additive_blending_enabled: BOOLEAN
			-- True if the blending mode for drawing operation is additive blending.
			-- Additive blending:	dstRGB = (srcRGB * srcA) + dstRGB
			--						dstA = dstA
		require
			blendable_is_valid: is_valid

	enable_modulate_blending
			-- Set the color modulate blending mode to use for drawing operations.
			-- Color modulate:	dstRGB = srcRGB * dstRGB
			--					dstA = dstA
		require
			blendable_is_valid: is_valid

	is_modulate_blending_enabled: BOOLEAN
			-- True if the blending mode for drawing operation is color modulate blending.
			-- Color modulate:	dstRGB = srcRGB * dstRGB
			--					dstA = dstA
		require
			blendable_is_valid: is_valid
	
end -- class GAME_BLENDABLE

Generated by ISE EiffelStudio