Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 21, 2019, 4:06:42 PM (5 years ago)
Author:
tkuonen
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapi.h

    r12213 r12217  
    55#include <list>
    66#include <core/input/InputHandler.h>
     7#include <graphics/Camera.h>
     8#include <core/GraphicsManager.h>
     9#include <core/input/InputState.h>
    710
    811namespace orxonox
     
    1821        Vector3 position;
    1922        float radius;
    20         list<ClickEvent> events;
    21         void (*onClickedFunction)();
    22         clickableElement(const Vector3& position,float radius,const list<ClickEvent>& events,void (*onClickedFunction)()):position(position),
    23             radius(radius), events(events), onClickedFunction(onClickedFunction){}
     23        list<MouseButtonCode::ByEnum> buttons;
     24        void (*onClickedFunction)(MouseButtonCode::ByEnum button);
     25        clickableElement(const Vector3& position,float radius,const list<MouseButtonCode::ByEnum>& buttons,void (*onClickedFunction)()):position(position),
     26            radius(radius), buttons(buttons), onClickedFunction(onClickedFunction){}
    2427    };
    2528
     
    3942    std::list<clickableElement> clickEvents;
    4043    std::list<scrollElement> scrollEvents;
     44    Ogre::Camera cam;
     45    IntVector2 mousePos;
     46    InputState* state;
    4147
    4248
    4349public:
    44     enum ClickEvent
    45     {
    46         rightClick,leftClick,middleCLick
    47     };
    4850
    49     MouseAPI();
     51    MouseAPI(Camera& cam);
    5052    ~MouseAPI();
    51     virtual void buttonPressed (MouseButtonCode::ByEnum button);
    52     virtual void buttonReleased(MouseButtonCode::ByEnum button){}
    53     virtual void buttonHeld    (MouseButtonCode::ByEnum button){}
    54     virtual void mouseMoved    (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize);
    55     virtual void mouseScrolled (int abs, int rel);
     53    virtual void buttonPressed (MouseButtonCode::ByEnum button) override;
     54    virtual void buttonReleased(MouseButtonCode::ByEnum button)  override{}
     55    virtual void buttonHeld    (MouseButtonCode::ByEnum button) override{}
     56    virtual void mouseMoved    (IntVector2 abs, IntVector2 rel, IntVector2 clippingSize) override;
     57    virtual void mouseScrolled (int abs, int rel) override;
    5658
    57     void addClickableObject(const Vector3& position,float radius,const list<ClickEvent>& events,void (*onClickedFunction)());
     59    void addClickableObject(const Vector3& position,float radius,const list<MouseButtonCode::ByEnum>& buttons,void (*onClickedFunction)(MouseButtonCode::ByEnum button));
    5860    void addScrollElement(const Vector3& position,float radius,void (*onScrolledFunction)(int abs,int rel,const IntVector2&  mousePos));
    5961    void addScrollElement(void (*onScrolledFunction)(int abs,int rel,const IntVector2&  mousePos));
     62
     63    void changeCamera(Camera& camera);
    6064};
    6165}
Note: See TracChangeset for help on using the changeset viewer.