/****************************************************************************************************

		IExImagePlugin.h
		Copyright: (c) 2001 Eovia Corp. All rights reserved.

		Author:	charles
		Date:	5/31/2005

****************************************************************************************************/

#ifndef __IExImagePlugin__
#define __IExImagePlugin__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCCompObj.h"

OBSOLETE; // (Charles)

MCDEFINE_GUID_H(IID_IExImagePlugin);


struct IMCFile;
struct IShRasterLayer;

struct IExImagePlugin : public IMCUnknown
{
	enum ESupportMode
	{
		eNone=0,
		eRead=1,
		eWrite=2,
		eReadWrite = eRead | eWrite
	};
	// ****************************************************************************
	//								SupportFormat
	// 
	/// Returns true if the plugin supports this file format.
	/// 
	/// \param fileFormat  The file format that we check for.
	/// 
	virtual ESupportMode	MCCOMAPI SupportFormat(IDType fileFormat) = 0;

	// ****************************************************************************
	//								Open
	// 
	/// Loads an image from a file.
	/// 
	/// \param file         The file where the image is stored.
	/// \param rasterLayer  The image.
	/// 
	virtual boolean	MCCOMAPI Open(IMCFile* file,IShRasterLayer** rasterLayer) = 0;

	// ****************************************************************************
	//								Save
	// 
	/// Saves an image to a file.
	/// 
	/// \param file         The file where the image should be written.
	/// \param rasterLayer  The image.
	/// 
	virtual boolean MCCOMAPI Save(IMCFile* file,IShRasterLayer* rasterLayer) = 0;
};








#endif
