Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_OverlayPanel.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  * @file        FUiCtrl_OverlayPanel.h
19  * @brief       This is the header file for the _OverlayPanel class.
20  *
21  * This header file contains the declarations of the _OverlayPanel class.
22  *
23  */
24 #ifndef _FUI_CTRL_INTERNAL_OVERLAY_PANEL_H_
25 #define _FUI_CTRL_INTERNAL_OVERLAY_PANEL_H_
26
27 #include <FUiCtrlOverlayPanel.h>
28 #include "FUi_Control.h"
29
30 namespace Tizen { namespace Graphics
31 {
32 class Rectangle;
33 class Dimension;
34 }} // Tizen::Graphics
35
36 namespace Tizen { namespace Ui { namespace Controls
37 {
38 class _OverlayAgent;
39
40 class _OverlayPanel
41         : public _Control
42         , virtual public Tizen::Base::Runtime::IEventListener
43         , virtual public Tizen::Ui::_IUiEventListener
44         , virtual public Tizen::Ui::_IUiEventPreviewer
45 {
46 public:
47         static _OverlayPanel* CreateOverlayPanelN(const Tizen::Graphics::Rectangle& bounds);
48
49         virtual ~_OverlayPanel(void);
50
51         result SetInputBuffer(const Tizen::Graphics::Dimension& destDim, const Tizen::Base::ByteBuffer& srcBuffer,
52                                                         const Tizen::Graphics::Dimension& srcDim, OverlayPanel::BufferPixelFormat srcFormat);
53         result SetRendererRotation(OverlayPanel::Rotation rotation);
54         result SetRendererAspectRatio(bool aspectRatio);
55         result SetRendererSize(const Tizen::Graphics::Dimension& dimension);
56
57         result GetBackgroundBufferInfo(Tizen::Graphics::BufferInfo& info) const;
58         Tizen::Graphics::Color GetMaskingColor(void) const;
59
60 //      virtual result OnAttaching(const Tizen::Ui::_Control* pParent);
61         virtual void OnDraw(void);
62         virtual void OnVisibleStateChanged(void);
63         //virtual result OnAttached(void);
64         virtual result OnAttachedToMainTree(void);
65         virtual void OnBoundsChanged(void);
66
67         virtual void OnChildDetached(const _Control& child);
68
69
70 private:
71         _OverlayPanel(const Tizen::Graphics::Rectangle& bounds);
72
73         _OverlayPanel(const _OverlayPanel& rhs);
74         _OverlayPanel& operator=(const _OverlayPanel& rhs);
75
76 private:
77         _OverlayAgent* __pOverlayAgent;
78 }; // _OverlayPanel
79
80 }}} // Tizen::Ui::Controls
81
82 #endif // _FUI_CTRL_INTERNAL_OVERLAY_PANEL_H_
83