blob: 7e91f32471a70fbdcbe2de6f54dbcaf770b85bac [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#include "viewer/viewer_content.hpp"
#include "rive/factory.hpp"
#include "rive/renderer.hpp"
class ImageContent : public ViewerContent
{
rive::rcp<rive::RenderImage> m_image;
public:
ImageContent(rive::rcp<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 {}
#ifndef RIVE_SKIP_IMGUI
void handleImgui() override {}
#endif
};
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;
}