Globals.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef Globals_H
  2. #define Globals_H
  3. #include "Punkt.h"
  4. #include "Critical.h"
  5. #ifndef Global
  6. #define Global extern
  7. #endif
  8. struct HINSTANCE__; //! windows.h
  9. namespace Framework
  10. {
  11. class ThreadRegister; //! Thread.h
  12. class Thread; //! Thread.h
  13. class Model3DList; //! Model3DList.h
  14. class TexturList; //! TexturList.h
  15. class Datei; //! Datei.h
  16. class DLLRegister; //! DLLRegister.h
  17. #ifdef WIN32
  18. class Maus; //! Maus.h
  19. class WFensterArray; //! Fenster.h
  20. Global WFensterArray WFensterA;
  21. Global bool MausTrack;
  22. Global Maus MausZeiger;
  23. Global bool msgExit;
  24. Global Punkt mausPos;
  25. #endif
  26. Global bool TastenStand[ 255 ];
  27. Global bool MausStand[ 3 ];
  28. Global Model3DList *m3dRegister;
  29. Global bool istInitialisiert;
  30. Global ThreadRegister *thRegister;
  31. Global bool logEnabled;
  32. Global Datei *logFile;
  33. Global Critical logC;
  34. Global HINSTANCE__ *_hinst;
  35. Global DLLRegister *dlls;
  36. #ifdef WIN32
  37. //! Gibt die Koordinaten der Maus auf dem Bildschirm zurück
  38. DLLEXPORT const Punkt &getMausPos();
  39. #endif
  40. //! Gibt zurück, ob eine Taste der Maus momentan gedrückt wird
  41. //! \param taste Die Taste, die geprüft werden soll
  42. //! Beispiel: getMausStand( M_Links ); (Benötigt include <MausEreignis.h>
  43. DLLEXPORT bool getMausStand( int taste );
  44. //! Gibt zurück, ob eine Taste auf der tastatur momentan gedrückt wird
  45. //! \param taste Die Taste, die überprüft werden soll
  46. //! Beispiel: getTastenStand( T_Enter ); (Benötogt include <TastaturEreignis.h>
  47. DLLEXPORT bool getTastenStand( unsigned char taste );
  48. //! Legt fest, ob eine Taste auf der tastatur momentan gedrückt wird
  49. //! Der Tastenstand wird vom Framework selbst verwaltet und muss nicht mit dieser Funktion gesetzt werden
  50. //! \param taste Die Taste, deren Status gesetzt werden soll
  51. //! \param st Ob die Taste momentan gedrückt wird. (true), wenn ja. (false) sonnst.
  52. DLLEXPORT void setTastenStand( unsigned char taste, bool st );
  53. //! Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück
  54. DLLEXPORT Model3DList *zM3DRegister();
  55. //! Initialisiert das Framework
  56. //! Wird in der (WinMain) des Frameworks automatisch aufgerufen
  57. DLLEXPORT void initFramework( HINSTANCE__ *hInst = 0 );
  58. //! Gibt den duch (initFramework) benutzten Arbeitsspeicher wieder frei
  59. //! Wird in der (WinMain) des Frameworks automatisch aufgerufen
  60. DLLEXPORT void releaseFramework();
  61. //! Überprüft, ob ein bestimmter Zeiger auf ein Gültiges Thread Objekt zeigt
  62. //! \param t Der zeiger, der überprüft werden soll
  63. //! \return 1, falls der Zeiger in Ordnung ist. 0, falls der Zeiger auf kein existentes Thread Objekt zeigt
  64. DLLEXPORT bool istThreadOk( Thread *t );
  65. //! Gibt das Thread Register des Frameworks zurück
  66. DLLEXPORT ThreadRegister *getThreadRegister();
  67. //! Legt fest ob Log Nachrichten gespeichert werden sollen
  68. DLLEXPORT void setLogEnabled( bool le );
  69. //! Speichert eine Zeile in die Logdatei
  70. //! \param txt die zu Speichernde Nachricht
  71. DLLEXPORT void logLine( char *txt );
  72. //! Gibt das DLL Register zurück, in dem alle zurzeit dynamisch geladenen DLL Dateien hinterlegt sind
  73. DLLEXPORT DLLRegister *getDLLRegister();
  74. #ifdef WIN32
  75. //! gibt eine Referenz auf die Maus zurück
  76. DLLEXPORT Maus &getMaus();
  77. #endif
  78. }
  79. #endif