#pragma once namespace ui { class Image { public: std::unique_ptr m_data; int width = 0; int height = 0; int comp = 4; bool load(std::string filename); const uint8_t* data() const { return m_data.get(); } int size() const { return width * height * comp; } void create(int w, int h) { width = w; height = h; comp = 4; m_data = std::make_unique(size()); } void copy_from(const uint8_t* data) { std::copy(data, data + size(), m_data.get()); } void flip(); void create() { m_data = std::make_unique(size()); } }; }