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

		BasicImageCOMImplementations.h

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

		Revision History

		Author:	Mathieu
		Date:	03/10/99


		when		who			what & why
		==========	======= 	======================================================


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

#ifndef __BasicImageCOMImplementation__
#define __BasicImageCOMImplementation__  


#include "BasicCOMImplementations.h"

#include "MCBasicTypes.h"
#include "I2dExColorPicker.h"
#include "I2dExColorSet.h"

/// \addtogroup BaseClass
/// \{

/*****************************************************************************\
*                                                                             *
*  TBasicColorPicker                                                          *
*                                                                             *
\*****************************************************************************/
/// Basic Color Picker class.  Derive from this for a default implementation of I2DExColorPicker
/// \see I2DExColorPicker
class TBasicColorPicker : public I2DExColorPicker, public TBasicDataExchanger
{
public:
	virtual MCCOMErr 			   MCCOMAPI QueryInterface	(const MCIID& riid, void** ppvObj);
	virtual uint32 			 	   MCCOMAPI AddRef			()				{ return TBasicDataExchanger::AddRef(); }
	virtual EICColorSpaceSignature MCCOMAPI GetColorSpace	(void) const	{ return kicSigRgbData; }
};



/*****************************************************************************\
*                                                                             *
*  TBasicColorSet                                                             *
*                                                                             *
\*****************************************************************************/
/// Basic Color Set class.  Derive from this for a default implementation of I2DExColorSet.
/// \see I2DExColorSet
class TBasicColorSet : public I2DExColorSet, public TBasicDataExchanger
{
public:
	virtual MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void** ppvObj);
	virtual uint32 	 MCCOMAPI AddRef		 ()				{ return TBasicDataExchanger::AddRef(); }
	static	MCCOMErr 		  Create	 	 (EICColorSpaceSignature, I2DExColorSet**);
};
/// \}

#endif // __BasicImageCOMImplementation__