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

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

		Author:	Julien
		Date:	4/9/2003

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

#ifndef __IMFImagePart__
#define __IMFImagePart__

#if CP_PRAGMA_ONCE
#pragma once
#endif

//*********************** Globally Unique Ids ********************************

MCDEFINE_GUID( IID_IMFImagePart, 0xb66e2a7, 0xff94, 0x413d, 0xae, 0x4d, 0xaf, 0xbd, 0xa5, 0xfa, 0x9b, 0xb6 );


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

#include "IShRasterLayer.h"
#include "IShRasterLayerUtilities.h"


/// \addtogroup MCF
/// \{
/// Interface for generic Image Parts.
struct IMFImagePart : public IMCUnknown
{
	// ****************************************************************************
	//								SetLayer
	// 
	// -Description:
	//
	// -Parameters:	layer:
	//				zoomToFit:
	//				fitToRect:
	//
	virtual void		MCCOMAPI SetLayer(	IShRasterLayer*	layer,
											boolean			zoomToFit = false,
											const TMCRect*	fitToRect = nil ) = 0;

	virtual void		MCCOMAPI SetChunkyLayer(	IShRasterLayer*	layer,
											boolean			zoomToFit = false,
											const TMCRect*	fitToRect = nil ) = 0;

	virtual void		MCCOMAPI UseDefaultColorManager() = 0;

	virtual void		MCCOMAPI SetCheckerPatternSize(boolean mini) = 0;

	virtual void		MCCOMAPI SetDrawWithAlpha(boolean enable) = 0;

	virtual void		MCCOMAPI SetResizeMethod(EResizeMethod zoomOut, EResizeMethod zoomIn) = 0;
};

/// \}
#endif
