#pragma once #include #include class LowLevelDisplaySFML { public: LowLevelDisplaySFML(int width, int height); bool init(); void draw_buffer(const uint8_t* bit_buffer); void refresh(); bool isOpen() const; std::optional pollEvent(); void close(); private: int width, height; sf::RenderWindow window; sf::Texture texture; std::optional sprite; std::vector framebuffer; };