#ifndef MausEreignis_H #define MausEreignis_H #include #include "Vec3.h" namespace Framework { const int M_Links = 0; const int M_Mitte = 1; const int M_Rechts = 2; const int ME_PLinks = 0; const int ME_PRechts = 1; const int ME_PMitte = 2; const int ME_RLinks = 3; const int ME_RRechts = 4; const int ME_RMitte = 5; const int ME_DKLinks = 6; const int ME_DKRechts = 7; const int ME_DKMitte = 8; const int ME_Betritt = 9; const int ME_Leaves = 10; const int ME_Bewegung = 11; const int ME_UScroll = 12; const int ME_DScroll = 13; const int ME_RScroll = 14; const int ME_LScroll = 15; //! Stores a specific mouse input from the user struct MouseEvent { //! Type of input int id; //! X coordinate on screen relative to the drawing position int mx; //! Y coordinate on screen relative to the drawing position int my; //! Stores whether the input has already been processed bool verarbeitet; //! Stores whether the mouse event is inside the object //! that contains this object bool insideParent; //! original X coordinate int originalX; //! original Y coordinate int originalY; }; //! Stores a specific mouse input from the user in 3D struct MouseEvent3D { //! Type of input int id; //! The position of the mouse in the world Vec3 pos; //! The direction the camera is pointing Vec3 dir; //! Stores whether the input has already been processed bool verarbeitet; }; typedef std::function MausAktion; //! Default mouse event callback function //! \param param An arbitrary parameter //! \param obj The drawing that calls this function //! \param te The mouse event to process //! \return (true) if the calling drawing should continue processing //! the event. (false) otherwise. Always returns (true) DLLEXPORT bool _ret1ME(void* param, void* obj, MouseEvent me); //! Default mouse event callback function //! \param param An arbitrary parameter //! \param obj The drawing that calls this function //! \param te The mouse event to process //! \return (true) if the calling drawing should continue processing //! the event. (false) otherwise. Always returns (true) and closes the //! window that called it (may only be set on windows) DLLEXPORT bool _closeWindowME(void* param, void* obj, MouseEvent me); } // namespace Framework #endif