Merge "TextField is re-laied out after its properties are changed." into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-vector-animation-renderer.cpp
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include <dali/devel-api/adaptor-framework/vector-animation-renderer.h>
19 #include <dali/public-api/object/base-object.h>
20 #include <toolkit-application.h>
21
22 namespace Dali
23 {
24
25 namespace Internal
26 {
27
28 namespace Adaptor
29 {
30
31 class VectorAnimationRenderer: public Dali::BaseObject
32 {
33 public:
34
35   VectorAnimationRenderer( const std::string& url )
36   : mUrl( url ),
37     mRenderer(),
38     mWidth( 0 ),
39     mHeight( 0 )
40   {
41   }
42
43   void SetRenderer( Dali::Renderer renderer )
44   {
45     mRenderer = renderer;
46   }
47
48   void SetSize( uint32_t width, uint32_t height )
49   {
50     mWidth = width;
51     mHeight = height;
52   }
53
54   bool StartRender()
55   {
56     return true;
57   }
58
59   void StopRender()
60   {
61   }
62
63   void Render( uint32_t frameNumber )
64   {
65   }
66
67   uint32_t GetTotalFrameNumber() const
68   {
69     return 5;
70   }
71
72   float GetFrameRate() const
73   {
74     return 60.0f;
75   }
76
77 public:
78
79   std::string mUrl;
80   Dali::Renderer mRenderer;
81   uint32_t mWidth;
82   uint32_t mHeight;
83
84 };
85
86 inline VectorAnimationRenderer& GetImplementation( Dali::VectorAnimationRenderer& renderer )
87 {
88   DALI_ASSERT_ALWAYS( renderer && "VectorAnimationRenderer handle is empty." );
89   BaseObject& handle = renderer.GetBaseObject();
90   return static_cast< Internal::Adaptor::VectorAnimationRenderer& >( handle );
91 }
92
93 inline const VectorAnimationRenderer& GetImplementation( const Dali::VectorAnimationRenderer& renderer )
94 {
95   DALI_ASSERT_ALWAYS( renderer && "VectorAnimationRenderer handle is empty." );
96   const BaseObject& handle = renderer.GetBaseObject();
97   return static_cast< const Internal::Adaptor::VectorAnimationRenderer& >( handle );
98 }
99
100 } // namespace Adaptor
101
102 } // namespace Internal
103
104
105 /********************************************************************************/
106 /*********************************  PUBLIC CLASS  *******************************/
107 /********************************************************************************/
108
109 VectorAnimationRenderer VectorAnimationRenderer::New( const std::string& url )
110 {
111   Internal::Adaptor::VectorAnimationRenderer* animationRenderer = new Internal::Adaptor::VectorAnimationRenderer( url );
112
113   return VectorAnimationRenderer( animationRenderer );
114 }
115
116 VectorAnimationRenderer::VectorAnimationRenderer()
117 {
118 }
119
120 VectorAnimationRenderer::~VectorAnimationRenderer()
121 {
122 }
123
124 VectorAnimationRenderer::VectorAnimationRenderer( Internal::Adaptor::VectorAnimationRenderer* internal )
125 : BaseHandle( internal )
126 {
127 }
128
129 VectorAnimationRenderer::VectorAnimationRenderer( const VectorAnimationRenderer& handle )
130 : BaseHandle( handle )
131 {
132 }
133
134 VectorAnimationRenderer& VectorAnimationRenderer::operator=( const VectorAnimationRenderer& rhs )
135 {
136   BaseHandle::operator=( rhs );
137   return *this;
138 }
139
140 void VectorAnimationRenderer::SetRenderer( Renderer renderer )
141 {
142   Internal::Adaptor::GetImplementation( *this ).SetRenderer( renderer );
143 }
144
145 void VectorAnimationRenderer::SetSize( uint32_t width, uint32_t height )
146 {
147   Internal::Adaptor::GetImplementation( *this ).SetSize( width, height );
148 }
149
150 bool VectorAnimationRenderer::StartRender()
151 {
152   return Internal::Adaptor::GetImplementation( *this ).StartRender();
153 }
154
155 void VectorAnimationRenderer::StopRender()
156 {
157   Internal::Adaptor::GetImplementation( *this ).StopRender();
158 }
159
160 void VectorAnimationRenderer::Render( uint32_t frameNumber )
161 {
162   Internal::Adaptor::GetImplementation( *this ).Render( frameNumber );
163 }
164
165 uint32_t VectorAnimationRenderer::GetTotalFrameNumber() const
166 {
167   return Internal::Adaptor::GetImplementation( *this ).GetTotalFrameNumber();
168 }
169
170 float VectorAnimationRenderer::GetFrameRate() const
171 {
172   return Internal::Adaptor::GetImplementation( *this ).GetFrameRate();
173 }
174
175 } // namespace Dali;
176