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

class 
	SDL_SURFACE_STRUCT_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

	flags: NATURAL_32
			-- Access member flags
		require
			exists: exists
		do
			Result := c_flags (item)
		ensure
			result_correct: Result = c_flags (item)
		end

	set_flags (a_value: NATURAL_32)
			-- Change the value of member flags to a_value.
		require
			exists: exists
		do
			set_c_flags (item, a_value)
		ensure
			flags_set: a_value = flags
		end

	format: detachable SDL_PIXEL_FORMAT_STRUCT_API
			-- Access member format
		require
			exists: exists
		do
			if attached c_format (item) as l_ptr and then not l_ptr.is_default_pointer then
				create Result.make_by_pointer (l_ptr)
			end
		ensure
			result_void: Result = Void implies c_format (item) = default_pointer
			result_not_void: attached Result as l_result implies l_result.item = c_format (item)
		end

	set_format (a_value: SDL_PIXEL_FORMAT_STRUCT_API)
			-- Set member format
		require
			a_value_not_void: a_value /= Void
			exists: exists
		do
			set_c_format (item, a_value.item)
		ensure
			format_set: attached format as l_value implies l_value.item = a_value.item
		end

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

	set_w (a_value: INTEGER_32)
			-- Change the value of member w to a_value.
		require
			exists: exists
		do
			set_c_w (item, a_value)
		ensure
			w_set: a_value = w
		end

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

	set_h (a_value: INTEGER_32)
			-- Change the value of member h to a_value.
		require
			exists: exists
		do
			set_c_h (item, a_value)
		ensure
			h_set: a_value = h
		end

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

	set_pitch (a_value: INTEGER_32)
			-- Change the value of member pitch to a_value.
		require
			exists: exists
		do
			set_c_pitch (item, a_value)
		ensure
			pitch_set: a_value = pitch
		end

	pixels: POINTER
			-- Access member pixels
		require
			exists: exists
		do
			Result := c_pixels (item)
		ensure
			result_correct: Result = c_pixels (item)
		end

	set_pixels (a_value: POINTER)
			-- Change the value of member pixels to a_value.
		require
			exists: exists
		do
			set_c_pixels (item, a_value)
		ensure
			pixels_set: a_value = pixels
		end

	userdata: POINTER
			-- Access member userdata
		require
			exists: exists
		do
			Result := c_userdata (item)
		ensure
			result_correct: Result = c_userdata (item)
		end

	set_userdata (a_value: POINTER)
			-- Change the value of member userdata to a_value.
		require
			exists: exists
		do
			set_c_userdata (item, a_value)
		ensure
			userdata_set: a_value = userdata
		end

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

	set_locked (a_value: INTEGER_32)
			-- Change the value of member locked to a_value.
		require
			exists: exists
		do
			set_c_locked (item, a_value)
		ensure
			locked_set: a_value = locked
		end

	lock_data: POINTER
			-- Access member lock_data
		require
			exists: exists
		do
			Result := c_lock_data (item)
		ensure
			result_correct: Result = c_lock_data (item)
		end

	set_lock_data (a_value: POINTER)
			-- Change the value of member lock_data to a_value.
		require
			exists: exists
		do
			set_c_lock_data (item, a_value)
		ensure
			lock_data_set: a_value = lock_data
		end

	clip_rect: SDL_RECT_STRUCT_API
			-- Access member clip_rect
		require
			exists: exists
		do
			create Result.make_by_pointer (c_clip_rect (item))
		ensure
			result_not_void: Result.item = c_clip_rect (item)
		end

	set_clip_rect (a_value: SDL_RECT_STRUCT_API)
			-- Set member clip_rect
		require
			a_value_not_void: a_value /= Void
			exists: exists
		do
			set_c_clip_rect (item, a_value.item)
		ensure
			clip_rect_set: clip_rect.item = a_value.item
		end

	map: detachable SDL_BLIT_MAP_STRUCT_API
			-- Access member map
		require
			exists: exists
		do
			if attached c_map (item) as l_ptr and then not l_ptr.is_default_pointer then
				create Result.make_by_pointer (l_ptr)
			end
		ensure
			result_void: Result = Void implies c_map (item) = default_pointer
			result_not_void: attached Result as l_result implies l_result.item = c_map (item)
		end

	set_map (a_value: SDL_BLIT_MAP_STRUCT_API)
			-- Set member map
		require
			a_value_not_void: a_value /= Void
			exists: exists
		do
			set_c_map (item, a_value.item)
		ensure
			map_set: attached map as l_value implies l_value.item = a_value.item
		end

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

	set_refcount (a_value: INTEGER_32)
			-- Change the value of member refcount to a_value.
		require
			exists: exists
		do
			set_c_refcount (item, a_value)
		ensure
			refcount_set: a_value = refcount
		end
	
