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

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

		Author:	Julien
		Date:	11/19/2002

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

#ifndef __IMFCurvePart__
#define __IMFCurvePart__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCCompObj.h"

#include "MCBezierPath.h"

MCDEFINE_GUID(IID_IMFCurvePart, 0x8a7d71f8, 0xcdf6, 0x4e5b, 0x87, 0x2a, 0xa, 0x93, 0x9b, 0xc0, 0x4a, 0x3f);

/// \addtogroup MCF
/// \{

/// The interface to access curve parts
///
struct IMFCurvePart : public IMCUnknown
{
	// ****************************************************************************
	//								SetBezierCurve
	// 
	/// Sets a curve on a CurvePart
	/// 
	/// \param bezierCurve  The Bezier Curve to be set.
	/// 
	virtual void			MCCOMAPI SetBezierCurve(TMCBezierCurve* bezierCurve) = 0;
	
	// ****************************************************************************
	//								GetBezierCurve
	// 
	/// Returns a pointer on the bezier curve of a CurvePart
	/// 
	virtual TMCBezierCurve*	MCCOMAPI GetBezierCurve() const = 0;

	// ****************************************************************************
	//								SetLegends
	// 
	/// Sets legends on a CurvePart
	/// 
	/// \param inXLegend  The legend of the X axis
	/// \param inYLegend  The legend of the Y axis
	/// 
	virtual void MCCOMAPI	SetLegends(const TMCDynamicString& inXLegend, const TMCDynamicString& inYLegend) = 0;

};

/// \}


#endif
