Fix to adjust the position of the partial Frame
[platform/framework/native/uifw.git] / inc / FUiScenesSceneTransition.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file        FUiScenesSceneTransition.h
20  * @brief       This is the header file for the %SceneTransition class.
21  *
22  * This header file contains the declarations of the %SceneTransition class.
23  */
24
25 #ifndef _FUI_SCENES_SCENE_TRANSITION_H_
26 #define _FUI_SCENES_SCENE_TRANSITION_H_
27
28 #include <FBaseString.h>
29 #include <FUiScenesTypes.h>
30
31
32 namespace Tizen { namespace Ui { namespace Scenes
33 {
34
35 /**
36  * @class       SceneTransition
37  * @brief       This class is the %SceneTransition class of a Tizen native application.
38  *
39  * @since       2.0
40  *
41  * The %SceneTransition class contains transition information, such as transition direction, transition destination,
42  * animation type, history option, and destroy option. @n
43  *
44  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/scene_management.htm">Scene Management</a>.
45  */
46 class _OSP_EXPORT_ SceneTransition
47         : public Tizen::Base::Object
48 {
49 public:
50         /**
51          * This is the default constructor for this class.
52          *
53          * @since       2.0
54          */
55         SceneTransition(void);
56
57         /**
58          * Copying of objects using this copy constructor is allowed.
59          *
60          * @since       2.0
61          *
62          * @param[in]   rhs             An instance of %SceneTransition
63          */
64         SceneTransition(const SceneTransition& rhs);
65
66         /**
67          * Initializes this instance of %SceneTransition with the specified parameters.
68          *
69          * @since       2.0
70          *
71          * @param[in]   direction                       The transition direction
72          * @param[in]   destinationSceneId      The scene ID of transition destination
73          * @param[in]   animationType           The transition animation type
74          * @param[in]   historyOption           The history option whether to add the current scene to the history or not
75          * @param[in]   destroyOption           The destroy option whether to destroy the current scene or not
76          */
77         SceneTransition(SceneTransitionDirection direction, const SceneId& destinationSceneId,
78                                         SceneTransitionAnimationType animationType,
79                                         SceneHistoryOption historyOption, SceneDestroyOption destroyOption);
80
81         /**
82          * Assigns the value of the specified instance to the current instance of %SceneTransition.
83          *
84          * @since       2.0
85          *
86          * @param[in]   rhs             An instance of %SceneTransition
87          */
88         SceneTransition& operator =(const SceneTransition& rhs);
89
90         /**
91          * Checks whether the specified instance of %SceneTransition equals the current instance.
92          *
93          * @since       2.0
94          *
95          * @return              @c true if the specified instance equals the current instance, @n
96          *                              else @c false
97          * @param[in]   rhs             An instance of %SceneTransition
98          * @remarks             This method returns @c false if the specified object is not Scene.
99          */
100         virtual bool Equals(const Object& rhs) const;
101
102         /**
103          * Gets the hash value of the current instance.
104          *
105          * @since       2.0
106          *
107          * @return              The hash value of the current instance
108          */
109         virtual int GetHashCode(void) const;
110
111         /**
112          * This destructor overrides Tizen::Base::Object::~Object().
113          *
114          * @since       2.0
115          */
116         virtual ~SceneTransition(void);
117
118
119 //      result SetTransitionId(TransitionId& transitionId);
120
121         /**
122          * Sets the scene transition direction.
123          *
124          * @since       2.0
125          *
126          * @return              An error code
127          * @param[in]   direction               The transition direction
128          * @exception   E_SUCCESS               The method is successful.
129          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
130          *
131          */
132         result SetDirection(SceneTransitionDirection direction);
133
134         /**
135          * Gets the scene transition direction.
136          *
137          * @since       2.0
138          *
139          * @return              The direction of scene transition
140          *
141          */
142         SceneTransitionDirection GetDirection(void) const;
143
144         /**
145          * Sets the scene transition destination scene.
146          *
147          * @since       2.0
148          *
149          * @return              An error code
150          * @param[in]   sceneId                 The scene ID of transition destination
151          * @exception   E_SUCCESS               The method is successful.
152          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
153          *
154          */
155         result SetDestinationSceneId(const SceneId& sceneId);
156
157         /**
158          * Gets the scene transition destination scene.
159          *
160          * @since       2.0
161          *
162          * @return              The scene ID of transition destination
163          *
164          */
165         SceneId GetDestinationSceneId(void) const;
166
167         /**
168          * Sets the scene transition animation type.
169          *
170          * @since       2.0
171          *
172          * @return              An error code
173          * @param[in]   animationType   The transition animation type
174          * @exception   E_SUCCESS               The method is successful.
175          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
176          *
177          */
178         result SetAnimationType(SceneTransitionAnimationType animationType);
179
180         /**
181          * Gets the scene transition animation type.
182          *
183          * @since       2.0
184          *
185          * @return              The transition animation type
186          *
187          */
188         SceneTransitionAnimationType GetAnimationType(void) const;
189
190         /**
191          * Sets the scene transition history option.
192          *
193          * @since       2.0
194          *
195          * @return              An error code
196          * @param[in]   historyOption   The history option whether to add the current scene to the history or not
197          * @exception   E_SUCCESS               The method is successful.
198          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
199          *
200          */
201         result SetHistoryOption(SceneHistoryOption historyOption);
202
203         /**
204          * Gets the scene transition history option.
205          *
206          * @since       2.0
207          *
208          * @return              The history option
209          *
210          */
211         SceneHistoryOption GetHistoryOption(void) const;
212
213         /**
214          * Sets the scene transition destroy option.
215          *
216          * @since       2.0
217          *
218          * @return              An error code
219          * @param[in]   destroyOption   The destroy option whether to destroy the current scene or not
220          * @exception   E_SUCCESS               The method is successful.
221          * @exception   E_INVALID_ARG   The specified input parameter is invalid.
222          *
223          */
224         result SetDestroyOption(SceneDestroyOption destroyOption);
225
226         /**
227          * Gets the scene transition destroy option.
228          *
229          * @since       2.0
230          *
231          * @return              The destroy option
232          *
233          */
234         SceneDestroyOption GetDestroyOption(void) const;
235
236 protected:
237         //
238         // This method is for internal use only. Using this method can cause behavioral,
239         // security-related, and consistency-related issues in the application.
240         //
241         // @since       2.0
242         //
243         virtual void SceneTransition_Reserved1(void) {}
244
245         //
246         // This method is for internal use only. Using this method can cause behavioral,
247         // security-related, and consistency-related issues in the application.
248         //
249         // @since       2.0
250         //
251         virtual void SceneTransition_Reserved2(void) {}
252
253         //
254         // This method is for internal use only. Using this method can cause behavioral,
255         // security-related, and consistency-related issues in the application.
256         //
257         // @since       2.0
258         //
259         virtual void SceneTransition_Reserved3(void) {}
260
261 private:
262         friend class _SceneTransitionImpl;
263         class _SceneTransitionImpl* __pSceneTransitionImpl;
264
265 }; // SceneTransition
266 } } } // Tizen::Ui::Scenes
267
268 #endif // _FUI_SCENES_SCENE_TRANSITION_H_