diff --git a/src/lib/include/paradiso/bitmap.hpp b/src/lib/include/paradiso/bitmap.hpp index c95f861..d75d352 100644 --- a/src/lib/include/paradiso/bitmap.hpp +++ b/src/lib/include/paradiso/bitmap.hpp @@ -54,6 +54,17 @@ struct Bitmap final { return {.size = size, .data = {values...}}; } + /** + * @brief creates a bitmap from RGBA Values + * @param[in] size extent of bitmap + * @param[in] data vector of RGBA values + * @return bitmap with data from this call + */ + static constexpr Bitmap from_data(Size size, std::vector data) noexcept { + assert(data.size() == size.height * size.width); + return {.size = size, .data = data}; + } + /** * @brief fills a bitmap uniformly * @param[in] color RGBA value of a color @@ -87,10 +98,7 @@ struct Bitmap final { return data[y * size.width + x]; } - constexpr void force_change() noexcept - { - change_count++; - } + constexpr void force_change() noexcept { change_count++; } Size size{.width = 0, .height = 0}; //!< extent of bitmap std::vector data{}; //!< data storage