| #ifndef _RIVE_GROUP_EFFECT_HPP_ | |
| #define _RIVE_GROUP_EFFECT_HPP_ | |
| #include "rive/generated/shapes/paint/group_effect_base.hpp" | |
| #include "rive/shapes/paint/effects_container.hpp" | |
| #include "rive/shapes/paint/stroke_effect.hpp" | |
| #include <stdio.h> | |
| namespace rive | |
| { | |
| class TargetEffect; | |
| class StrokeEffect; | |
| class GroupEffect : public GroupEffectBase, | |
| public EffectsContainer, | |
| public StrokeEffect | |
| { | |
| public: | |
| void addTargetEffect(TargetEffect* effect); | |
| void invalidateEffects(StrokeEffect* effect) override; | |
| void invalidateEffects() override; | |
| void updateEffect(PathProvider* pathProvider, | |
| const ShapePaintPath* source, | |
| const ShapePaint* shapePaint) override; | |
| EffectsContainer* parentPaint() override; | |
| void addPathProvider(PathProvider* component) override; | |
| void addStrokeEffect(StrokeEffect* effect) override; | |
| void invalidateEffect(PathProvider* effect) override; | |
| void buildDependencies() override; | |
| private: | |
| std::vector<TargetEffect*> m_targetEffects; | |
| }; | |
| } // namespace rive | |
| #endif |