blob: 02192130e67164f9bf36f1598e5dc083743442e1 [file] [log] [blame]
#ifndef _RIVE_BACKBOARD_IMPORTER_HPP_
#define _RIVE_BACKBOARD_IMPORTER_HPP_
#include "rive/importers/import_stack.hpp"
#include <unordered_map>
#include <vector>
namespace rive {
class Artboard;
class NestedArtboard;
class Backboard;
class FileAsset;
class FileAssetReferencer;
class BackboardImporter : public ImportStackObject {
private:
Backboard* m_Backboard;
std::unordered_map<int, Artboard*> m_ArtboardLookup;
std::vector<NestedArtboard*> m_NestedArtboards;
std::vector<FileAsset*> m_FileAssets;
std::vector<FileAssetReferencer*> m_FileAssetReferencers;
int m_NextArtboardId;
public:
BackboardImporter(Backboard* backboard);
void addArtboard(Artboard* artboard);
void addMissingArtboard();
void addNestedArtboard(NestedArtboard* artboard);
void addFileAsset(FileAsset* asset);
void addFileAssetReferencer(FileAssetReferencer* referencer);
StatusCode resolve() override;
const Backboard* backboard() const { return m_Backboard; }
};
} // namespace rive
#endif