note
	description: "[
							A GAME_HAPTIC_EFFECT that has an envelope.
							An envelope contain a fade in and fade out effects
							that surround the haptic effect. Here is how it work
							(by using a {GAME_HAPTIC_EFFECT_CONSTANT}):
		
							Strength
							^
							|
							|     effect level -->  _________________
							|                      /                 \
							|                     /                   \
							|                    /                     \
							|                   /                       \ 
							| fade_in_level --> |                        \
							|                   |                        |  <---  fade_out_level
							| 
							+---------------------------------------------------> Time
							
							                    [--]                 [---]
							               fade_in_length        fade_out_length
							 
							 [------------------][-----------------------]
							       delay                 length
	]"
	author: "Louis Marchand"
	date: "Mon, 02 Mar 2015 16:23:11 +0000"
	revision: "2.0"

deferred class 
	GAME_HAPTIC_EFFECT_ENVELOPE

inherit
	GAME_HAPTIC_EFFECT_DELAYED

feature -- Access

	fade_in_level: NATURAL_16 assign set_fade_in_level
			-- level at the start of the fade in
		require
			exists: exists
		deferred
		end

	set_fade_in_level (a_fade_in_level: NATURAL_16)
			-- Assign fade_in_level with the value of a_fade_in_level
		require
			exists: exists
			level_valid: a_fade_in_level <= 32767
		deferred
		ensure
			is_assign: fade_in_level = a_fade_in_level
		end

	fade_in_length: NATURAL_16 assign set_fade_in_length
			-- length of the fade in
		require
			exists: exists
		deferred
		end

	set_fade_in_length (a_fade_in_length: NATURAL_16)
			-- Assign fade_in_length with the value of a_fade_in_length
		require
			exists: exists
			length_valid: a_fade_in_length <= 32767
		deferred
		ensure
			is_assign: fade_in_length = a_fade_in_length
		end

	fade_out_level: NATURAL_16 assign set_fade_out_level
			-- level at the start of the fade out
		require
			exists: exists
		deferred
		end

	set_fade_out_level (a_fade_out_level: NATURAL_16)
			-- Assign fade_out_level with the value of a_fade_out_level
		require
			exists: exists
			level_valid: a_fade_out_level <= 32767
		deferred
		ensure
			is_assign: fade_out_level = a_fade_out_level
		end

	fade_out_length: NATURAL_16 assign set_fade_out_length
			-- length of the fade out
		require
			exists: exists
		deferred
		end

	set_fade_out_length (a_fade_out_length: NATURAL_16)
			-- Assign fade_out_length with the value of a_fade_out_length
		require
			exists: exists
			length_valid: a_fade_out_length <= 32767
		deferred
		ensure
			is_assign: fade_out_length = a_fade_out_length
		end
	
end -- class GAME_HAPTIC_EFFECT_ENVELOPE

Generated by ISE EiffelStudio