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

		IMFBitmapSliderPart.h

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

		Author:	mathieu
		Date:	12/18/98

		COM interface for sliders with a bitmap image underneath

		Revision History

		when		who			what & why
		==========	==========	======================================================
		6/10/99		Ian			Array API changes.
		04/08/99	Frh			Added dynamic number of thumbs support
		
*****************************************************************************************/


#ifndef __IMFBitmapSliderPart__
#define __IMFBitmapSliderPart__

#include "MCCompObj.h"

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

// {B33C3131-96E6-11d2-A4B4-0060973D5267}
MCDEFINE_GUID(IID_IMFBitmapSliderPart, 0xb33c3131, 0x96e6, 0x11d2, 0xa4, 0xb4, 0x0, 0x60, 0x97, 0x3d, 0x52, 0x67);

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


class  TMCPixelBucket;
class  TMCGraphicContext;
class  TMCRect;
template <class T> class TMCArray;

/// \addtogroup MCF
/// \{

// ****************************************************************************
//								IMFBitmapSliderPart
// 
/// This interface is used to access the sliders.
///
struct IMFBitmapSliderPart : public IMCUnknown
{

public:
	virtual TMCPixelBucket*		GetBackground	() = 0 ;
	virtual int32				GetActiveThumb	() = 0;
	virtual real32				GetIndexValue	(int32 index) = 0;
	virtual TMCArray<real32>*	GetThumbsValues	() = 0;
	virtual void				SetThumbsValues	(TMCArray<real32>* newValues) = 0;
	virtual	void				SelfDraw		(TMCGraphicContext& ,const TMCRect&) = 0;
};

/// \}


#endif // __IMFBitmapSliderPart__