#ifndef __MLX_PUT_PIXEL_MANAGER__ #define __MLX_PUT_PIXEL_MANAGER__ #include namespace mlx { class PutPixelManager { public: PutPixelManager(NonOwningPtr renderer) : p_renderer(renderer) {} // Returns a valid pointer when a new texture has been created NonOwningPtr DrawPixel(int x, int y, std::uint64_t draw_layer, int color); void ResetRenderData(); ~PutPixelManager() = default; private: std::unordered_map> m_placements; std::vector> m_textures; NonOwningPtr p_renderer; std::size_t m_current_texture_index = 0; }; } #endif