submodule: add rive-cpp to rive-tizen as submodule
[platform/core/uifw/rive-tizen.git] / submodule / include / shapes / paint / stroke.hpp
1 #ifndef _RIVE_STROKE_HPP_
2 #define _RIVE_STROKE_HPP_
3 #include "generated/shapes/paint/stroke_base.hpp"
4 #include "shapes/path_space.hpp"
5 namespace rive
6 {
7         class StrokeEffect;
8         class Stroke : public StrokeBase
9         {
10         private:
11                 StrokeEffect* m_Effect = nullptr;
12
13         public:
14                 RenderPaint* initRenderPaint(ShapePaintMutator* mutator) override;
15                 PathSpace pathSpace() const override;
16                 void draw(Renderer* renderer, CommandPath* path) override;
17                 void addStrokeEffect(StrokeEffect* effect);
18                 bool hasStrokeEffect() { return m_Effect != nullptr; }
19                 void invalidateEffects();
20
21         protected:
22                 void thicknessChanged() override;
23                 void capChanged() override;
24                 void joinChanged() override;
25         };
26 } // namespace rive
27
28 #endif