2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
18 * @file FUiCtrlOverlayPanel.cpp
19 * @brief This is the implementation file for OverlayPanel class.
21 * This cpp file contains the implementation of OverlayPanel class. @n
23 #include <FUiCtrlOverlayPanel.h>
24 #include <FBaseSysLog.h>
25 #include "FUiCtrl_OverlayPanelImpl.h"
27 using namespace Tizen::Base;
28 using namespace Tizen::Graphics;
29 using namespace Tizen::Ui;
31 namespace Tizen { namespace Ui { namespace Controls
34 OverlayPanel::OverlayPanel(void)
38 OverlayPanel::~OverlayPanel(void)
43 OverlayPanel::Construct(const Rectangle& rect)
45 _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
46 SysAssertf(pOverlayPanelImpl == null, "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
48 pOverlayPanelImpl = _OverlayPanelImpl::CreateOverlayPanelImplN(this, rect);
49 result r = GetLastResult();
50 SysTryReturn(NID_UI_CTRL, pOverlayPanelImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
52 _pControlImpl = pOverlayPanelImpl;
58 OverlayPanel::SetRendererRotation(OverlayPanel::Rotation rotation)
60 _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
61 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
63 pOverlayPanelImpl->SetRendererRotation(rotation);
64 result r = GetLastResult();
65 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
67 SetLastResult(E_SUCCESS);
71 OverlayPanel::SetRendererSize(Dimension& dim)
73 _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
74 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
76 pOverlayPanelImpl->SetRendererSize(dim);
77 result r = GetLastResult();
78 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
80 SetLastResult(E_SUCCESS);
84 OverlayPanel::SetRendererAspectRatio(bool fix)
86 _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
87 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
89 pOverlayPanelImpl->SetRendererAspectRatio(fix);
90 result r = GetLastResult();
91 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
93 SetLastResult(E_SUCCESS);
97 OverlayPanel::SetInputBuffer(const Dimension& destDim, const ByteBuffer& srcBuffer, const Dimension& srcDim, BufferPixelFormat srcFormat)
99 _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
100 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
102 result r = pOverlayPanelImpl->SetInputBuffer(destDim, srcBuffer, srcDim, srcFormat);
103 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
109 OverlayPanel::GetBackgroundBufferInfo(BufferInfo& info) const
111 const _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
112 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
114 result r = pOverlayPanelImpl->GetBackgroundBufferInfo(info);
115 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
121 OverlayPanel::GetMaskingColor(void) const
123 const _OverlayPanelImpl* pOverlayPanelImpl = _OverlayPanelImpl::GetInstance(*this);
124 SysAssertf(pOverlayPanelImpl != null, "Not yet constructed. Construct() should be called before use.");
126 Color maskingColor = pOverlayPanelImpl->GetMaskingColor();
128 SetLastResult(E_SUCCESS);
133 }}} // Tizen::Ui::Controls