blob: ab244154a8bf9b4363be0f235759fb851e698136 [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#include "viewer/viewer_content.hpp"
#include "rive/factory.hpp"
#include "rive/renderer.hpp"
class ImageContent : public ViewerContent
{
std::unique_ptr<rive::RenderImage> m_image;
public:
ImageContent(std::unique_ptr<rive::RenderImage> image) : m_image(std::move(image)) {}
void handleDraw(rive::Renderer* renderer, double) override
{
renderer->drawImage(m_image.get(), rive::BlendMode::srcOver, 1);
}
void handleResize(int width, int height) override {}
void handleImgui() override {}
};
std::unique_ptr<ViewerContent> ViewerContent::Image(const char filename[])
{
auto bytes = LoadFile(filename);
auto image = RiveFactory()->decodeImage(bytes);
if (image)
{
return rivestd::make_unique<ImageContent>(std::move(image));
}
return nullptr;
}