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