submodule: add rive-cpp to rive-tizen as submodule
[platform/core/uifw/rive-tizen.git] / submodule / include / shapes / clipping_shape.hpp
1 #ifndef _RIVE_CLIPPING_SHAPE_HPP_
2 #define _RIVE_CLIPPING_SHAPE_HPP_
3 #include "generated/shapes/clipping_shape_base.hpp"
4 #include <stdio.h>
5 #include <vector>
6
7 namespace rive
8 {
9         class Shape;
10         class Node;
11         class RenderPath;
12         class ClippingShape : public ClippingShapeBase
13         {
14         private:
15                 std::vector<Shape*> m_Shapes;
16                 Node* m_Source = nullptr;
17                 RenderPath* m_RenderPath = nullptr;
18
19         public:
20                 Node* source() const { return m_Source; }
21                 const std::vector<Shape*>& shapes() const { return m_Shapes; }
22                 StatusCode onAddedClean(CoreContext* context) override;
23                 StatusCode onAddedDirty(CoreContext* context) override;
24                 void buildDependencies() override;
25                 void update(ComponentDirt value) override;
26
27                 RenderPath* renderPath() const { return m_RenderPath; }
28         };
29 } // namespace rive
30
31 #endif