#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; int m_index_position; int m_bar_size; int m_total_size; glm::vec2 m_bar_dimension; glm::vec2 m_last_bar_dimension; glm::vec3 m_bar_color; bool m_bar_color_updated; 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