// ImageMagickObject.idl : IDL source for ImageMagickObject.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (ImageMagickObject.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
	[
		object,
		uuid(7F670536-00AE-4EDF-B06F-13BD22B25624),
		dual,
		helpstring("IMagickImage Interface"),
		pointer_default(unique)
	]
	interface IMagickImage : IDispatch
	{
		//Standard Server Side Component Methods
		HRESULT OnStartPage([in] IUnknown* piUnk);
		HRESULT OnEndPage();	
		[propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
		[id(2), helpstring("method Add"), vararg] HRESULT Add([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[id(3), helpstring("method Remove")] HRESULT Remove([in] VARIANT varIndex);
		[id(4), helpstring("method Convert"), vararg] HRESULT Convert([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[id(5), helpstring("method Composite"), vararg] HRESULT Composite([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[id(6), helpstring("method Montage"), vararg] HRESULT Montage([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[id(7), helpstring("method Mogrify"), vararg] HRESULT Mogrify([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[id(8), helpstring("method Identify"), vararg] HRESULT Identify([in,out] SAFEARRAY(VARIANT) *pArrayVar, [out, retval] VARIANT *pVar2);
		[propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] LPUNKNOWN *pVal);
		[propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] VARIANT varIndex, [out, retval] VARIANT *pVal);
		[propget, id(12), helpstring("property Messages")] HRESULT Messages([out, retval] VARIANT *pVal);
	};

[
	uuid(A2A30AD0-24E7-450F-8B51-F154BC0CD83A),
	version(1.0),
	helpstring("ImageMagickObject 1.0 Type Library")
]
library IMAGEMAGICKOBJECTLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(01834743-E151-45C9-9C43-2FC80114E539),
		helpstring("_IMagickImageEvents Interface")
	]
	dispinterface _IMagickImageEvents
	{
		properties:
		methods:
	};

	[
		uuid(5630BE5A-3F5F-4BCA-A511-AD6A6386CAC1),
		helpstring("MagickImage Class")
	]
	coclass MagickImage
	{
		[default] interface IMagickImage;
		[default, source] dispinterface _IMagickImageEvents;
	};
};
