#ifndef Punkt_H
#define Punkt_H
//---Include---

#include "Vec2.h"

namespace Framework
{
    //! benötigte includes
    class WFenster; //! aus Fenster.h

    typedef Vec2< int > Punkt; //! Speichert die ganzzahligen Koordinaten eines Punktes


#ifdef WIN32
    //! Gibt die Größe des Bildschirms zurück
    DLLEXPORT Punkt BildschirmGröße( int mId = 0 );
    //! Giebt die Mitte des Bildschirms zurück
    DLLEXPORT Punkt Bildschirmmitte( int mId = 0 );
    //! Giebt einen Punkt zurück, der als Fensterposition verwendet werden kann um das Fenster zu zentrieren
    //! \param f Das Fenster, welches Zentriert werden soll
    DLLEXPORT Punkt Bildschirmmitte( WFenster *f, int mId = 0 );
#endif
    //! Prüft, ob ein Punkt weiter rechts unten ist als ein anderer
    //! \return (true), wenn der linke Punkt weiter rechts und weiter unten ist. (false) sonnst
    DLLEXPORT bool operator >( const Punkt &a, const Punkt &b );
    //! Prüft, ob ein Punkt weiter links obem ist als ein anderer
    //! \return (true), wenn der linke Punkt weiter links und weiter oben ist. (false) sonnst
    DLLEXPORT bool operator <( const Punkt &a, const Punkt &b );
    //! Prüft, ob ein Punkt weiter links obem ist als ein anderer
    //! \return (true), wenn der linke Punkt weiter links und weiter oben oder gleich ist. (false) sonnst
    DLLEXPORT inline bool operator <=( const Punkt &a, const Punkt &b );
    //! Prüft, ob ein Punkt weiter rechts unten ist als ein anderer
    //! \return (true), wenn der linke Punkt weiter rechts und weiter unten oder gleich ist. (false) sonnst
    DLLEXPORT inline bool operator >=( const Punkt &a, const Punkt &b );
}
#endif