blob: 3a2f98fb97edfb68d17f2648b34bc04ab10310db [file] [log] [blame] [edit]
#ifndef _RIVE_MGR_HPP_
#define _RIVE_MGR_HPP_
#include "rive/scene.hpp"
#include "rive/file.hpp"
#include <memory>
namespace rive
{
class Factory;
class ArtboardInstance;
} // namespace rive
class RiveMgr
{
rive::Factory* m_Factory;
rive::rcp<rive::File> m_File;
std::unique_ptr<rive::ArtboardInstance> m_Artboard;
std::unique_ptr<rive::Scene> m_Scene;
bool loadArtboard(const char path[], const char artboard[]);
public:
RiveMgr(rive::Factory* factory);
~RiveMgr();
bool loadAnimation(const char path[],
const char artboard[],
const char animation[]);
bool loadMachine(const char path[],
const char artboard[],
const char machine[]);
rive::Scene* scene() const { return m_Scene.get(); }
static rive::rcp<rive::File> loadFile(const char filename[],
rive::Factory*);
};
#endif