blob: 4475198bcfb40cda3c229816968361e8b97d0060 [file] [log] [blame]
#ifndef _RIVE_PATH_COMPOSER_HPP_
#define _RIVE_PATH_COMPOSER_HPP_
#include "rive/component.hpp"
namespace rive
{
class Shape;
class CommandPath;
class RenderPath;
class PathComposer : public Component
{
private:
Shape* m_Shape;
std::unique_ptr<CommandPath> m_LocalPath;
std::unique_ptr<CommandPath> m_WorldPath;
bool m_deferredPathDirt;
public:
PathComposer(Shape* shape);
Shape* shape() const { return m_Shape; }
void buildDependencies() override;
void onDirty(ComponentDirt dirt) override;
void update(ComponentDirt value) override;
CommandPath* localPath() const { return m_LocalPath.get(); }
CommandPath* worldPath() const { return m_WorldPath.get(); }
};
} // namespace rive
#endif