MausEreignis.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef MausEreignis_H
  2. #define MausEreignis_H
  3. #include "Vec3.h"
  4. #include <functional>
  5. namespace Framework
  6. {
  7. const int M_Links = 0;
  8. const int M_Mitte = 1;
  9. const int M_Rechts = 2;
  10. const int ME_PLinks = 0;
  11. const int ME_PRechts = 1;
  12. const int ME_PMitte = 2;
  13. const int ME_RLinks = 3;
  14. const int ME_RRechts = 4;
  15. const int ME_RMitte = 5;
  16. const int ME_DKLinks = 6;
  17. const int ME_DKRechts = 7;
  18. const int ME_DKMitte = 8;
  19. const int ME_Betritt = 9;
  20. const int ME_Leaves = 10;
  21. const int ME_Bewegung = 11;
  22. const int ME_UScroll = 12;
  23. const int ME_DScroll = 13;
  24. const int ME_RScroll = 14;
  25. const int ME_LScroll = 15;
  26. // Speichert eine bestimmte Mauseingabe des Nutzers
  27. struct MausEreignis
  28. {
  29. // Art der Eingabe
  30. int id;
  31. // X koordinate auf dem Bildschirm relativ zur Zeichnungposition
  32. int mx;
  33. // Y Koordinate auf dem Bildschirm relativ zur Zeichnungposition
  34. int my;
  35. // X Koordinate auf dem Bildschirm zur linken oberen Ecke
  36. int rmx;
  37. // Y Koordinate auf dem Bildschirm zur linken oberen Ecke
  38. int rmy;
  39. // Speichert, ob die Eingabe bereits verarbeitet wurde
  40. bool verarbeitet;
  41. };
  42. // Speichert eine bestimmte Mauseingabe des Nutzers
  43. struct MausEreignis3D
  44. {
  45. // Art der Eingabe
  46. int id;
  47. // Die Position der Maus in der Welt
  48. Vec3< float > pos;
  49. // Die Richtung, in die die Kamera zeigt
  50. Vec3< float > dir;
  51. // Speichert, ob die Eingabe bereits verarbeitet wurde
  52. bool verarbeitet;
  53. };
  54. typedef std::function< bool( void*, void*, MausEreignis ) > MausAktion;
  55. // Standart Maus Ereinis Rückruffunktion
  56. // param: Ein beliebiger Parameter
  57. // obj: Die Zeichnung, welches diese Funktion aufruft
  58. // te: Das Mausereignis, welches verarbeitet werden soll
  59. // return: (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten soll. (false) sonnst.
  60. // Gibt immer (true) zurück
  61. __declspec( dllexport ) bool _ret1ME( void *param, void *obj, MausEreignis me );
  62. // Standart Maus Ereinis Rückruffunktion
  63. // param: Ein beliebiger Parameter
  64. // obj: Die Zeichnung, welches diese Funktion aufruft
  65. // te: Das Mausereignis, welches verarbeitet werden soll
  66. // return: (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten soll. (false) sonnst.
  67. // Gibt immer (true) zurück und schlüißt das Fenster, welches es aufgerufen hat (darf nur auf Fenstern gesetzt werden)
  68. __declspec( dllexport ) bool _closeFensterME( void *param, void *obj, MausEreignis me );
  69. }
  70. #endif