MausEreignis.h 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #ifndef MausEreignis_H
  2. #define MausEreignis_H
  3. #include <functional>
  4. #include "Vec3.h"
  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,
  38. //! welches dieses Objekt beinhaltet
  39. bool insideParent;
  40. //! original X koordinate
  41. int originalX;
  42. //! original Y koordinate
  43. int originalY;
  44. };
  45. //! Speichert eine bestimmte Mauseingabe des Nutzers
  46. struct MausEreignis3D
  47. {
  48. //! Art der Eingabe
  49. int id;
  50. //! Die Position der Maus in der Welt
  51. Vec3<float> pos;
  52. //! Die Richtung, in die die Kamera zeigt
  53. Vec3<float> dir;
  54. //! Speichert, ob die Eingabe bereits verarbeitet wurde
  55. bool verarbeitet;
  56. };
  57. typedef std::function<bool(void*, void*, MausEreignis)> MausAktion;
  58. //! Standart Maus Ereinis Rückruffunktion
  59. //! \param param Ein beliebiger Parameter
  60. //! \param obj Die Zeichnung, welches diese Funktion aufruft
  61. //! \param te Das Mausereignis, welches verarbeitet werden soll
  62. //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
  63. //! soll. (false) sonnst. Gibt immer (true) zurück
  64. DLLEXPORT bool _ret1ME(void* param, void* obj, MausEreignis me);
  65. //! Standart Maus Ereinis Rückruffunktion
  66. //! \param param Ein beliebiger Parameter
  67. //! \param obj Die Zeichnung, welches diese Funktion aufruft
  68. //! \param te Das Mausereignis, welches verarbeitet werden soll
  69. //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
  70. //! soll. (false) sonnst. Gibt immer (true) zurück und schlüißt das Fenster,
  71. //! welches es aufgerufen hat (darf nur auf Fenstern gesetzt werden)
  72. DLLEXPORT bool _closeFensterME(void* param, void* obj, MausEreignis me);
  73. } // namespace Framework
  74. #endif