note
	description: "This file has been generated by EWG. Do not edit. Changes will be lost!"
	generator: "Eiffel Wrapper Generator"

class 
	SDL_EVENT_UNION_API

inherit
	MEMORY_STRUCTURE

create 
	make,
	make_by_pointer

feature -- Measurement

	structure_size: INTEGER_32
			-- Size to allocate (in bytes).
		do
			Result := sizeof_external
		end
	
feature -- Member Access

	type: INTEGER_32
			-- Access member type
		require
			exists: exists
		do
			Result := c_type (item)
		ensure
			result_correct: Result = c_type (item)
		end

	set_type (a_value: INTEGER_32)
			-- Change the value of member type to a_value.
		require
			exists: exists
		do
			set_c_type (item, a_value)
		ensure
			type_set: a_value = c_type (item)
		end

	common: POINTER
			-- Access member common
		require
			exists: exists
		do
			Result := c_common (item)
		end

	set_common (a_value: POINTER)
			-- Set member common
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_common (item, a_value)
		ensure
			common_set: common = a_value
		end

	display: POINTER
			-- Access member display
		require
			exists: exists
		do
			Result := c_display (item)
		end

	set_display (a_value: POINTER)
			-- Set member display
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_display (item, a_value)
		ensure
			display_set: display = a_value
		end

	window: SDL_WINDOW_EVENT_STRUCT_API
			-- Access member window
		require
			exists: exists
		do
			create Result.make_by_pointer (c_window (item))
		end

	set_window (a_value: POINTER)
			-- Set member window
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_window (item, a_value)
		ensure
			window_set: window = a_value
		end

	key: SDL_KEYBOARD_EVENT_STRUCT_API
			-- Access member key
		require
			exists: exists
		do
			create Result.make_by_pointer (c_key (item))
		end

	set_key (a_value: POINTER)
			-- Set member key
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_key (item, a_value)
		ensure
			key_set: key = a_value
		end

	edit: POINTER
			-- Access member edit
		require
			exists: exists
		do
			Result := c_edit (item)
		end

	set_edit (a_value: POINTER)
			-- Set member edit
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_edit (item, a_value)
		ensure
			edit_set: edit = a_value
		end

	text: POINTER
			-- Access member text
		require
			exists: exists
		do
			Result := c_text (item)
		end

	set_text (a_value: POINTER)
			-- Set member text
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_text (item, a_value)
		ensure
			text_set: text = a_value
		end

	motion: POINTER
			-- Access member motion
		require
			exists: exists
		do
			Result := c_motion (item)
		end

	set_motion (a_value: POINTER)
			-- Set member motion
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_motion (item, a_value)
		ensure
			motion_set: motion = a_value
		end

	button: SDL_MOUSE_BUTTON_EVENT_STRUCT_API
			-- Access member button
		require
			exists: exists
		do
			create Result.make_by_pointer (c_button (item))
		end

	set_button (a_value: POINTER)
			-- Set member button
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_button (item, a_value)
		ensure
			button_set: button = a_value
		end

	wheel: SDL_MOUSE_WHEEL_EVENT_STRUCT_API
			-- Access member wheel
		require
			exists: exists
		do
			create Result.make_by_pointer (c_wheel (item))
		end

	set_wheel (a_value: POINTER)
			-- Set member wheel
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_wheel (item, a_value)
		ensure
			wheel_set: wheel = a_value
		end

	jaxis: POINTER
			-- Access member jaxis
		require
			exists: exists
		do
			Result := c_jaxis (item)
		end

	set_jaxis (a_value: POINTER)
			-- Set member jaxis
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_jaxis (item, a_value)
		ensure
			jaxis_set: jaxis = a_value
		end

	jball: POINTER
			-- Access member jball
		require
			exists: exists
		do
			Result := c_jball (item)
		end

	set_jball (a_value: POINTER)
			-- Set member jball
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_jball (item, a_value)
		ensure
			jball_set: jball = a_value
		end

	jhat: POINTER
			-- Access member jhat
		require
			exists: exists
		do
			Result := c_jhat (item)
		end

	set_jhat (a_value: POINTER)
			-- Set member jhat
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_jhat (item, a_value)
		ensure
			jhat_set: jhat = a_value
		end

	jbutton: POINTER
			-- Access member jbutton
		require
			exists: exists
		do
			Result := c_jbutton (item)
		end

	set_jbutton (a_value: POINTER)
			-- Set member jbutton
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_jbutton (item, a_value)
		ensure
			jbutton_set: jbutton = a_value
		end

	jdevice: POINTER
			-- Access member jdevice
		require
			exists: exists
		do
			Result := c_jdevice (item)
		end

	set_jdevice (a_value: POINTER)
			-- Set member jdevice
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_jdevice (item, a_value)
		ensure
			jdevice_set: jdevice = a_value
		end

	caxis: POINTER
			-- Access member caxis
		require
			exists: exists
		do
			Result := c_caxis (item)
		end

	set_caxis (a_value: POINTER)
			-- Set member caxis
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_caxis (item, a_value)
		ensure
			caxis_set: caxis = a_value
		end

	cbutton: POINTER
			-- Access member cbutton
		require
			exists: exists
		do
			Result := c_cbutton (item)
		end

	set_cbutton (a_value: POINTER)
			-- Set member cbutton
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_cbutton (item, a_value)
		ensure
			cbutton_set: cbutton = a_value
		end

	cdevice: POINTER
			-- Access member cdevice
		require
			exists: exists
		do
			Result := c_cdevice (item)
		end

	set_cdevice (a_value: POINTER)
			-- Set member cdevice
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_cdevice (item, a_value)
		ensure
			cdevice_set: cdevice = a_value
		end

	adevice: POINTER
			-- Access member adevice
		require
			exists: exists
		do
			Result := c_adevice (item)
		end

	set_adevice (a_value: POINTER)
			-- Set member adevice
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_adevice (item, a_value)
		ensure
			adevice_set: adevice = a_value
		end

	sensor: POINTER
			-- Access member sensor
		require
			exists: exists
		do
			Result := c_sensor (item)
		end

	set_sensor (a_value: POINTER)
			-- Set member sensor
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_sensor (item, a_value)
		ensure
			sensor_set: sensor = a_value
		end

	quit: POINTER
			-- Access member quit
		require
			exists: exists
		do
			Result := c_quit (item)
		end

	set_quit (a_value: POINTER)
			-- Set member quit
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_quit (item, a_value)
		ensure
			quit_set: quit = a_value
		end

	user: POINTER
			-- Access member user
		require
			exists: exists
		do
			Result := c_user (item)
		end

	set_user (a_value: POINTER)
			-- Set member user
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_user (item, a_value)
		ensure
			user_set: user = a_value
		end

	syswm: POINTER
			-- Access member syswm
		require
			exists: exists
		do
			Result := c_syswm (item)
		end

	set_syswm (a_value: POINTER)
			-- Set member syswm
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_syswm (item, a_value)
		ensure
			syswm_set: syswm = a_value
		end

	tfinger: POINTER
			-- Access member tfinger
		require
			exists: exists
		do
			Result := c_tfinger (item)
		end

	set_tfinger (a_value: POINTER)
			-- Set member tfinger
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_tfinger (item, a_value)
		ensure
			tfinger_set: tfinger = a_value
		end

	mgesture: POINTER
			-- Access member mgesture
		require
			exists: exists
		do
			Result := c_mgesture (item)
		end

	set_mgesture (a_value: POINTER)
			-- Set member mgesture
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_mgesture (item, a_value)
		ensure
			mgesture_set: mgesture = a_value
		end

	dgesture: POINTER
			-- Access member dgesture
		require
			exists: exists
		do
			Result := c_dgesture (item)
		end

	set_dgesture (a_value: POINTER)
			-- Set member dgesture
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_dgesture (item, a_value)
		ensure
			dgesture_set: dgesture = a_value
		end

	drop: POINTER
			-- Access member drop
		require
			exists: exists
		do
			Result := c_drop (item)
		end

	set_drop (a_value: POINTER)
			-- Set member drop
		require
			a_value_not_void: a_value /= default_pointer
			exists: exists
		do
			set_c_drop (item, a_value)
		ensure
			drop_set: drop = a_value
		end

	padding: POINTER
			-- Access member padding
		require
			exists: exists
		do
			Result := c_padding (item)
		ensure
			result_correct: Result = c_padding (item)
		end
	
