MausEreignis.h 2.7 KB

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