#ifndef Maus_H
#define Maus_H

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

namespace Framework
{
	class Bild; // aus Bild.h
	class Maus; // aus dieser Datei

	namespace MausId
	{
		const int nichts      = 0;
		const int normal      = 1;
		const int hand        = 2;
		const int warten      = 3;
		const int verschieben = 4;
		const int text        = 5;
		const int wahgerecht  = 6;
		const int senkrecht   = 7;
		const int diagonal1   = 8;
		const int diagonal2   = 9;
		const int verboten    = 10;
	}

	class Maus
	{
	private:
		HCURSOR hMaus;
		int ref;

	public:
		// Konstruktor 
		Maus();
		// Destruktor 
		~Maus();
		// nicht constant
		void ladeMaus( int mausId ); // läd eine maus von Windows
		void ladeMaus( Bild *maus ); // läd eine Maus aus eine Bild
		void update(); // setzt die maus
		// constant
		HCURSOR getMausHandle(); // gibt ein Händle zur maus zurück
		// Reference Counting
		Maus *getThis();
		Maus *release();
	};
}

#endif