Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / scenes / FUiScenesSceneTransition.cpp
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.cpp
20  * @brief       This is the implementation file of the %SceneTransition class.
21  *
22  */
23
24 #include <FUiScenesSceneTransition.h>
25 #include <FBaseSysLog.h>
26 #include "FUiScenes_SceneTransitionImpl.h"
27
28
29 using namespace Tizen::Base;
30
31
32 namespace Tizen { namespace Ui { namespace Scenes
33 {
34
35 SceneTransition::SceneTransition(void)
36         : __pSceneTransitionImpl(null)
37 {
38         __pSceneTransitionImpl = new (std::nothrow) _SceneTransitionImpl();
39         SysTryReturnVoidResult(NID_UI_SCENES, __pSceneTransitionImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
40                                                    GetErrorMessage(E_OUT_OF_MEMORY));
41 }
42
43 SceneTransition::SceneTransition(const SceneTransition& rhs)
44         : __pSceneTransitionImpl(null)
45 {
46         if (this != &rhs)
47         {
48                 __pSceneTransitionImpl = new (std::nothrow) _SceneTransitionImpl(*_SceneTransitionImpl::GetInstance(rhs));
49                 SysTryReturnVoidResult(NID_UI_SCENES, __pSceneTransitionImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
50                                                            GetErrorMessage(E_OUT_OF_MEMORY));
51         }
52 }
53
54 SceneTransition::SceneTransition(SceneTransitionDirection direction, const SceneId& destinationSceneId,
55                                                                  SceneTransitionAnimationType animationType,
56                                                                  SceneHistoryOption historyOption, SceneDestroyOption destroyOption)
57         : __pSceneTransitionImpl(null)
58 {
59         __pSceneTransitionImpl = new (std::nothrow) _SceneTransitionImpl(direction, destinationSceneId, animationType,
60                                                                                                                                            historyOption, destroyOption);
61         SysTryReturnVoidResult(NID_UI_SCENES, __pSceneTransitionImpl != null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
62                                                    GetErrorMessage(E_OUT_OF_MEMORY));
63 }
64
65 SceneTransition&
66 SceneTransition::operator =(const SceneTransition& rhs)
67 {
68         if (this != &rhs)
69         {
70                 __pSceneTransitionImpl->operator=(*_SceneTransitionImpl::GetInstance(rhs));
71         }
72         return *this;
73 }
74
75 bool
76 SceneTransition::Equals(const Object& rhs) const
77 {
78         const SceneTransition* pSceneTransition = dynamic_cast<const SceneTransition*>(&rhs);
79         if (pSceneTransition != null)
80         {
81                 return __pSceneTransitionImpl->Equals(*_SceneTransitionImpl::GetInstance(*pSceneTransition));
82         }
83         return false;
84 }
85
86 int
87 SceneTransition::GetHashCode(void) const
88 {
89         return __pSceneTransitionImpl->GetHashCode();
90 }
91
92 SceneTransition::~SceneTransition(void)
93 {
94         delete __pSceneTransitionImpl;
95 }
96
97 result
98 SceneTransition::SetDirection(SceneTransitionDirection direction)
99 {
100         ClearLastResult();
101         return __pSceneTransitionImpl->SetDirection(direction);
102 }
103
104 SceneTransitionDirection
105 SceneTransition::GetDirection(void) const
106 {
107         return __pSceneTransitionImpl->GetDirection();
108 }
109
110 result
111 SceneTransition::SetDestinationSceneId(const SceneId& sceneId)
112 {
113         ClearLastResult();
114         return __pSceneTransitionImpl->SetDestinationSceneId(sceneId);
115 }
116
117 SceneId
118 SceneTransition::GetDestinationSceneId(void) const
119 {
120         return __pSceneTransitionImpl->GetDestinationSceneId();
121 }
122
123 result
124 SceneTransition::SetAnimationType(SceneTransitionAnimationType animationType)
125 {
126         ClearLastResult();
127         return __pSceneTransitionImpl->SetAnimationType(animationType);
128 }
129
130 SceneTransitionAnimationType
131 SceneTransition::GetAnimationType(void) const
132 {
133         return __pSceneTransitionImpl->GetAnimationType();
134 }
135
136 result
137 SceneTransition::SetHistoryOption(SceneHistoryOption historyOption)
138 {
139         ClearLastResult();
140         return __pSceneTransitionImpl->SetHistoryOption(historyOption);
141 }
142
143 SceneHistoryOption
144 SceneTransition::GetHistoryOption(void) const
145 {
146         return __pSceneTransitionImpl->GetHistoryOption();
147 }
148
149 result
150 SceneTransition::SetDestroyOption(SceneDestroyOption destroyOption)
151 {
152         ClearLastResult();
153         return __pSceneTransitionImpl->SetDestroyOption(destroyOption);
154 }
155
156 SceneDestroyOption
157 SceneTransition::GetDestroyOption(void) const
158 {
159         return __pSceneTransitionImpl->GetDestroyOption();
160 }
161
162 } } } // Tizen::Ui::Scenes