#pragma once
#include <SFML/Graphics.hpp>

class LowLevelDisplaySFML {
public:
    LowLevelDisplaySFML(int width, int height);
    bool init();
    void draw_buffer(const uint8_t* bit_buffer);
    void refresh();
    bool isOpen() const;
    bool pollEvent(sf::Event& event);
    void close();
private:
    int width, height;
    sf::RenderWindow window;
    sf::Texture texture;
    sf::Sprite sprite;
    std::vector<uint8_t> framebuffer;
};