feature {NONE} --C Implementation: union SDL_Event

	sizeof_external: INTEGER_32
		external
			"C inline use <SDL.h>"
		alias
			"sizeof(union SDL_Event)"
		end

	c_type (an_item: POINTER): INTEGER_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->type
			]"
		end

	set_c_type (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->type =  (Uint32)$a_value;
			]"
		end

	c_common (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->common
			]"
		end

	set_c_common (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->common =  *(SDL_CommonEvent*)$a_value;
			]"
		end

	c_display (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->display
			]"
		end

	set_c_display (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->display =  *(SDL_DisplayEvent*)$a_value;
			]"
		end

	c_window (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->window
			]"
		end

	set_c_window (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->window =  *(SDL_WindowEvent*)$a_value;
			]"
		end

	c_key (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->key
			]"
		end

	set_c_key (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->key =  *(SDL_KeyboardEvent*)$a_value;
			]"
		end

	c_edit (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->edit
			]"
		end

	set_c_edit (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->edit =  *(SDL_TextEditingEvent*)$a_value;
			]"
		end

	c_text (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->text
			]"
		end

	set_c_text (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->text =  *(SDL_TextInputEvent*)$a_value;
			]"
		end

	c_motion (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->motion
			]"
		end

	set_c_motion (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->motion =  *(SDL_MouseMotionEvent*)$a_value;
			]"
		end

	c_button (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->button
			]"
		end

	set_c_button (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->button =  *(SDL_MouseButtonEvent*)$a_value;
			]"
		end

	c_wheel (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->wheel
			]"
		end

	set_c_wheel (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->wheel =  *(SDL_MouseWheelEvent*)$a_value;
			]"
		end

	c_jaxis (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->jaxis
			]"
		end

	set_c_jaxis (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->jaxis =  *(SDL_JoyAxisEvent*)$a_value;
			]"
		end

	c_jball (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->jball
			]"
		end

	set_c_jball (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->jball =  *(SDL_JoyBallEvent*)$a_value;
			]"
		end

	c_jhat (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->jhat
			]"
		end

	set_c_jhat (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->jhat =  *(SDL_JoyHatEvent*)$a_value;
			]"
		end

	c_jbutton (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->jbutton
			]"
		end

	set_c_jbutton (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->jbutton =  *(SDL_JoyButtonEvent*)$a_value;
			]"
		end

	c_jdevice (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->jdevice
			]"
		end

	set_c_jdevice (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->jdevice =  *(SDL_JoyDeviceEvent*)$a_value;
			]"
		end

	c_caxis (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->caxis
			]"
		end

	set_c_caxis (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->caxis =  *(SDL_ControllerAxisEvent*)$a_value;
			]"
		end

	c_cbutton (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->cbutton
			]"
		end

	set_c_cbutton (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->cbutton =  *(SDL_ControllerButtonEvent*)$a_value;
			]"
		end

	c_cdevice (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->cdevice
			]"
		end

	set_c_cdevice (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->cdevice =  *(SDL_ControllerDeviceEvent*)$a_value;
			]"
		end

	c_adevice (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->adevice
			]"
		end

	set_c_adevice (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->adevice =  *(SDL_AudioDeviceEvent*)$a_value;
			]"
		end

	c_sensor (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->sensor
			]"
		end

	set_c_sensor (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->sensor =  *(SDL_SensorEvent*)$a_value;
			]"
		end

	c_quit (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->quit
			]"
		end

	set_c_quit (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->quit =  *(SDL_QuitEvent*)$a_value;
			]"
		end

	c_user (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->user
			]"
		end

	set_c_user (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->user =  *(SDL_UserEvent*)$a_value;
			]"
		end

	c_syswm (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->syswm
			]"
		end

	set_c_syswm (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->syswm =  *(SDL_SysWMEvent*)$a_value;
			]"
		end

	c_tfinger (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->tfinger
			]"
		end

	set_c_tfinger (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->tfinger =  *(SDL_TouchFingerEvent*)$a_value;
			]"
		end

	c_mgesture (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->mgesture
			]"
		end

	set_c_mgesture (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->mgesture =  *(SDL_MultiGestureEvent*)$a_value;
			]"
		end

	c_dgesture (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->dgesture
			]"
		end

	set_c_dgesture (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->dgesture =  *(SDL_DollarGestureEvent*)$a_value;
			]"
		end

	c_drop (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((union SDL_Event*)$an_item)->drop
			]"
		end

	set_c_drop (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->drop =  *(SDL_DropEvent*)$a_value;
			]"
		end

	c_padding (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((union SDL_Event*)$an_item)->padding
			]"
		end
	
end -- class SDL_EVENT_UNION_API

Generated by ISE EiffelStudio