blob: 71e1c13e03e7979db508eba0874f59d26fc8fdc4 [file] [log] [blame]
#ifndef _RIVE_NESTED_ARTBOARD_HPP_
#define _RIVE_NESTED_ARTBOARD_HPP_
#include "rive/generated/nested_artboard_base.hpp"
#include "rive/hit_info.hpp"
#include <stdio.h>
namespace rive {
class ArtboardInstance;
class NestedAnimation;
class NestedArtboard : public NestedArtboardBase {
private:
Artboard* m_Artboard = nullptr; // might point to m_Instance, and might not
std::unique_ptr<ArtboardInstance> m_Instance; // may be null
std::vector<NestedAnimation*> m_NestedAnimations;
public:
NestedArtboard();
~NestedArtboard();
StatusCode onAddedClean(CoreContext* context) override;
void draw(Renderer* renderer) override;
Core* hitTest(HitInfo*, const Mat2D&) override;
void addNestedAnimation(NestedAnimation* nestedAnimation);
void nest(Artboard* artboard);
StatusCode import(ImportStack& importStack) override;
Core* clone() const override;
bool advance(float elapsedSeconds);
void update(ComponentDirt value) override;
};
} // namespace rive
#endif