Files
pixelarium/src/viewmodels/ImageViewFactory.hpp
T
2025-07-28 11:08:32 +02:00

28 lines
668 B
C++

#pragma once
#include "PixelariumImage.hpp"
#include "resources/resource.hpp"
#include "views/PixelariumImageView.hpp"
namespace pixelarium::ui
{
class ImageViewFactory
{
using Image = imaging::PixelariumImage;
using Pool = resources::ImageResourcePool;
public:
explicit ImageViewFactory(Pool& pool) : image_pool_(pool) {}
[[nodiscard("Image Id is ignored")]]
size_t AddImage(std::unique_ptr<imaging::PixelariumImage> res) const noexcept
{
return image_pool_.SetResource(std::move(res));
}
std::unique_ptr<PixelariumImageView> RenderImage(size_t id);
private:
Pool& image_pool_;
};
} // namespace pixelarium::ui