#pragma once

#include <SFML/Graphics/RenderTarget.hpp>
#include <SFML/Graphics/VertexArray.hpp>
#include <memory>

#include "core/line.h"

class LineSFML : public kku::Line
{
public:
    explicit LineSFML(sf::RenderTarget * const render_target);
    virtual void setPosition(const kku::Point& p1, const kku::Point& p2) override;
    virtual void setColor(const kku::Color& c1, const kku::Color& c2) override;
    virtual void display() override;

private:
    sf::RenderTarget * const _render_target;
    sf::VertexArray _vertex;
};