[Adaptation Layer] Added rive-tizen adaptation layer class.
[platform/core/uifw/rive-tizen.git] / submodule / include / generated / animation / keyframe_base.hpp
1 #ifndef _RIVE_KEY_FRAME_BASE_HPP_
2 #define _RIVE_KEY_FRAME_BASE_HPP_
3 #include "core.hpp"
4 #include "core/field_types/core_uint_type.hpp"
5 namespace rive
6 {
7         class KeyFrameBase : public Core
8         {
9         protected:
10                 typedef Core Super;
11
12         public:
13                 static const uint16_t typeKey = 29;
14
15                 /// Helper to quickly determine if a core object extends another without
16                 /// RTTI at runtime.
17                 bool isTypeOf(uint16_t typeKey) const override
18                 {
19                         switch (typeKey)
20                         {
21                                 case KeyFrameBase::typeKey:
22                                         return true;
23                                 default:
24                                         return false;
25                         }
26                 }
27
28                 uint16_t coreType() const override { return typeKey; }
29
30                 static const uint16_t framePropertyKey = 67;
31                 static const uint16_t interpolationTypePropertyKey = 68;
32                 static const uint16_t interpolatorIdPropertyKey = 69;
33
34         private:
35                 int m_Frame = 0;
36                 int m_InterpolationType = 0;
37                 int m_InterpolatorId = -1;
38         public:
39                 inline int frame() const { return m_Frame; }
40                 void frame(int value)
41                 {
42                         if (m_Frame == value)
43                         {
44                                 return;
45                         }
46                         m_Frame = value;
47                         frameChanged();
48                 }
49
50                 inline int interpolationType() const { return m_InterpolationType; }
51                 void interpolationType(int value)
52                 {
53                         if (m_InterpolationType == value)
54                         {
55                                 return;
56                         }
57                         m_InterpolationType = value;
58                         interpolationTypeChanged();
59                 }
60
61                 inline int interpolatorId() const { return m_InterpolatorId; }
62                 void interpolatorId(int value)
63                 {
64                         if (m_InterpolatorId == value)
65                         {
66                                 return;
67                         }
68                         m_InterpolatorId = value;
69                         interpolatorIdChanged();
70                 }
71
72                 void copy(const KeyFrameBase& object)
73                 {
74                         m_Frame = object.m_Frame;
75                         m_InterpolationType = object.m_InterpolationType;
76                         m_InterpolatorId = object.m_InterpolatorId;
77                 }
78
79                 bool deserialize(uint16_t propertyKey, BinaryReader& reader) override
80                 {
81                         switch (propertyKey)
82                         {
83                                 case framePropertyKey:
84                                         m_Frame = CoreUintType::deserialize(reader);
85                                         return true;
86                                 case interpolationTypePropertyKey:
87                                         m_InterpolationType = CoreUintType::deserialize(reader);
88                                         return true;
89                                 case interpolatorIdPropertyKey:
90                                         m_InterpolatorId = CoreUintType::deserialize(reader);
91                                         return true;
92                         }
93                         return false;
94                 }
95
96         protected:
97                 virtual void frameChanged() {}
98                 virtual void interpolationTypeChanged() {}
99                 virtual void interpolatorIdChanged() {}
100         };
101 } // namespace rive
102
103 #endif