From 237102965bb7f14979200071810926212dc74967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20Rottst=C3=A4dt?= <6453306+Meisterlala@users.noreply.github.com> Date: Sat, 23 Sep 2023 22:12:21 +0200 Subject: [PATCH] load bitmap from vector --- src/lib/include/paradiso/bitmap.hpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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