blob: f5414215b9b57b3f3eceefacf5e90e9a3a1f87ea [file] [log] [blame]
#ifndef _RIVE_TRIM_PATH_HPP_
#define _RIVE_TRIM_PATH_HPP_
#include "rive/generated/shapes/paint/trim_path_base.hpp"
#include "rive/shapes/paint/stroke_effect.hpp"
#include "rive/renderer.hpp"
#include <stdio.h>
namespace rive {
class TrimPath : public TrimPathBase, public StrokeEffect {
private:
std::unique_ptr<RenderPath> m_TrimmedPath;
RenderPath* m_RenderPath = nullptr;
public:
StatusCode onAddedClean(CoreContext* context) override;
RenderPath* effectPath(MetricsPath* source, Factory*) override;
void invalidateEffect() override;
void startChanged() override;
void endChanged() override;
void offsetChanged() override;
void modeValueChanged() override;
};
} // namespace rive
#endif