[dali_2.3.20] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / transition-effects / cube-transition-cross-effect.h
1 #ifndef DALI_TOOLKIT_CUBE_TRANSITION_CROSS_EFFECT_H
2 #define DALI_TOOLKIT_CUBE_TRANSITION_CROSS_EFFECT_H
3
4 /*
5  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20 // INTERNAL INCLUDES
21 #include <dali-toolkit/devel-api/transition-effects/cube-transition-effect.h>
22
23 namespace Dali
24 {
25 namespace Toolkit
26 {
27 namespace Internal DALI_INTERNAL
28 {
29 /**
30    * CubeTransitionCrossEffect implementation class
31    */
32 class CubeTransitionCrossEffect;
33
34 } // namespace DALI_INTERNAL
35
36 /**
37  * SubClass of CubeTransitionEffect
38  * Rotate the neighboring cubes in perpendicular directions to transition from one image to another
39  */
40 class DALI_TOOLKIT_API CubeTransitionCrossEffect : public CubeTransitionEffect
41 {
42 public:
43   /**
44    * Create an initialized CubeTransitionCrossEffect
45    * @param[in] numRows How many rows of cubes
46    * @param[in] numColumns How many columns of cubes
47    * @return The initialized CubeTransitionCrossEffect object
48    */
49   static CubeTransitionCrossEffect New(unsigned int numRows, unsigned int numColumns);
50
51 public: // Not intended for developer use
52   /**
53    * Creates a handle using the Toolkit::Internal implementation.
54    * @param[in]  implementation  The Control implementation.
55    */
56   DALI_INTERNAL CubeTransitionCrossEffect(Internal::CubeTransitionCrossEffect& implementation);
57
58   /**
59    * Allows the creation of this Control from an Internal::CustomActor pointer.
60    * @param[in]  internal  A pointer to the internal CustomActor.
61    */
62   DALI_INTERNAL CubeTransitionCrossEffect(Dali::Internal::CustomActor* internal);
63
64 }; // class CubeTransitionCrossEffect
65
66 } // namespace Toolkit
67
68 } // namespace Dali
69
70 #endif // DALI_TOOLKIT_CUBE_TRANSITION_CROSS_EFFECT_H