Revert " modify license, permission and remove ^M char"
[framework/osp/uifw.git] / src / ui / controls / FUiCtrlOverlayPanel.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         FUiCtrlOverlayPanel.cpp
20 * @brief                This is the implementation file for OverlayPanel class.
21 *
22 * This cpp file contains the implementation of OverlayPanel class. @n
23 */
24
25 #include <FBaseSysLog.h>
26 #include <FUiCtrlOverlayPanel.h>
27
28 #include "FUi_CoordinateSystemUtils.h"
29 #include "FUiCtrl_OverlayPanelImpl.h"
30
31 using namespace Tizen::Base;
32 using namespace Tizen::Base::Collection;
33 using namespace Tizen::Graphics;
34 using namespace Tizen::Ui;
35
36 namespace Tizen { namespace Ui { namespace Controls
37 {
38
39 OverlayPanel::OverlayPanel(void)
40 {
41 }
42
43 OverlayPanel::~OverlayPanel(void)
44 {
45 }
46
47 result
48 OverlayPanel::Construct(const Rectangle& rect)
49 {
50         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
51         SysAssertf(pOverlayPanelImpl == null, "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
52
53         pOverlayPanelImpl = _OverlayPanelImpl::CreateOverlayPanelImplN(this, rect);
54         result r = GetLastResult();
55         SysTryReturn(NID_UI_CTRL, pOverlayPanelImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
56
57         _pControlImpl = pOverlayPanelImpl;
58
59         return r;
60 }
61
62 result
63 OverlayPanel::Construct(const FloatRectangle& rect)
64 {
65         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
66         SysAssertf(pOverlayPanelImpl == null, "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
67
68         pOverlayPanelImpl = _OverlayPanelImpl::CreateOverlayPanelImplN(this, rect);
69         result r = GetLastResult();
70         SysTryReturn(NID_UI_CTRL, pOverlayPanelImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
71
72         _pControlImpl = pOverlayPanelImpl;
73
74         return r;
75 }
76
77 void
78 OverlayPanel::SetRendererRotation(OverlayPanel::Rotation rotation)
79 {
80         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
81         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
82
83         pOverlayPanelImpl->SetRendererRotation(rotation);
84         result r = GetLastResult();
85         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
86 }
87
88 void
89 OverlayPanel::SetRendererSize(Dimension& dim)
90 {
91         result r = SetRenderSize(static_cast<const Dimension>(dim));
92         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
93 }
94
95 result
96 OverlayPanel::SetRenderSize(const Dimension& dim)
97 {
98         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
99         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
100
101         result r =pOverlayPanelImpl->SetRenderSize(dim);
102         SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
103
104         return r;
105 }
106
107 result
108 OverlayPanel::SetRenderSize(const FloatDimension& dim)
109 {
110         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
111         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
112
113         result r = pOverlayPanelImpl->SetRenderSize(dim);
114         SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
115
116         return r;
117 }
118
119 result
120 OverlayPanel::SetInputBuffer(const Dimension& destDim, const ByteBuffer& srcBuffer, const Dimension& srcDim, BufferPixelFormat srcFormat)
121 {
122         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
123         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
124
125         result r = pOverlayPanelImpl->SetInputBuffer(destDim, srcBuffer, srcDim, srcFormat);
126         SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
127
128         return r;
129 }
130
131 result
132 OverlayPanel::SetInputBuffer(const FloatDimension& destDim, const ByteBuffer& srcBuffer, const Dimension& srcDim, BufferPixelFormat srcFormat)
133 {
134         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
135         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
136
137         result r = pOverlayPanelImpl->SetInputBuffer(destDim, srcBuffer, srcDim, srcFormat);
138         SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
139
140         return r;
141 }
142
143 result
144 OverlayPanel::GetBackgroundBufferInfo(BufferInfo& info) const
145 {
146         const _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
147         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
148
149         result r = pOverlayPanelImpl->GetBackgroundBufferInfo(info);
150         SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
151
152         return r;
153 }
154
155 void
156 OverlayPanel::SetRendererAspectRatio(bool fix)
157 {
158         _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
159         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
160
161         pOverlayPanelImpl->SetRendererAspectRatio(fix);
162         result r = GetLastResult();
163         SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
164 }
165
166 Color
167 OverlayPanel::GetMaskingColor(void) const
168 {
169         const _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
170         SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
171
172         Color maskingColor = pOverlayPanelImpl->GetMaskingColor();
173
174         SetLastResult(E_SUCCESS);
175         return maskingColor;
176 }
177
178 result
179 OverlayPanel::EvaluateBounds(OverlayPanelEvaluationOption option, Rectangle& rect, bool& modified)
180 {
181         return _OverlayPanelImpl::EvaluateBounds(option, rect, modified);
182 }
183
184 result
185 OverlayPanel::EvaluateBounds(OverlayPanelEvaluationOption option, FloatRectangle& rect, bool& modified)
186 {
187         Rectangle convetedRect = _CoordinateSystemUtils::ConvertToInteger(rect);
188
189         result r = _OverlayPanelImpl::EvaluateBounds(option, convetedRect, modified);
190
191         if(modified)
192         {
193                 rect = _CoordinateSystemUtils::ConvertToFloat(convetedRect);
194         }
195
196         return r;
197 }
198
199 IListT<Tizen::Ui::Controls::OverlayPanel::BufferPixelFormat>*
200 OverlayPanel::GetSupportedBufferPixelFormatListN(void)
201 {
202         return _OverlayPanelImpl::GetSupportedBufferPixelFormatListN();
203 }
204
205 int
206 OverlayPanel::GetWidthUnit(void)
207 {
208         return _OverlayPanelImpl::GetWidthUnit();
209 }
210
211 int
212 OverlayPanel::GetHeightUnit(void)
213 {
214         return _OverlayPanelImpl::GetHeightUnit();
215 }
216
217 int
218 OverlayPanel::GetMaxCount(void)
219 {
220         return _OverlayPanelImpl::GetMaxCount();
221 }
222
223 }}} // Tizen::Ui::Controls
224
225