blob: 8f2ae7d312793e045c6c12d8c7e970a559a656fe [file]
#ifndef _RIVE_DATA_BIND_PATH_HPP_
#define _RIVE_DATA_BIND_PATH_HPP_
#include "rive/generated/data_bind/data_bind_path_base.hpp"
#include <stdio.h>
#include "rive/core/id.hpp"
namespace rive
{
class File;
class DataBindPath : public DataBindPathBase
{
public:
void decodePath(Span<const uint8_t> value) override;
void copyPath(const DataBindPathBase& object) override;
StatusCode import(ImportStack& importStack) override;
std::vector<uint32_t>& path() { return m_pathBuffer; }
const std::vector<uint32_t>& resolvedPath();
void file(File* value);
File* file() { return m_file; };
#ifdef WITH_RIVE_EDITOR
void decodeEditorPath(BinaryReader& reader);
bool hasEditorPath() const { return m_hasEditorPath; }
const std::vector<Id>& editorPath() const { return m_editorPath; }
#endif
void resolved(bool value) { m_resolved = value; }
protected:
std::vector<uint32_t> m_pathBuffer;
private:
File* m_file = nullptr;
bool m_resolved = false;
#ifdef WITH_RIVE_EDITOR
std::vector<Id> m_editorPath;
bool m_hasEditorPath = false;
#endif
};
} // namespace rive
#endif