feature {NONE} -- Implementation wrapper for struct struct SDL_Surface

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

	c_flags (an_item: POINTER): NATURAL_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->flags
			]"
		end

	set_c_flags (an_item: POINTER; a_value: NATURAL_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->flags =  (Uint32)$a_value
			]"
		ensure
			flags_set: a_value = c_flags (an_item)
		end

	c_format (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->format
			]"
		end

	set_c_format (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->format =  (SDL_PixelFormat*)$a_value
			]"
		ensure
			format_set: a_value = c_format (an_item)
		end

	c_w (an_item: POINTER): INTEGER_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->w
			]"
		end

	set_c_w (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->w =  (int)$a_value
			]"
		ensure
			w_set: a_value = c_w (an_item)
		end

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

	set_c_h (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->h =  (int)$a_value
			]"
		ensure
			h_set: a_value = c_h (an_item)
		end

	c_pitch (an_item: POINTER): INTEGER_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->pitch
			]"
		end

	set_c_pitch (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->pitch =  (int)$a_value
			]"
		ensure
			pitch_set: a_value = c_pitch (an_item)
		end

	c_pixels (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->pixels
			]"
		end

	set_c_pixels (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->pixels =  (void*)$a_value
			]"
		ensure
			pixels_set: a_value = c_pixels (an_item)
		end

	c_userdata (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->userdata
			]"
		end

	set_c_userdata (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->userdata =  (void*)$a_value
			]"
		ensure
			userdata_set: a_value = c_userdata (an_item)
		end

	c_locked (an_item: POINTER): INTEGER_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->locked
			]"
		end

	set_c_locked (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->locked =  (int)$a_value
			]"
		ensure
			locked_set: a_value = c_locked (an_item)
		end

	c_lock_data (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->lock_data
			]"
		end

	set_c_lock_data (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->lock_data =  (void*)$a_value
			]"
		ensure
			lock_data_set: a_value = c_lock_data (an_item)
		end

	c_clip_rect (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				&((struct SDL_Surface*)$an_item)->clip_rect
			]"
		end

	set_c_clip_rect (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->clip_rect =  *(SDL_Rect*)$a_value
			]"
		end

	c_map (an_item: POINTER): POINTER
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->map
			]"
		end

	set_c_map (an_item: POINTER; a_value: POINTER)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->map =  (struct SDL_BlitMap*)$a_value
			]"
		ensure
			map_set: a_value = c_map (an_item)
		end

	c_refcount (an_item: POINTER): INTEGER_32
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->refcount
			]"
		end

	set_c_refcount (an_item: POINTER; a_value: INTEGER_32)
		require
			an_item_not_null: an_item /= default_pointer
		external
			"C inline use <SDL.h>"
		alias
			"[
				((struct SDL_Surface*)$an_item)->refcount =  (int)$a_value
			]"
		ensure
			refcount_set: a_value = c_refcount (an_item)
		end
	
end -- class SDL_SURFACE_STRUCT_API

Generated by ISE EiffelStudio