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

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

		Author:	Arnaud
		Date:	5/21/2004

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

#ifndef __IMFScrollPart__
#define __IMFScrollPart__

#if CP_PRAGMA_ONCE
#pragma once
#endif


#include "MCCompObj.h"


MCDEFINE_GUID(IID_IMFScrollPart, 0x250e53d9, 0x5124, 0x43a4, 0x88, 0xf4, 0x10, 0x4d, 0x99, 0x7e, 0x99, 0x54);

/// \addtogroup MCF
/// \{

/// Interface for a scroll part.
struct IMFScrollPart : public IMCUnknown
{
	//A scroll part is always a part
	virtual IMFPart*	MCCOMAPI	GetThisPart	() = 0;

	//returns true if the part scrolled
	// ****************************************************************************
	//								Scroll
	// 
	/// Scrolls the scroll part.  
	/// 
	/// \param delta           delta by which to scroll, as a TMCPoint
	/// \param redraw          If true, redraw the scroll part
	/// \param sendScrollInfo  If true, update the members of this scroll part with the new bounds information.
	/// 
	virtual boolean		MCCOMAPI	Scroll		(const TMCPoint& delta, boolean redraw, boolean sendScrollInfo) = 0;
};

/// \}

#endif