note
	description: "Implemented `IDropTarget' Interface."
	legal: "See notice at end of class."
	status: "See notice at end of class."
	generator: "Automatically generated by the EiffelCOM Wizard."

class
	IDROP_TARGET_IMPL_PROXY

inherit
	IDROP_TARGET_INTERFACE

	ECOM_QUERIABLE

create
	make_from_other,
	make_from_pointer

feature {NONE}  -- Initialization

	make_from_pointer (cpp_obj: POINTER)
			-- Make from pointer
		do
			initializer := ccom_create_idrop_target_impl_proxy_from_pointer(cpp_obj)
			item := ccom_item (initializer)
		end

feature -- Basic Operations

	drag_enter (p_data_obj: IDATA_OBJECT_INTERFACE; grf_key_state: INTEGER; pt: X_POINTL_RECORD; pdw_effect: INTEGER_REF)
			-- No description available.
			-- `p_data_obj' [in].  
			-- `grf_key_state' [in].  
			-- `pt' [in].  
			-- `pdw_effect' [in, out].  
		local
			p_data_obj_item: POINTER
			a_stub: ECOM_STUB
		do
			if p_data_obj /= Void then
				if (p_data_obj.item = default_pointer) then
					a_stub ?= p_data_obj
					if a_stub /= Void then
						a_stub.create_item
					end
				end
				p_data_obj_item := p_data_obj.item
			end
			ccom_drag_enter (initializer, p_data_obj_item, grf_key_state, pt.item, pdw_effect)
		end

	drag_over (grf_key_state: INTEGER; pt: X_POINTL_RECORD; pdw_effect: INTEGER_REF)
			-- No description available.
			-- `grf_key_state' [in].  
			-- `pt' [in].  
			-- `pdw_effect' [in, out].  
		do
			ccom_drag_over (initializer, grf_key_state, pt.item, pdw_effect)
		end

	drag_leave
			-- No description available.
		do
			ccom_drag_leave (initializer)
		end

	drop (p_data_obj: IDATA_OBJECT_INTERFACE; grf_key_state: INTEGER; pt: X_POINTL_RECORD; pdw_effect: INTEGER_REF)
			-- No description available.
			-- `p_data_obj' [in].  
			-- `grf_key_state' [in].  
			-- `pt' [in].  
			-- `pdw_effect' [in, out].  
		local
			p_data_obj_item: POINTER
			a_stub: ECOM_STUB
		do
			if p_data_obj /= Void then
				if (p_data_obj.item = default_pointer) then
					a_stub ?= p_data_obj
					if a_stub /= Void then
						a_stub.create_item
					end
				end
				p_data_obj_item := p_data_obj.item
			end
			ccom_drop (initializer, p_data_obj_item, grf_key_state, pt.item, pdw_effect)
		end

feature {NONE}  -- Implementation

	delete_wrapper
			-- Delete wrapper
		do
			ccom_delete_idrop_target_impl_proxy(initializer)
		end

feature {NONE}  -- Externals

	ccom_drag_enter (cpp_obj: POINTER; p_data_obj: POINTER; grf_key_state: INTEGER; pt: POINTER; pdw_effect: INTEGER_REF)
			-- No description available.
		external
			"C++ [ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"](::IDataObject *,EIF_INTEGER,ecom_control_library::_POINTL *,EIF_OBJECT)"
		end

	ccom_drag_over (cpp_obj: POINTER; grf_key_state: INTEGER; pt: POINTER; pdw_effect: INTEGER_REF)
			-- No description available.
		external
			"C++ [ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"](EIF_INTEGER,ecom_control_library::_POINTL *,EIF_OBJECT)"
		end

	ccom_drag_leave (cpp_obj: POINTER)
			-- No description available.
		external
			"C++ [ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"]()"
		end

	ccom_drop (cpp_obj: POINTER; p_data_obj: POINTER; grf_key_state: INTEGER; pt: POINTER; pdw_effect: INTEGER_REF)
			-- No description available.
		external
			"C++ [ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"](::IDataObject *,EIF_INTEGER,ecom_control_library::_POINTL *,EIF_OBJECT)"
		end

	ccom_delete_idrop_target_impl_proxy (a_pointer: POINTER)
			-- Release resource
		external
			"C++ [delete ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"]()"
		end

	ccom_create_idrop_target_impl_proxy_from_pointer (a_pointer: POINTER): POINTER
			-- Create from pointer
		external
			"C++ [new ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"](IUnknown *)"
		end

	ccom_item (cpp_obj: POINTER): POINTER
			-- Item
		external
			"C++ [ecom_control_library::IDropTarget_impl_proxy %"ecom_control_library_IDropTarget_impl_proxy_s.h%"]():EIF_POINTER"
		end

note
	copyright:	"Copyright (c) 1984-2006, Eiffel Software and others"
	license:	"Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
			 Eiffel Software
			 356 Storke Road, Goleta, CA 93117 USA
			 Telephone 805-685-1006, Fax 805-685-6869
			 Website http://www.eiffel.com
			 Customer support http://support.eiffel.com
		]"




end -- IDROP_TARGET_IMPL_PROXY