#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 Model3DList *m3dRegister; Global bool istInitialisiert; Global ThreadRegister *thRegister; Global bool logEnabled; Global Datei *logFile; Global Critical logC; Global HINSTANCE__ *_hinst; Global DLLRegister *dlls; #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 ); //! Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück DLLEXPORT Model3DList *zM3DRegister(); //! 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(); #ifdef WIN32 //! gibt eine Referenz auf die Maus zurück DLLEXPORT Maus &getMaus(); #endif } #endif