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 FUiCtrl_OverlayPanelImpl.h
19 * @brief This is the header file for the _OverlayPanelImpl class.
21 * This header file contains the declarations of the _OverlayPanelImpl class.
24 #ifndef _FUI_CTRL_INTERNAL_OVERLAY_PANEL_IMPL_H_
25 #define _FUI_CTRL_INTERNAL_OVERLAY_PANEL_IMPL_H_
27 #include <FUiCtrlOverlayRegion.h>
28 #include <FUiCtrlOverlayPanel.h>
29 #include "FUi_ContainerImpl.h"
30 #include "FUiCtrl_OverlayPanel.h"
32 namespace Tizen { namespace Graphics
39 namespace Tizen { namespace Ui { namespace Animations
42 }}} // Tizen::Ui::Animations
44 namespace Tizen { namespace Ui { namespace Controls
46 class _OverlayPanelImpl
47 : public _ContainerImpl
50 class OverlayPanelSizeInfo : public _ControlImpl::SizeInfo
52 virtual Tizen::Graphics::Dimension GetDefaultMinimumSize(_ControlOrientation orientation) const;
55 static _OverlayPanelImpl* CreateOverlayPanelImplN(OverlayPanel* pPublic, const Tizen::Graphics::Rectangle& bounds);
57 virtual ~_OverlayPanelImpl(void);
59 result SetInputBuffer(const Tizen::Graphics::Dimension& destDim, const Tizen::Base::ByteBuffer& srcBuffer, const Tizen::Graphics::Dimension& srcDim, OverlayPanel::BufferPixelFormat srcFormat);
61 void SetRendererRotation(OverlayPanel::Rotation rotation);
62 void SetRendererAspectRatio(bool fix);
63 void SetRendererSize(const Tizen::Graphics::Dimension& dimension);
65 result GetBackgroundBufferInfo(Tizen::Graphics::BufferInfo& bufferInfo) const;
66 Tizen::Graphics::Color GetMaskingColor(void) const;
68 virtual const char* GetPublicClassName(void) const;
70 virtual const _OverlayPanel& GetCore(void) const;
71 virtual _OverlayPanel& GetCore(void);
72 virtual const OverlayPanel& GetPublic(void) const;
73 virtual OverlayPanel& GetPublic(void);
75 static _OverlayPanelImpl* GetInstance(OverlayPanel& overlayPanel);
76 static const _OverlayPanelImpl* GetInstance(const OverlayPanel& overlayPanel);
78 static result SetPixelFormatList(void);
81 static bool overlayPanelPixelFomatList[OVERLAY_REGION_BUFFER_PIXEL_FORMAT_MAX];
84 _OverlayPanelImpl(OverlayPanel* pPublic, _OverlayPanel* pCore);
86 _OverlayPanelImpl(const _OverlayPanelImpl& rhs);
87 _OverlayPanelImpl& operator=(const _OverlayPanelImpl& rhs);
88 }; // _OverlayPanelImpl
90 }}} // Tizen::Ui::Controls
92 #endif // _FUI_CTRL_INTERNAL_OVERLAY_PANEL_IMPL_H_