MausEreignis.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. // Speichert, ob die Eingabe bereits verarbeitet wurde
  36. bool verarbeitet;
  37. // Speichert, ob sich das mausereignis innerhalb des Objektes befindet, welches dieses Objekt beinhaltet
  38. bool insideParent;
  39. };
  40. // Speichert eine bestimmte Mauseingabe des Nutzers
  41. struct MausEreignis3D
  42. {
  43. // Art der Eingabe
  44. int id;
  45. // Die Position der Maus in der Welt
  46. Vec3< float > pos;
  47. // Die Richtung, in die die Kamera zeigt
  48. Vec3< float > dir;
  49. // Speichert, ob die Eingabe bereits verarbeitet wurde
  50. bool verarbeitet;
  51. };
  52. typedef std::function< bool( void*, void*, MausEreignis ) > MausAktion;
  53. // Standart Maus Ereinis Rückruffunktion
  54. // param: Ein beliebiger Parameter
  55. // obj: Die Zeichnung, welches diese Funktion aufruft
  56. // te: Das Mausereignis, welches verarbeitet werden soll
  57. // return: (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten soll. (false) sonnst.
  58. // Gibt immer (true) zurück
  59. __declspec( dllexport ) bool _ret1ME( void *param, void *obj, MausEreignis me );
  60. // Standart Maus Ereinis Rückruffunktion
  61. // param: Ein beliebiger Parameter
  62. // obj: Die Zeichnung, welches diese Funktion aufruft
  63. // te: Das Mausereignis, welches verarbeitet werden soll
  64. // return: (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten soll. (false) sonnst.
  65. // Gibt immer (true) zurück und schlüißt das Fenster, welches es aufgerufen hat (darf nur auf Fenstern gesetzt werden)
  66. __declspec( dllexport ) bool _closeFensterME( void *param, void *obj, MausEreignis me );
  67. }
  68. #endif