#pragma once

//===========================================================================//
// File:	 rollover.h														 //
// Project:  gosGml				                                         //
// Contents:																 //
//---------------------------------------------------------------------------//
// Date      Who    Modification                                             //
// 7/18/00   DP     Created													 //
//---------------------------------------------------------------------------//
// Copyright (C) 2000 Microsoft Corp.						                 //
// All Rights reserved worldwide                                             //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL               //
//===========================================================================//

//rollover is to keep track of a number of image names and locations and provide 'helper' functions that may be used for rollover support


typedef void (*RolloverCallback)(int x, int y, char* ImageName, int ImageID);

class Rollover
{
	public:
		Rollover();
		DWORD Add(ImageData* Image, RolloverCallback AddFunc); //returns ImageID
		void Remove(ImageData* Image);
		void Clear();
		void CallOn(ImageData* Image);
		~Rollover();

	private:
		//Rollover(); //call me not
		Rollover(Rollover&);//don't call this
		Rollover& operator= (Rollover const &); //don't call the assignment operator
		char* IDtoStr(ImageData* Image);
		Hash<RolloverCallback,char*>* H;
};
