#ifndef SCROLLBARNODE_H
#define SCROLLBARNODE_H

#include "scene/gui/guinode.h"

class MeshNode;

class ScrollBarNode : public GUINode
{
protected:
    glm::vec2 m_dimension;
    glm::vec2 m_bar_position;
    glm::vec2 m_bar_dimension;
    glm::vec3 m_bar_color;
    bool m_bar_color_updated;
    int m_index_position;
    int m_bar_size;
    int m_total_size;
    MeshNode* m_bar;
    bool m_bar_resized;
    bool m_bar_moved;

    void computeTransform();

public:
    ScrollBarNode(glm::vec2 dimension,glm::vec3 bar_color);
    void update();
    glm::vec2 getDimension();
    void moveBar(float position);
    void resizeBar(glm::vec2 dimension);
    void setBarColor(glm::vec3 color);
    void setPercent(float percent);
    void setIndex(int index);
    void setBarSize(int size);
    void setSize(int total);
};

#endif // SCROLLBARNODE_H
