#ifndef TRACKBALLCAMERANODE_H
#define TRACKBALLCAMERANODE_H

#include "cameranode.h"
#include "SparrowRenderer/trackballcamera.h"
#include "SparrowInput/input.h"

/**
 * @brief The CameraNode class is a scene node that can be used by the renderer
 */
class TrackBallCameraNode : public CameraNode, public TrackBallCamera
{
    Input *m_input;
    int m_action_move;
    int m_action_rotate;

public:
    TrackBallCameraNode(Input *input);

    void setInputs(int action_move, int action_rotate)
    {
        m_action_move = action_move;
        m_action_rotate = action_rotate;
    }

    virtual void update();

    virtual Camera *getCamera() { return this; }
};

#endif // TRACKBALLCAMERANODE_H
