#ifndef POS_SLIDER_H
#define POS_SLIDER_H

#include "core/bounds.h"
#include "core/fxfont.h"

class PositionSlider {

    FXFont font;

    Bounds2D bounds;
    float percent;
    float mouseover;
    float mouseover_elapsed;
    float fade_time;
    float alpha;

    vec3 slidercol;

    float capwidth;
    std::string caption;

    void drawSlider(float position) const;
public:
    PositionSlider(float percent = 0.0f);

    void setColour(vec3 col);

    void setCaption(const std::string& cap);

    void setPercent(float percent);

    void resize();

    void show();

    const Bounds2D& getBounds() const;

    bool isVisible() const;
    bool isMouseOver(const vec2& pos) const;
    bool mouseMove(const vec2& pos, float* percent_ptr);
    bool click(const vec2& pos, float* percent_ptr);
    void logic(float dt);
    void draw(float dt);
};

#endif
