Move new mesh API to devel-api.
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ShaderEffects.cpp
1 /*
2  * Copyright (c) 2015 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 <iostream>
19 #include <stdlib.h>
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
22
23 #include <dali-toolkit/devel-api/shader-effects/alpha-discard-effect.h>
24 #include <dali-toolkit/devel-api/shader-effects/bendy-effect.h>
25 #include <dali-toolkit/devel-api/shader-effects/blind-effect.h>
26 #include <dali-toolkit/devel-api/shader-effects/bouncing-effect.h>
27 #include <dali-toolkit/devel-api/shader-effects/carousel-effect.h>
28 #include <dali-toolkit/devel-api/shader-effects/displacement-effect.h>
29 #include <dali-toolkit/devel-api/shader-effects/dissolve-effect.h>
30 #include <dali-toolkit/devel-api/shader-effects/dissolve-local-effect.h>
31 #include <dali-toolkit/devel-api/shader-effects/distance-field-effect.h>
32 #include <dali-toolkit/devel-api/shader-effects/image-region-effect.h>
33 #include <dali-toolkit/devel-api/shader-effects/iris-effect.h>
34 #include <dali-toolkit/devel-api/shader-effects/mask-effect.h>
35 #include <dali-toolkit/devel-api/shader-effects/mirror-effect.h>
36 #include <dali-toolkit/devel-api/shader-effects/motion-blur-effect.h>
37 #include <dali-toolkit/devel-api/shader-effects/motion-stretch-effect.h>
38 #include <dali-toolkit/devel-api/shader-effects/nine-patch-mask-effect.h>
39 #include <dali-toolkit/devel-api/shader-effects/overlay-effect.h>
40 #include <dali-toolkit/devel-api/shader-effects/quadratic-bezier.h>
41 #include <dali-toolkit/devel-api/shader-effects/ripple-effect.h>
42 #include <dali-toolkit/devel-api/shader-effects/ripple2d-effect.h>
43 #include <dali-toolkit/devel-api/shader-effects/shear-effect.h>
44 #include <dali-toolkit/devel-api/shader-effects/soft-button-effect.h>
45 #include <dali-toolkit/devel-api/shader-effects/spot-effect.h>
46 #include <dali-toolkit/devel-api/shader-effects/square-dissolve-effect.h>
47 #include <dali-toolkit/devel-api/shader-effects/swirl-effect.h>
48
49 using namespace Dali;
50
51 int UtcDaliCreateAlphaDiscardEffect(void)
52 {
53   ToolkitTestApplication application;
54
55   ShaderEffect effect = Toolkit::CreateAlphaDiscardEffect();
56   DALI_TEST_CHECK( effect );
57
58   END_TEST;
59 }
60
61 int UtcDaliCreateBendyEffect(void)
62 {
63   ToolkitTestApplication application;
64
65   ShaderEffect effect = Toolkit::CreateBendyEffect();
66   DALI_TEST_CHECK( effect );
67
68   END_TEST;
69 }
70
71 int UtcDaliCreateBlindEffect(void)
72 {
73   ToolkitTestApplication application;
74
75   ShaderEffect effect = Toolkit::CreateBlindEffect();
76   DALI_TEST_CHECK( effect );
77
78   END_TEST;
79 }
80
81 int UtcDaliCreateBouncingEffect(void)
82 {
83   ToolkitTestApplication application;
84
85   Vector4 color(1.0f,1.0f,1.0f,1.0f);
86
87   ShaderEffect effect = Toolkit::CreateBouncingEffect(color);
88   DALI_TEST_CHECK( effect );
89
90   Property::Value value = effect.GetProperty( effect.GetPropertyIndex("uAssignedColor"));
91   DALI_TEST_EQUALS( value.Get<Vector4>(), color, TEST_LOCATION );
92
93   END_TEST;
94 }
95
96 int UtcDaliCreateCarouselEffect(void)
97 {
98   ToolkitTestApplication application;
99
100   ShaderEffect effect = Toolkit::CreateCarouselEffect();
101   DALI_TEST_CHECK( effect );
102
103   END_TEST;
104 }
105
106 int UtcDaliCreateDisplacementEffectDisplaced(void)
107 {
108   ToolkitTestApplication application;
109
110   ShaderEffect effect = Toolkit::CreateDisplacementEffect(Toolkit::DISPLACEMENT_EFFECT_DISPLACED);
111   DALI_TEST_CHECK( effect );
112
113   END_TEST;
114 }
115
116 int UtcDaliCreateDisplacementEffectFixed(void)
117 {
118   ToolkitTestApplication application;
119
120   ShaderEffect effect = Toolkit::CreateDisplacementEffect(Toolkit::DISPLACEMENT_EFFECT_FIXED);
121   DALI_TEST_CHECK( effect );
122
123   END_TEST;
124 }
125
126 int UtcDaliCreateDissolveEffect(void)
127 {
128   ToolkitTestApplication application;
129
130   ShaderEffect effect = Toolkit::CreateDissolveEffect();
131   DALI_TEST_CHECK( effect );
132
133   END_TEST;
134 }
135
136 int UtcDaliCreateDissolveEffectMediumPrecision(void)
137 {
138   ToolkitTestApplication application;
139
140   ShaderEffect effect = Toolkit::CreateDissolveEffect(false);
141   DALI_TEST_CHECK( effect );
142
143   END_TEST;
144 }
145
146 int UtcDaliCreateDissolveLocalEffect(void)
147 {
148   ToolkitTestApplication application;
149
150   ShaderEffect effect = Toolkit::CreateDissolveLocalEffect(0);
151   DALI_TEST_CHECK( effect );
152
153   END_TEST;
154 }
155
156 int UtcDaliCreateDistanceFieldEffect(void)
157 {
158   ToolkitTestApplication application;
159
160   ShaderEffect effect = Toolkit::CreateDistanceFieldEffect();
161   DALI_TEST_CHECK( effect );
162
163   END_TEST;
164 }
165
166 int UtcDaliCreateImageRegionEffect(void)
167 {
168   ToolkitTestApplication application;
169
170   ShaderEffect effect = Toolkit::CreateImageRegionEffect();
171   DALI_TEST_CHECK( effect );
172
173   END_TEST;
174 }
175
176 int UtcDaliCreateIrisEffect(void)
177 {
178   ToolkitTestApplication application;
179
180   ShaderEffect effect = Toolkit::CreateIrisEffect();
181   DALI_TEST_CHECK( effect );
182
183   END_TEST;
184 }
185
186 int UtcDaliCreateMaskEffect(void)
187 {
188   ToolkitTestApplication application;
189
190   BufferImage image = CreateBufferImage();
191   ShaderEffect effect = Toolkit::CreateMaskEffect(image);
192   DALI_TEST_CHECK( effect );
193
194   END_TEST;
195 }
196
197 int UtcDaliCreateMirrorEffect(void)
198 {
199   ToolkitTestApplication application;
200
201   BufferImage image = CreateBufferImage();
202   ShaderEffect effect = Toolkit::CreateMirrorEffect();
203   DALI_TEST_CHECK( effect );
204
205   END_TEST;
206 }
207
208 int UtcDaliCreateMotionBlurEffect(void)
209 {
210   ToolkitTestApplication application;
211
212   unsigned int sampleCount(4);
213   ShaderEffect effect = Toolkit::CreateMotionBlurEffect(sampleCount);
214   DALI_TEST_CHECK( effect );
215
216   Property::Value value = effect.GetProperty( effect.GetPropertyIndex("uNumSamples"));
217   DALI_TEST_EQUALS( value.Get<float>(), (float)sampleCount, TEST_LOCATION );
218
219   END_TEST;
220 }
221
222 int UtcDaliCreateMotionStretchEffect(void)
223 {
224   ToolkitTestApplication application;
225
226   ShaderEffect effect = Toolkit::CreateMotionStretchEffect();
227   DALI_TEST_CHECK( effect );
228
229   END_TEST;
230 }
231
232 int UtcDaliCreateOverlayEffect(void)
233 {
234   ToolkitTestApplication application;
235
236   BufferImage image = CreateBufferImage();
237   ShaderEffect effect = Toolkit::CreateOverlayEffect(image);
238   DALI_TEST_CHECK( effect );
239
240   END_TEST;
241 }
242
243 int UtcDaliCreateQuadraticBezier(void)
244 {
245   ToolkitTestApplication application;
246
247   ShaderEffect effect = Toolkit::CreateQuadraticBezier(3,false);
248   DALI_TEST_CHECK( effect );
249
250   END_TEST;
251 }
252
253 int UtcDaliCreateQuadraticBezierFilled(void)
254 {
255   ToolkitTestApplication application;
256
257   ShaderEffect effect = Toolkit::CreateQuadraticBezier(3,true);
258   DALI_TEST_CHECK( effect );
259
260   END_TEST;
261 }
262
263 int UtcDaliCreateRipple2DEffect(void)
264 {
265   ToolkitTestApplication application;
266
267   ShaderEffect effect = Toolkit::CreateRipple2DEffect();
268   DALI_TEST_CHECK( effect );
269
270   END_TEST;
271 }
272
273 int UtcDaliCreateRippleEffect(void)
274 {
275   ToolkitTestApplication application;
276
277   ShaderEffect effect = Toolkit::CreateRippleEffect();
278   DALI_TEST_CHECK( effect );
279
280   END_TEST;
281 }
282
283 int UtcDaliCreateShearEffect(void)
284 {
285   ToolkitTestApplication application;
286
287   ShaderEffect effect = Toolkit::CreateShearEffect();
288   DALI_TEST_CHECK( effect );
289
290   END_TEST;
291 }
292
293 int UtcDaliSoftButtonEffectElliptical(void)
294 {
295   ToolkitTestApplication application;
296
297   ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_ELLIPTICAL);
298   DALI_TEST_CHECK( effect );
299
300   END_TEST;
301 }
302
303 int UtcDaliSoftButtonEffectRectangular(void)
304 {
305   ToolkitTestApplication application;
306
307   ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_RECTANGULAR);
308   DALI_TEST_CHECK( effect );
309
310   END_TEST;
311 }
312
313 int UtcDaliSoftButtonEffectFixed(void)
314 {
315   ToolkitTestApplication application;
316
317   ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_FIXED);
318   DALI_TEST_CHECK( effect );
319
320   END_TEST;
321 }
322
323 int UtcDaliCreateSpotEffect(void)
324 {
325   ToolkitTestApplication application;
326
327   ShaderEffect effect = Toolkit::CreateSpotEffect();
328   DALI_TEST_CHECK( effect );
329
330   END_TEST;
331 }
332
333 int UtcDaliCreateSquareDissolveEffect(void)
334 {
335   ToolkitTestApplication application;
336
337   ShaderEffect effect = Toolkit::CreateSquareDissolveEffect();
338   DALI_TEST_CHECK( effect );
339
340   END_TEST;
341 }
342
343 int UtcDaliSwirlEffect(void)
344 {
345   ToolkitTestApplication application;
346
347   ShaderEffect effect = Toolkit::CreateSwirlEffect(false);
348   DALI_TEST_CHECK( effect );
349
350   END_TEST;
351 }
352
353 int UtcDaliSwirlEffectWrap(void)
354 {
355   ToolkitTestApplication application;
356
357   ShaderEffect effect = Toolkit::CreateSwirlEffect(true);
358   DALI_TEST_CHECK( effect );
359
360   END_TEST;
361 }