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

		IMFImageControlPart.h

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

		Author:	Arnaud 
		Date:	06/29/99

		COM interface to internal TMFImageControlPart objects.

		Revision History

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

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

#ifndef __IMFImageControlPart__
#define __IMFImageControlPart__

#if CP_PRAGMA_ONCE
#pragma once
#endif

#include "MCCompObj.h"

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

MCDEFINE_GUID(IID_IMFImageControlPart, 0x7624fe21, 0x2e8a, 0x11d3, 0xab, 0x9b, 0x0, 0x10, 0x4b, 0x6e, 0xac, 0xa9);

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



//** PUBLIC CONSTANTS ***************************************************

namespace EMFPartMessage
{
	enum
	{												//All Broadcasts send a TMFImageControlPart*
		kMsg_TrackingControlBegin		= 'CTrB', 
		kMsg_TrackingControlInside		= 'CTrI',
		kMsg_TrackingControlOutside		= 'CTrO',
		kMsg_TrackingControlEnd			= 'CTrE'
	};
}

enum EImageControlState
{
	kUnpressed = 0,
	kPressed,
	kUnpressedMouseOver,
	kUnpressedHilite,
	kPressedMouseOver,
	kPressedHilite,
	kDisabled,
	kUndefinedValue,
	kNumImages
}; 



/******************************************************************************\
*                                                                              *
*           IMFImageControlPart                                                *
*                                                                              *
\******************************************************************************/

struct IMFImageControlPart : public IMCUnknown
{
	virtual void MCCOMAPI SetImageID (EImageControlState inImageIndex, ResourceID inImageID) = 0;
};


#endif