#ifndef Globals_H #define Globals_H #include "Punkt.h" #include "Critical.h" #ifndef Global #define Global extern #endif struct HINSTANCE__; //! windows.h namespace Framework { class ThreadRegister; //! Thread.h class Thread; //! Thread.h class Model3DList; //! Model3DList.h class TexturList; //! TexturList.h class Datei; //! Datei.h class DLLRegister; //! DLLRegister.h #ifdef WIN32 class Maus; //! Maus.h class WFensterArray; //! Fenster.h Global WFensterArray WFensterA; Global bool MausTrack; Global Maus MausZeiger; Global bool msgExit; Global Punkt mausPos; #endif Global bool TastenStand[ 255 ]; Global bool MausStand[ 3 ]; Global bool istInitialisiert; Global ThreadRegister* thRegister; Global bool logEnabled; Global Datei* logFile; Global Critical logC; Global HINSTANCE__* _hinst; Global DLLRegister* dlls; Global bool debugDX; #ifdef WIN32 //! Gibt die Koordinaten der Maus auf dem Bildschirm zurück DLLEXPORT const Punkt& getMausPos(); #endif //! Gibt zurück, ob eine Taste der Maus momentan gedrückt wird //! \param taste Die Taste, die geprüft werden soll //! Beispiel: getMausStand( M_Links ); (Benötigt include DLLEXPORT bool getMausStand( int taste ); //! Gibt zurück, ob eine Taste auf der tastatur momentan gedrückt wird //! \param taste Die Taste, die überprüft werden soll //! Beispiel: getTastenStand( T_Enter ); (Benötogt include DLLEXPORT bool getTastenStand( unsigned char taste ); //! Legt fest, ob eine Taste auf der tastatur momentan gedrückt wird //! Der Tastenstand wird vom Framework selbst verwaltet und muss nicht mit dieser Funktion gesetzt werden //! \param taste Die Taste, deren Status gesetzt werden soll //! \param st Ob die Taste momentan gedrückt wird. (true), wenn ja. (false) sonnst. DLLEXPORT void setTastenStand( unsigned char taste, bool st ); //! Initialisiert das Framework //! Wird in der (WinMain) des Frameworks automatisch aufgerufen DLLEXPORT void initFramework( HINSTANCE__* hInst = 0 ); //! Gibt den duch (initFramework) benutzten Arbeitsspeicher wieder frei //! Wird in der (WinMain) des Frameworks automatisch aufgerufen DLLEXPORT void releaseFramework(); //! Überprüft, ob ein bestimmter Zeiger auf ein Gültiges Thread Objekt zeigt //! \param t Der zeiger, der überprüft werden soll //! \return 1, falls der Zeiger in Ordnung ist. 0, falls der Zeiger auf kein existentes Thread Objekt zeigt DLLEXPORT bool istThreadOk( Thread* t ); //! Gibt das Thread Register des Frameworks zurück DLLEXPORT ThreadRegister* getThreadRegister(); //! Legt fest ob Log Nachrichten gespeichert werden sollen DLLEXPORT void setLogEnabled( bool le ); //! Speichert eine Zeile in die Logdatei //! \param txt die zu Speichernde Nachricht DLLEXPORT void logLine( char* txt ); //! Gibt das DLL Register zurück, in dem alle zurzeit dynamisch geladenen DLL Dateien hinterlegt sind DLLEXPORT DLLRegister* getDLLRegister(); //! Versetzt DirectX in den Debug modus DLLEXPORT void setDebugDX( bool debug ); #ifdef WIN32 //! gibt eine Referenz auf die Maus zurück DLLEXPORT Maus& getMaus(); #endif } #endif